Skip to content

Instantly share code, notes, and snippets.

@Nico-Duduf
Created December 11, 2017 16:32
Show Gist options
  • Save Nico-Duduf/50ac4f66f3b8cc41ba9efcf277cd3cf6 to your computer and use it in GitHub Desktop.
Save Nico-Duduf/50ac4f66f3b8cc41ba9efcf277cd3cf6 to your computer and use it in GitHub Desktop.
After Effects - Export a shape to a file
function exportShapeToFile()
{
var recenter = false;
var comp = app.project.activeItem;
if (!comp) return;
if (!(comp instanceof CompItem)) return;
var props = comp.selectedProperties;
var layer = comp.selectedLayers[0];
var path = props.pop();
var shape = path.value;
var vertices = shape.vertices;
if (recenter)
{
//get center and offset
var sum = [0,0];
for (var i = 0 ; i < vertices.length ; i++)
{
sum = sum + vertices[i];
}
var center = sum/vertices.length;
//adjust values
for (var i = 0 ; i < vertices.length ; i++)
{
vertices[i] = vertices[i] - center;
}
}
var verticesStr = vertices.toSource();
var inTangentsStr = shape.inTangents.toSource();
var outTangentsStr = shape.outTangents.toSource();
var closedStr = shape.closed ? 'true' : 'false';
var file = new File('E:/Shape.jsxinc');
file.open('w');
file.writeln('var ' + layer.name + 'Shape = new Shape();');
file.writeln(layer.name + 'Shape.vertices = ' + verticesStr + ';');
file.writeln(layer.name + 'Shape.inTangents = ' + inTangentsStr + ';');
file.writeln(layer.name + 'Shape.outTangents = ' + outTangentsStr + ';');
file.writeln(layer.name + 'Shape.closed = ' + closedStr + ';');
file.close();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment