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âŚ
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.
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.
I need to do the same thing. With our 5-Axis CNC we can âswarfâ (where the bit pretty much Sweeps 2). This works great but if the two controlling curves are different lengths the program (bSolid for Biesse) follows the two curves in a funny way: In essence it assigned a 100% length value to each curve and follows the two curves at the same percentage at all times. This can result in the bit dragging and changing the angle of the surface we are working to create.
The solution is to provide âDirect Xâ lines which tells the bit where it should be, and over rides the dumb 100% length assignment bSolid imposes on the curves.
To do this in rhino I pretty much need to Array 2 as the original poster asked about. The solution provided (thank you @pascal) works in the instance provided because there is no twist. In my case the 2 rails are needed to define the twist.
Iâve attached a file and here are a couple screenshots of my results trying to replicate the solution already in this post. The curve get arrayed with a twist, but reorients (seemingly based on the world CPlane) before starting:
@pascal I see that you remade the surface but I would be looking for arrayed curves at a definable qty or distance. I may be being dumb, does your surface give me that?
Hi Joseph - no, I was just being dumb. However it seems like an array of planes along the curve + interssection with the surface may get you what you need correct?
ArrayCrvOnSrf is going to be problematic because the lengths of the two edges are different so it will not align cleanly at each end of the top line of your shape curve.
-Pascal
Yes, that would work well. Here is how I would brute force it:
ArrayCrv with a point, using the shorter of two curves.
Then drawing a curve from the points to the perpendicular point on the longer curve.
This will keep my bit perpendicular for the most amount of time. This process is doable but slow. I am realizing that I donât actually want an âArray 2â because it would recreate the bSolid problem: skewing the bit, because it is dividing 2 different length lines into two sets of different lengths.
In the images the green lines are perp from the shorter line (right) and the points on the left line show were they would land if I got my way and there was an Array 2
This is very clunky to use but I rtihnk it does it - note: The CPlane X is mapped to the surface normal currently, which is weird but works for now. Note the CPlane and curve orientation in the file Iâll attach It can all get friendlier if it basically does the right thing.
Thank you for your work Pascal. Sadly that doesnât work either. You did array the two curves and the solution is wonderful. In essence though it recreates the problem. It treats each line as a 100% length that is divided equally to itself. So if you enter 11 as the number of items you want arrayed you get 10 equal divisions of Line A and 10 equal divisions of Line B. Div Line A length does not equal Div Line B length. When the closed polycurve profile is forced between these it begins to skew the profile.
That is great, but what I need are lines that are perpendicular between each rail. A closed polycurve is not a requirement. Below is an image of your solution (in red) with green lines showing the perpendicular line between the two rails (so the skewing is evident).
Below is the more tedious solution. Grab one rail. ArrayCrv with a point. Draw a new polycurve connecting to each rail perpendicularly. You end up with a open poly curve (opening circled in red) but lines that bSolid can use to keep the bit perpendicular.
I working on a grasshopper definition that takes to curves and draws a set number of perpendicular curves between them now. In the mean time doing it the slow, click click click route works fine. I appreciate your help and when I have a good Gh def I will share it here.
That should be possible in a script or GH using ClosestPoint to the curves, in turn, for each segment.
Just in case it helps, here is a thing that attempts to make lines as perp as possible between pairs of curves.