In brief
- ArrayCrv arrays objects along a curve using a specified item count or spacing.
- ArrayCrvOnSrf copies objects along a curve on a surface and orients them relative to the surface normal.
- Basepoint sets the reference point used to place an object on the curve when the object is not already on it.
- Rhino 8 documentation specifies a minimum value of 1 for the item count.
Rhino 8’s official help documentation describes ArrayCrv and ArrayCrvOnSrf as commands for repeating an object along a curve or a curve on a surface. ArrayCrv creates copies along a selected path curve, while ArrayCrvOnSrf places and rotates objects along a curve on a surface. This guide covers the steps and options for both commands in Rhino 8, within the limits stated in the product documentation.
When to use each command
ArrayCrv distributes objects along a curve selected as the path. It can be used for curve-based arrays, such as elements repeated along a line in an architectural model. You can specify either the number of copies or the distance between them. For the item count, enter a value of 1 or greater; when you specify a distance, the curve’s length determines how many items fit.
ArrayCrvOnSrf is intended for cases where the path curve lies on a surface. Objects are placed and rotated along the curve, with their orientation determined by the surface normal. That means the selected surface, as well as the curve itself, is part of the operation.
Arraying along a curve with ArrayCrv
Select the objects to array. The command copies the selected objects along the path curve.
Select the path curve near the end where you want the array to begin. If the object is not on the curve, use the
Basepointoption to set its starting position.Specify the number of items or the distance between them. You can enter an item count of 1 or greater. When you specify a distance, the number of items depends on the curve’s length.
Control how the objects are oriented along the curve. Choose the appropriate orientation behavior for your model from the options below.
The command’s menu path is listed as Array › Transform › Array > Along Curve. In the command line, Items refers to the item count, while Distance refers to the spacing between items. To use only part of a curve as the path, type SubCrv when selecting the curve.
The orientation options change how the copied object responds to bends in the curve:
NoRotationcopies the object to different positions without applying roll, pitch, or yaw.Freeformallows the object to follow all three rotations at once.Roadlikeapplies pitch and yaw but not roll; the y-axis remains parallel to the selected view’s CPlane.Stairlikeapplies yaw only; the x- and y-axes remain parallel to the selected view’s CPlane.Roll,Pitch, andYawspecify rotation around the x-, y-, and z-axes, respectively.
These option names help you choose a rotation behavior; the right choice depends on the shape of the object and the curve. Since the documentation does not recommend a specific orientation for any particular architectural use, choose the appropriate option based on the result.
ArrayCrvOnSrf for a curve on a surface
Select the objects to array and specify a starting point. The documentation notes that this point is usually on the object being copied.
Select the path curve near the beginning of the array, then select the surface.
Position the objects along the curve. Specify their placement by selecting on the curve or entering a distance from the last position.
Use
Divideto define the number of objects andMultipleto set the spacing between them. If you need to use only part of the curve, select a section withSubCrv.
The command’s menu path is Array › Transform › Array > Along Curve on Surface. The key difference is that object orientation is determined by the surface normal. Selecting a surface is therefore a required part of the command workflow, and placement on the curve is evaluated in the context of that surface.
| Setting | Suggested value | Effect |
|---|---|---|
Items | As needed; 1 or greater | Sets the number of items created along the curve. |
Distance | The required spacing | Sets the distance between items; the count depends on the curve’s length. |
Divide | The required number of objects | Sets the number of objects along the curve on the surface. |
Multiple | The required distance | Sets the spacing between objects along the curve on the surface. |
Use in architectural and visualization workflows
For architects, interior designers, and visualization specialists, these commands make it possible to build object arrays tied to a curve directly in the model. When arraying along a curve, choosing a count or spacing determines how the array is defined. With the surface-based method, the surface normal affects object orientation. For that reason, a flat path and a path on a surface should not be treated as the same command workflow.
Clarifying the starting end and the object’s reference point before arraying makes placement easier to control. If the object is not on the curve, consider using Basepoint; if you do not want to use the entire curve, consider selecting a section with SubCrv. In internal workflows, it is important to check that the commands and options match the names used in the Rhino 8 documentation. The source documentation provides no information about hardware requirements, licensing terms, or compatibility with other software, so no specific requirements should be assumed on those matters.
Common mistakes
Treating
ArrayCrvandArrayCrvOnSrfas the same operation: the second command involves selecting a surface and a curve on that surface.Overlooking the starting direction: select the path curve near the end where you want the array to begin.
Failing to specify a reference point when the object is not on the curve: in this case,
Basepointcan be used to define the starting placement.Not checking the orientation option:
NoRotation,Freeform,Roadlike, andStairlikeproduce different rotation behaviors.Confusing
DistancewithItems: the former specifies spacing, while the latter specifies the item count.
Sources
2 sourcesSource texts are not republished; short quotes are marked, everything else is our own summary and commentary.
These two commands in Rhino 8 are practical for architecture and visualization teams that want to build curve-based repetitions in a single array operation rather than copy each one individually. Knowing that the item count and spacing options produce different results helps you create an array that matches the design intent.
For offices in Turkey, it is a good idea to verify the Rhino version, command names, and internal file workflow before putting the commands into practice. The documentation provides no information about hardware, licensing, or compatibility with other software, so no additional requirements should be assumed on those points. The key things to watch for are the starting point and orientation choice.
Frequently asked questions
How do you array objects along a curve in Rhino 8?
With the `ArrayCrv` command, select the objects and the path curve, then specify the item count or spacing. Orientation options control how the objects rotate along the curve.
What does ArrayCrvOnSrf do in Rhino?
ArrayCrvOnSrf arrays objects along a curve on a surface. The surface normal determines the objects’ orientation.
How do you set item spacing in Rhino ArrayCrv?
Use the `Distance` option to set the spacing between items. The item count then depends on the curve’s length.



