Array along 2 curves

How can we do this in Rhino:
I have 1 object to array along 2 curves.
The black curves shall be the rails.
The red group is the object to array.
image

The picture is done with _ArrayCrv with the upper black curve.
The rotation of the red object is wanted.

But with _ArrayCrv the object misses the lower rail.
Is there a convenient solution for this task?

See attached 3dm.
Along Curves.3dm (41.5 KB)

Only way I know how to do this is Sweep2 3 times - once for the circle, once for the outer “R” profile and once for the inner. Then two PlanarSrf endcaps and join…

S2x3.3dm (391.0 KB)

It would be very nice if you could create one end planar surface and Sweep 1 or 2 the surface

This sort of thing can also be scripted…

Thanks Mitch, but that’s not it.
The geometry is an example only, no need to model something.
Also the object has to be transformed in it’s completeness.
It has to be arrayed along the 2 curves several (100’s) times and always touch the 2 curves.
It would be even better if a 3rd curve is in the game.

Ah, OK, sorry I completely misunderstood the question. ArrayAlongCrv with 2 (or 3) guide curves. Sounds like something Grasshopper can do though.

Hi Charles - here’s a thought… I don’t know if it is quite there.

  1. Move the end and tangent point of the lower curve to a point on the circle ‘perp’

Make a sweep2 from the curves and parts of the circles (SubCrv works nicely)

Extract the center isocurve
image

Set CPlane > Surface to the end of that curve:
image

ArrayCrvOnSrf > Divide

Close maybe…

-Pascal

Thanks Pascal
I don’t get the handling for ArrayCrvOnSrf.
In here no Divide option comes up.
Can explain please?
Along Curves 2.3dm (42.8 KB)

In the options of the tool you can array with a distance or with a number of objects.
I m not in front of my computer I can’t sent a screenshot sorry .
I hope it can help.

Sylvain

No, I can’t, this option are simply not there in here.

Hi Charles - here is how it looks here - this is V7 but 6 is the same.

You do not see that?

-Pascal

2 Likes

Thanks Pascal

I must have done something wrong.
The options are all there.
And it works exactly as expected.
Very good!