Network surface from circle to rectangle


I am trying something pretty simple: Creating a network surface consisting of 4 guide curves, a circle and a rectangle. However when I create the surface, it is not closed.

I guess this is because of the combination of a circle with a rectangle…

Are there any nicer solutions to this?

Thanks a lot :slight_smile:

network_srf.3dm (204.4 KB)

1 Like

Another approach would be to Split the circle where the rails touch it, then do a 2-rail sweep between each circle segment and it’s corresponding rectangle edge.
Join the 4 surfaces together.

NetworkSrf isn’t a good command for that modeling task.


thank you, good to know…

why isnt there a command like Sweep3, or Sweep4, or say sweep_x?

Would be very interesting (as far as I understand, CATIA has this option…)


For years, many users, including me, have been asking for a multisweep … It doesn’t fit into McNeel’s priorities

Simply extrude the curve profiles to outside, then run the “Blend surface” command and adjust the seam as desired. Then you have option to use G0, G1, G2 or G4 to each side for a different effect. It’s really simple.

PS: It would be nice if “Blend surface” had an additional option to blend between curves, in order to avoid extruding them before running the command to get G0 continuity.

I can confirm that a multi-rail sweep has been on @dalelear’s project list for a long time. I just checked and there is a request for it on his list.
He’s currently working hard on SubD.
We think SubD is a more important project and will potentially help more users.

Are we wrong?
Should he drop SubD and work on a multi-rail sweep instead?

No no no don’t do that. Carry on with Sub D please.


@Rhino_Bulgaria this is also a very nice approach, but since one of the curves has 8 segments and the other 4, this does not work properly…

Things have chaged a bit: I need to connect the two section in a very tight manner.
The strategy with sweep2 produces self intersecting geometry, so I tried the same with network surface. Seemed to work great, but the next problem is that OffsetSrf does not work properly now (because the curvature is too high?) because it keeps producing a polysurface with naked or bad edges.

Do you have some suggestions here?

Cheers, Rudi

offset_problem.3dm (400.5 KB)

1 Like

Multi-rail sweep will take considerably less time to program than the SubD (I assume 1 week by a skilled programmer), so, yes, if there is a chance to implement it, do it before SubD.

Keep in mind that the topology of a NURBS surface is a 4-sided rectangle.
Additionally, everywhere you have a kink in a profile curve, that will need to be a surface edge.
Based on that information, you should be able to create the rails and separate profile segments to create the polysurface you’re after.

With decent curves you can do this with Surface edge curves. Then fillet the edges. You’ll get a much better result than any approximation surfacing tool.

1 Like

Yep, EdgeSrf is how I’d do this one. OffsetSrf works if Corners=Round.


Thank you again!

I tried EdgeSrf, but it gives me a polysurface for each EdgeSrf instead of an untrimmed Srf…

Hello - try splitting the curves up like so:


and make 4 EdgeSrfs from these, then if needed Join and Cap.

Any luck?


hey Pascal, thanks

the base curves have changed a bit - it looks a bit different now, check out the most recent file posted above :slight_smile:

offset_problem.3dm (400.5 KB)

Also very interesting, that the EdgeSrf command creates a kind of twisted corner… That area should be green normally I guess.

Yeah, edgeSrf is harder when the input curves vary in structure like this. If you want to use it, I would split things up even further:


also check the way you handle those connections. g5 facing g4 , better make up your mind if you want simple surfaces, also reducing that would help. any word on why this is needed?

1 Like

thank you all for the suggestions, it worked great with a combination of splitting the surface up in gh and doing some manual work in rhino!


…forgot to share the final result of this surface from last year:

However shortly after, the available design space was even tinier and I had to come up with a spontaneous solution:

Thanks to everyone for their input and help!