Tranformations on selected nodes/paths via scripting?

Here is an example that you can run in the Macro Panel:

from AppKit import NSAffineTransform

transform = NSAffineTransform.new()
transform.translateXBy_yBy_(20, 50)
transform.scaleXBy_yBy_(1.1, 0.8)

for node in Layer.selection:
	node.position = transform.transformPoint_(node.position)

See the NSAffineTransform documentation for a list of all supported methods. (Replace colons : with underscore _ in the method names.)

2 Likes