QuerySpline.gh (13.1 KB)
Without changing too much, this can be done by adding / inserting the first item of the list at the end of the list again.
You can also rotate one of the circles so the loops align a little nicer… This is going to be different when your curve isn’t a circle anymore. In that case you would have to create twice as many points and cull half of them.
QuerySpline.gh (21.7 KB)
Wow Martin - what a great little GH solution you created. I always thought it was odd that the Divide object provided tangents rather than normals, and now I see why this is the case. But even if I had seen this I never would have thought of your Cull/Weave/Insert approach. So thanks for showing how that works.
I made a few tweaks to get your solution amenable to 3D printing, and it’s amazing how flexible and easy to manipulate it is. It can also make some quite interesting 2D designs. Here are some quick examples I made using 2 circles and a straight Z extrusion:
I’m going to enhance it with non-circular curves and switch from Z extrusions to lofted surfaces made from stacked curves with different XY scaling. This is a great method indeed; I’m going to have to buy more filament.
Personally I’d use the Flow component to morph the curve from a straight line to another curve. I noticed the end is slightly less bulged and I don’t know how to fix that right now.
tangent_curve.gh (14.2 KB)
Nice one Martin - thanks (again!) I never tried the Flow component before, but using that method shortened up my GH file a bit and resulted in this first test result:
The straight line input in your method really surprised me - I never would have thought about trying that. But what counts (of course) is it works. And the good news is I ended up with a closed Brep. What’s not so good is it’s just plain ugly. But now that I’ve get the basic design squared away I can tweak the parameters and make it pretty.
Map from a straight line to a curve, flat surface to a three dimensional surface or from on mesh to another are all very useful techniques that allow manipulation of complex results in an axis system.