ArrayCrv on closed curve

Hello,

Is there any reason why ArrayCrv uses the closest point from the basepoint rather than the curve seam which would seem more consistent ?

I spent almost an hour trying to understand why copying an object from the center on a basic circle wasn’t working properly… until I moved it slightly off center (might as well move it directly on the curve in this case).

Maybe add a command option to choose the base point on curve as well ?

1 Like

I agree that the Curve Seam _crvSeam is the expected start Position for the arrayCrv.

The help/documentation should maybe also mention, if the current Cplane has any influence on the orientation / rotation of the objects.
something like:

World-Coordinates (or c-plan ?) are mapped to the curve Frame…

https://docs.mcneel.com/rhino/7/help/en-us/index.htm#commands/arraycrv.htm

workaround

for a few objects / fast

_divide the target curve
_orientOnCrv (copy-Yes)
(alternative use copy if no rotation is required)

for many or crazy options

make a copy of the target curve
_divide
_trim one of the segemts :nerd_face:
_arrayCrv on the open copy of the curve

example


left shows @magicteddy 's challenge
the closest Point is choosen instead of the expected Curve Seam (dot)
right shows above workarround - trim away a segement and use an open curve
arrayCrv_workaround.3dm (4.6 MB)

:nerd_face:

To be honest, I would never do this in Rhino in the first place. It’s for a training exercice I’m preparing.

… well I just tried to help, based on the Info you provided.

if it is a training exercise I recommend to use a Brep, that shows its orientation more precisely then just a centred dice. I love the “Ab” textobject for those cases - as shown above - they will show as dA if mirrowed.
and will show the un-expected arrayCrv behaviour / implementation much better

kind regards - tom

1 Like

Yes you are absolutely right, the cube I posted above was only a simplification to show the problem.