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.

1 Like

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

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


1 Like

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.

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


1 Like

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.

1 Like

that page of scripts is the COOLEST!

I mean, “sprinkler”, get outta town!

1 Like

Hi Pascal,

The distribute command used to work like a few months ago around 2021 of July,
but it seems to not work anymore now.
Any thoughts on how to fix this? I tried reinstalling the app, but no luck


Hello - I guess I’ll need an example file where it fails… As far as I know it works.


Hey @miyakawaf2,

Can you run Rhino’s SystemInfo command and post the results?

– Dale

When I type in Distribute, it recognizes the command, but nothing happens after that.


Hi Dale,

Nothing pops up when I type in SystemInfo

@miyakawaf2 - what version of Rhino do you have?

I use Rhino 5

Hello - if you are using the script, please try drag and drop of the rvb file onto Rhino - does it work after that?


wow ! Just found this goldmine. Thank you Pascal.