Feature Request - Align/Distribute Objects


How easy (hard?) would it be to implement an align/distribute layer (frame? container?)
I am thinking of a container for objects which maintains relative positions of objects positioned within the container.
Perhaps select any two objects within the container, then click and drag on one of them will reposition all other objects proportionally, but without resizing the objects.
Alternatively, click and drag on handles of a bounding box repositions all selected objects within it, without resizing the objects?


There’s the Layer ▸ Rotate and Transform ▸ Align ▸ menu items. Is that what you’re after? You’ll need to select a couple of layers in the layers palette for them to enable. (hold down command to add a new one to your selection).


Yes that’s part way there. I was thinking if the align/distribute functionality could be extended to allow live dragging of selected objects.
I’m guessing simplest implementation would be to drag a corner or edge of bounding box of selection, then all selected objects would be repositioned proportionally to maintain their positions relative to each other, but without resizing the objects
A more fancy implementation might operate on a collection of objects which have been grouped on a layer. The “distributor” tool would require user to select two objects from the group, then clicking and dragging one of the selected objects relative to the other one, would result in all the grouped objects being proportionally repositioned.
One possible use of this capability might be adjusting thought bubbles in a cartoon drawing. For example I might have saved in a library of reusable objects, a thought bubble callout TB1:
TB1.acorn (80 KB)
but to use it in a cartoon I need to have the thought bubbles off to the left as in TB2:
TB2.acorn (88 KB).
Easy if I could select the large cloud as a pivot, then drag the lowest, smallest bubble to desired location, and the other bubbles are automatically repositioned proportionately.
Would this be hard to implement?


I’m not sure off the top of my head what it would take to implement, but we do have to balance feature requests against each other. Maybe this would be useful to have for other folks as well? I’m not sure yet, but we’ll consider it (and if other folks ask for something similar, then it sort of bubbles up in the priority list).