ArrayCrv - wrong roadlike behaviour?


I expect that with roadlike orientantion option I should get something like with tick mark not with x mark.

I want the object to rotate along curve just in plan while remaining vertical
. Thats not what happening.
What am I doing wrong? /correct example was made in GH

I tried with other program (Microstation), this behaviour was by default. In Rhino i cant even replicate the behaviour with different setttings.

zabradlie po krivke.3dm (7.1 MB)

Hello - here is a script that does that - (2.0 KB)

To use the Python script use RunPythonScript, or a macro:

_-RunPythonScript "Full path to py file inside double-quotes"


1 Like

Thanks, i can do this via GH but the question is why this is not standard in the arraycrv command ? Is the command behaviour currently as it should be or is it flawed?

Hello- the ‘roadlike’ behavior is as designed, yes, the goal is not the same as ‘level’.


so this feature should definitely be added into options within arraycrv command. in civil engineering its the most common thing to array objects which remain vertical but are rotated in plan according to a path. can you pull some strings so this request is not omitted :smiley: ?

1 Like

i agree, that has been a curiosity to me either. orient on crv does the expected, but unfortunately that does not array the objects.


i challenged my collegue that he wont be able to do it in microstation and he did it in three clicks :smiley: i bet 100euros. but he didnot call so the bet was called off fortunately for me :smiley: we are happy there is grasshopper to step in when rhino ends.


How do you do it in Grasshopper please?


use divide curve + perpendicular frames to “slice” your reference curve, play with deconstruct planes and switch axes to get your desired final destination planes. finally use “move” to array your objects from a plane to the planes

Hello Pascal could you please make this an official wish? to add suboption to array along curve so that objects only orient in plan but remain vertical… it is very common situation (for railing posts all the time)

Hello - it is on there -
RH-2913 Rotate in plane

added your nudge.


i have recently played with that and found that if you orient an object to the curve first and use then array, it actually arrays the object keeping the instances normal to the curve. works well… probably everybody knows about that by now, just wanted to throw that in to be sure :smiley:

oh and @pascal that tracker is not public or does not appear to be there at all…

Fixed the visibility on


Hi Ivan

Is there a chance you could post a sample grasshopper file for it please?

This is my sample rhino file with both ArrayCrv (Roadlike and Freeform) failing to follow the curve. Is what you’ve done in Grasshopper a potential fix to such scenario?

array comparison.3dm (2.1 MB)

Hello - if you start out with the object cleanly aligned to the curve, it will do what I think you want -


Hi @pascal , thank you for looking into that. I see you’re starting from the left hand side and aligning the middle of the box to the perpendicular line… you’re right that it creates much better flow, however not perfect… I set the array for 460 (length of the box + 10mm gap), and I get this:

that bit is great!

but then this happens:

Do you get that as well?

Hello - that is not anything that ArrayCrv is doing - the curve is of too small a radius at these locations to fit the box without a collision - If you use History you can slide that starting box in and out along the perp line until it all fits how you like it.


Thank you @pascal , that’s very useful

I am posting
orient (17.4 KB)

just use the 3dm from my original post and reference the curve and a brep into it

So i just tested WIP 8 new stairlike array crv and it produced the exact same result as i achieved with grasshopper.


I think this could/should be added to v7 as an enhancement.