How to spread evenly several objects?



With the ‘align’ command we can effectively align objects in a viewport (in 2D), say for example on their bases.
But how to spread evenly these objects ?
(for instance the same gap between each object)



you should probably look into the Array commands…
in this case, it sound’s like ArrayLinear is the one.

(Pascal Golay) #3

Hi Guy- for now, you can try the Distribute script here:

Instructions for loading and using these scripts at the top of the page…



hey @pascal, is ArrayLinear not working in v5 yet? i asked at the mac forum a few weeks ago if it could get hooked up in mac rhino (as i assumed it was just an oversight in the port) but it’s not there yet.

(Pascal Golay) #5

Looks like ArrayLinear it is not on the Mac yet, I’ll see if I can give it a nudge.



It seams to be what I need, thank you very much Pascal, I’ll try to install it ASAP. :smile:

@jeff_hammond : thanks for your suggestion Jeff, but ‘array’ functions tell about copying, and here I just need to re-arrange some existing and different objects.



Also check out the Harmony script, I use it all the time:


i’ve been alternating between a couple of workarounds for arrayLinear and one of them seems like it could be considered for the app.
(one method is drawing a line then arrayCrv).

the other uses Copy… copy an object then select all three of the options (from last point / use last direction / use last distance)… then just use mouse clicks for the amount… seems like there should be a fourth option, array, that lets you enter a number of copies and acting as if all three other boxes were selected.

same thing could go on the rotate tool and possibly other commands which have a copy option.

food for thought

edit- oh… should also be able to have the first copy made being the longest point in the array… so maybe if you enter 5, it would make the copy five more times (or should it be 4 more times?)… But if you enter, say, -5… it will divide the first distance by five and place objects accordingly.


If you have the two end objects placed you can draw a line between the common reference points and use the DIVIDE command to equally space points along that line. Then simply place interior objects by snapping them to the newly created and evenly spaced points.

If your objects are all different and you want them evenly spaced you can use the BOUNDINGBOX command to place a bounding box around each object then snap to the center of the box for spacing.

Just another way.


that page of scripts is the COOLEST!

I mean, “sprinkler”, get outta town!