I sometimes create a 3D face (one continuous edge) by splitting the perimeter into 4 curves and then using the network surface command. I find this better for achieving exact edge geometry than say creating a trimmed surface via the patch command. But I end up with some odd control point spacing and various problems that come from that.

Given the new Subd functionality, I’m wondering if there is a better way to do this now. I don’t see a way to create subd via a curve network, but maybe I’m missing something or it’s on the way. Any thoughts on this?

I do not have a good idea. I was hoping a more SubD savvy user than me would pop in. I think Patch with enough spans, is a good candidate here - SubDs seem not to be the perfect thing where precision is needed.

I’ll still be listening here in case anyone comes across this with thoughts on how to do it with subd. Like perhaps there is an efficient algorithm to move control points till a subd 3d face fits…

In the meantime, I use QuadRemesh on the NURBS NetworkSrf and make a SubD through that command. You won’t be on the border curve exactly so it’s best to then Bridge to that after with another SubD maybe from SubDLoft or a SubD Sweep. You can also use the interpolate option in this case or a lot of quads but that makes for harder editing of the SubD.

Thanks Brian, great to know this is already something that has been brought up! It would seriously simplify and improve many things for me to have a SubD NetworkSrf that can do 3D faces with exact boundaries.

The quadmeshing itermin solution is interesting, though tricky to get the exact boundary as you mentioned. It will be useful for me in some situations, but really hoping the direct SubD NetworkSrf can be developed.

Ability to get a better match to the boundary curve would be something really interesting. @BrianJ

Is there no way as of yet to kind of ‘Match’ the underlying nurbs curve boundary of a subd edge (without creases) to a curve, within a certain tolerance? And then kind of roll backwards the the subd box mode that solves for that equation of curve?

There’s an internal discussion about matching a SubD edge to a NURBS edge or curve within a tolerance suitable to join the two into one polysrf without a gap. It’s something I filed as RH-49943 during development for future reference.

Long story short, you need to have a lot of quads along the edge to ‘match’ a NURBS curve/srf edge within the typical .001 tolerance of Rhino files. SubD curvature and NURBS curvature is not calculated the same way and even more so at open edges. Maybe there will be more tools for matching in the future but I can’t say for sure what is possible. Personally, I’d either build off the SubD edge, Bridge from it to another SubD or convert to NURBS and use BlendSrf to span a gap if you need to match up to a polysrf.

Definitely.I don’t know if, for example, a curve could be rebuilt to this tolerance, made periodic, made subd friendly, and then spit out a box mode edge that would conjur up such an equation of curve. Then use that edge as a list of vertices for a new quad dominant subd.

Open SubD friendly curves have zero curvature at the ends so usually more control points and knots will be needed when rebuilding SubD friendly for a given accuracy than if rebuilding non-SubD friendly.

You can also use the Align command > To Curve option to align an edge or edgeloop to a curve. The verts as seen in box mode (a.k.a the control polygon) are what get pulled to the curve. More points = closer fit.

SubD surfaces have a fundamental limitation when matching a NURBS surface. An edge of a SubD surface which does not form a closed curve will always have zero curvatuve at the corners. This means it cannot exactly match an edge or a curve which does not also have zero curvature at those location. With a sufficient number of points the SubD surface can be fitted within a tolerance of the edge or curve being matched.