Best Way to Fill A Closed 3D Curve?

Is patch the only way to do this in one command?

I’d like to create a surface from a complex closed 3D Curve (attached).
Patch will do it but as shown it’s kinda baggy. I’ve played with stiffness but higher values separate surface edge from curve.

I’ve also tried sweep2 which yields a tighter result but I have to split the curve and add a straight section curve. Would love to hear any ideas on a better workflow.


I guess for something like that I’d probably use BlendSrf. First you need to extrude your curves a bit to make dummy surfaces to blend to–maybe someday you won’t have to do that??–but then you have a ton of control over the flow of the surface.

You could also split it at the ends into two curves, and then loft between them. I’d loft with “Straight Sections” enabled, and then if you want to control the shape in the middle of the surface, use ChangeDegree to bump it up to 2 across the surface, and point edit as desired to get the curvature across the shape you desire. You may need to rebuild your curves to do this, depending on how dense they are.

i also guess - give _loft a try as @sgreenawalt wrote.
if you need more suggestions - please post the file.

Thanks guys, due to difference in line length, loft doesn’t work too well.
So far sweep2 - with ‘add slash’ function - works ok enough. But if anyone has a cooler way of doing this I’ve added the file below. I’ll give Blend Srf a go too.
Curves.3dm (27.2 KB)

Thanks a lot!

Dear @adam.d.hills for best control, you should build both curves with same amout of Control-Points and have them somehow distributed in homogenous - most likely equal spaced - setting.
just a really fast work over, no fine tuning, a bit of bricolage - just to show the principle / give you a starting-point:
if curves have same structure, loft will give a really nice result:

Curves_Loft_forAdamV5.3dm (72.5 KB)

Cool, thanks for this Tom. What is the blue line? Did you just rebuild the curves so they have same amount of control points?

the blue curve in the middle was a initial curve i 've drawn in top-view.
then i did a “bricolage” workflow to adapt this curve to both other curves.
I recommend this more carefully by looking at _curvatureGraph, and Gumball (not sure if already in V5)

the bricolage Workflow:
_extrudeCurve to get a surface
duplicate the surface
then twice for each curve / edge:
first surface, edge matching to first curve
_matchSrf (Postion, closest point, no refine)
_dupEdge (to get the desired approximation of your input)
2nd surface, edge matching to 2nd curve
but this is just a starting point …

Thanks for your help. Appreciate it.