Rhino BETA has an all new ArrayCrv command.
What is ArrayCrv?
ArrayCrv has been added to allow you to quickly and easily repeat objects along any curve, making it simple to create patterns, details, and design features that follow a path. Whether you’re adding decorative elements, or laying out repeating components, ArrayCrv gives you full control with minimal setup, saving time while keeping your designs flexible and precise.
Why is there a new ArrayCrv?
Designing with repeating elements along a curve is a common task, but the workflow in the previous ArrayCrv command required multiple steps, frequent trial-and-error, and provided limited feedback. While the original toolset is still available, the improved ArrayCrv has been designed to remove that friction.
With interactive in-viewport controls, an expanded and more intuitive UI, and deeper control over spacing, scale, and layout, ArrayCrv turns what used to be a technical setup into a visual, design-driven experience. You can now see changes instantly, fine-tune results directly in the viewport, and explore more variations without interrupting your creative flow.
The result is a tool that’s faster to learn, easier to use, and more flexible, allowing you to focus on design decisions instead of command settings.
Command Flow
To start the command, simply preselect a curve and run the ArrayCrv command. Then select the object(s) to array using the Object Selection controls. Alternatively, if you do not have a curve preselected, you can use the Select Curve option after running the command.
The new ArrayCrv command combines in-viewport interactive controls and a command dialog with options to control spacing, scale, position, and a variety of layout settings. Using the Source options in the Object Selection controls, you can toggle between Document Object and Block Definition (if blocks are present in the current file).
Note: The in-viewport handles can be double-clicked to allow for entry of exact values.
Finish the command by clicking OK in the dialog to add the result to the document. ArrayCrv also supports History - You can select the objects that were previously arrayed, and run the command again to pick up right where you left off, allowing for easy edits. You can also pick up where you left off on an existing Array by double-clicking the arrayed objects.
Command Dialog and Options
Curve Selection
The Curve Selection section has options to select the curve or edge to use for the array, as well as controls for the span (start and stop of the array) and positioning options for prioritizing placement of object centers at the ends of the span, or centered at kinks for handling sharp corners.
Object Selection
This section allows you to pick a document object or a block definition to use as the object to array. When using blocks, the Select Objects button changes to a drop down list, allowing you to select from blocks that are in the current document.
Match
Already have an array set up the way you like it? Use Match to apply that same setup to other curves. You can select multiple curves at once to duplicate the settings across all of them, and you’re no longer required to pre-select an object first - Match will pick up the object from the array it’s copying. You can also append additional curves to the selection mid-command, and each matched result remains individually editable afterward.
Sizes
Here you will find controls for the object scale controls. You can toggle from 3D to 1D scale options by clicking the scale icon to the left of the UI. Using the locks, you can either maintain a uniform size/scale, or unlock to allow for tapering.
Object Spacing
The spacing between objects can be controlled based on an actual distance, or as a percent. You can use a specific Object Count as well, which will override the Spacing Distance.
Orientation
The options in this section allow you to set the orientation of the objects being arrayed (based on curvature, the World Z direction, the origin, a stair like orientation, or a selected object. You will also find vertical and horizontal alignment settings.
A new Between orientation mode lets you select an existing array of objects to place objects between, such as fence panels between posts, or prongs between gems. Between will try to retain a history link to their parent array.
Transform Adjustments
Using the controls in the Transform Adjustments section, you can control the rotation, pitch, and roll of the object being arrayed. You can use the offsets values to adjust the position in relationship to the curve in the U,V, and N directions.
Try the New ArrayCrv
Our hope is that this creates a more streamlined experience for the layout of repeating design elements. Please try it out and let us know what you think.
We look forward to your feedback!






