The thing is that the array needs to begin with the spacing at the first point and end with the spacing at the last point, creating all equal spaces and forcing the first and last copies of the object to the outside of the two points.
The current manual method I use (demonstrated below) doesn’t really take that long to accomplish, but I really feel like, programing-wise, this should be quite achievable and easily translated into a command. I should probably delve into Grasshopper, but I’m not sure when the time will come.
Anyway, to achieve the ‘ArrayBetween’ I have to place the object (with a bounding box if it’s an odd shape) with its outer face on the outside of my 2 points and draw a line between their centers - then I use ArrayCrv. Not labour-intensive, just curious if a command exists or is in the works.
Hi Gijs, Im a relative newbie, as far as im aware to run a script you must enter the command ‘run rhino script’ and select it from where ever you have it saved within your files. Is it possible to save a script within Rhino so you don’t have to try and remember where it was saved and go digging for it?
Choose a line along what you want to have the objects.
Then use “Divide” and divide the line into how many equal length segments you need. After that it gives points on the line on which you can copy the objects you want.
yeah, that’s another good way, it does add an extra step in the process though. Also it does not give you equal divisions if you want to place objects of a certain width BETWEEN two points. If you spread objects 100mm wide along points on a divided line you would end up with 50mm overhanging the end points.
Hello, sorry this is and old thread but the script seems to not work for me.. I added the parenthses but it just blink and nothing (I added it to a button) .. If someone has a clue…
Hey, not sure if this has been added as a standard Rhino command yet (really should be) but I’ve used Claud to write a tool that works really well for this: (Note - sorry if the tools for this have already been created, but hopefully this is a good addition? I think the biggest difference between this tool and the Python scripts that have already been created is that this runs like a normal Rhino command, and not in a menu?)
Replace the path with wherever you saved the file in step 1. Keep the quotes.
Click OK, then Apply/close Options.
That’s it — no compiling, no separate install step. The alias tells Rhino’s Script Editor to run the file directly each time.
Run it. Type arrfit on the command line (or select your object(s) first, then type arrfit) and follow the prompts.
Usage
Select the object(s) to array before running the command, or just run it and click objects then press Enter to confirm the selection.
Run arrfit.
Enter the quantity (total items in the array, including the original). Defaults to your last-used quantity — press Enter to repeat it.
Click the base point — a reference point for the array’s direction and distance; the object doesn’t move to it.
Move toward the end point. Ghost copies of your object(s) preview live at each array position as you move. To change the quantity, just type a new number and press Enter instead of clicking — the preview updates instantly and you’re still on the same prompt, ready to click. Click to confirm the end point.
The last copy in the array ends up displaced from the original by exactly the base→end vector, with the rest evenly spaced along that same line.
Notes / limitations
Built and tested in Rhino 8 on Windows. If you try it on Mac or Rhino 7, the alias/Script Editor mechanics may differ.
The remembered quantity is stored per-Windows-user (AppData), not per file — it carries across different jobs.
This is a script, not a compiled plugin — you can open and edit it freely in Rhino’s Script Editor if you want to tweak anything (e.g. the ghost preview color, which is currently yellow)