Surfacing... just a nightmare

Yeah, if by complex you mean in shape. Trying to make one surface do to much work is often a recipe for messiness - I’ve found this to be the one ‘bad’ thing about NetworkSrf - users tend to assume it will ‘make the model for them’ because it accepts such a lot of inputs. I’m not saying that is the case for you but your comment seems to suggest that perhaps a TSplines, SubD approach to topology is still ‘lurking’…



Okay, but what are you actually modeling with all that?

Why do you want to merge the surfaces? Why not join the surfaces?

Correct. One of the edge curves will change. However the surface shape will not change.

Exaaaaaaaactly !!!

TSplines, SubD approach to topology is still ‘lurking’…

When I get a second, I will read about SubD. I am a little buried this month )

Okay, but what are you actually modeling with all that?

A bathtub… sorta. Well OK im being flippant. I am going to resist going from the general to the specific. If you really want to know, pm me your email )

This thread is about the illusion that drawing curves and hitting the surface button creates what you expect without a DEEP understanding of the forces (mathematical) that shape that surface.

My current project is simpy a metaphore for surfacing. It is a real world challenge, a step down from a car bodywork, which proved far beyond my capabilities at my current level of experience. The lockdown has given me an opportunity to tttake this up again and try to understand how to approach modeling with the end goal of a watertight object with complex features.

Rhino benefits from a large user base, some very experienced modelers, dedicated people like Pascal that support the product and a forum here, that allows me to present feedback that I hope is helpful to the pursuit of better tools to achive quality models.

If you have ever developed a software solution, you will know how much work it is to create a product of quality and how easy it is to loose sight of the objecctive. Music software is a classic example of this. The technically “correct” approach is not user friendly. Other solutions that are abhorrant to the professionals became popular and ultimately some of their features found their way into the professional tools.

CAD has a way to go in my less than humble opinion. It should not take this level of technical mastery to produce 5x2 surfaces that form a watertight model! I cannot be the first person to recognize this

Great discussions

Now I am rethinking how I create two adjacent surfaces. Should I use network surface with tangency to the adjacent surface, or, construct a series of curves in U or V and just loft.

This is less challenging in Rhino, BUT, I have to re-do many steps manually in Rhino, so I use GH.

The lofting requires going back a dozen steps and trimming surves all over the place. That will be v32 of this model.

The “one bad thing” about NetworkSrf is that it creates bad quality surfaces, but gives the average user the idea that these surfaces meet all continuity conditions (which they do in a way, usually on the cost “wobbly-ness”).
For the beginner it seems to be “the king of surface tools”, while in reality it is amongst the least useful and, in my experience, least used.


You really, really should start with the basics and begin with some simple tutorials that are readily available either via McNeel or all over the internet.
It seems to me that you have a fixed idea how CAD should work and now keep banging your head against the wall as you find out it isn’t so.

As far as i understand, Join simply groups the surfaces together but does not close gaps and eliminate naked edges, Merge does.
The goal is to run VOLUME for example


to eliminate the surface matching issue, I now return to the underlying curves and join them then recrete the trimmed surface + new surface except at this tolerance, JOIN fails.

The problem occurs because one of the curves was created by combining curves in the XY and XZ planes, like CURVE FROM 2 VIEWS in Rhino. Projecting a curve into 3D space this way introduces tiny errors from rebuilding the curve.

So curves wont join. Surface cant be made, another snake backwards to the projection calcs and a way to use the point required for the JOIN in the projection algo

Thank you for that! i was hoping someone would opine about these various surfacing commands. What, in your opinion is superior???
Loft I assume.

You really, really should start…

Right. Just go away and come back when I know what im doing like everyone else. Well I could, but im not afraid to display my ignorance and beg to differ that more examples and videos will supply the required knowledge.

I understand this thread is uncomforatble for some. It takes some prodding to get forthright statements out of engineers that are more concerned with being right than with advancing a skill.

In my opinion the sweep commands are the most most useful (if this even can be said, because different tools for different tasks) especially when derived from clean simple input curves.
If you create a simple sweep with low ow control point count, you can use match surface to meet curvature conditions or even manipulate control points by hand.

Well thats a surprising response. Could you elaborate a little. How is the underlying math cleaner/better/pick-an-adjective?

Sweep 1 I can undestand, but sweep 2 is not so clear

Hi -

That’s wrong. The Join command will actually pull edges from surfaces together if they are within tolerance. Joining works when the new joined edge is within tolerance of both surfaces.

Ah ok. In this project I have tollerance set to .00001 because of the issues projecting curves into 3D. so thats a gotcha for JOIN then.

I guess my observations are based on failed surfacve JOINs I have attempted

If you use two rails of the same degree and control point count and do the same for the section curves, the resulting surface will have the same degree and cp count in U/V direction.
So for example two degree 5 rails with 6 control points (therefore single span) and two degree 3 sections with 4 control points (again single span) create a mathematically smooth degree5/degree3 single span surface that is easy to manipulate on a cp level.
Of course all of this is much more complex than this little example, but it should give you some idea.

Right, I know that. But the problem is, some curves cannot be defined by 4 or 6 control points. The minimum number in this project is 9. That is the long span. The adjacent surface has a very complicated curve that requires 11 CP. These two must join perfectly at their seam, but they dont, no matter how carefully I make the curves and what technique I create the surfaces with. Im fighting 3/4thdecimal place tolerances shown in the pics above.

As I said, in real projects it quickly gets more complicated.
Usually one would divide these bigger surfaces into smaller ones with less control points. Then match between them and surrounding surfaces.


isn’t that 5/6th place in your picture? It surprises me that you need such tight tolerances, it seems a bit too much precision asked? In fact I have never felt any reason to go beyond 0.001 mm tolerances. Why do you need it to be so tight?

Well, to get 3/4th accuracy when projecting curves, you need 5/6th. The problem is that you cannot select accuracy on a per operation basis… as far as i know.

If I relax the tollerance, then tangency calcuations cause problems at 1/2 dec places. That ripples through the project causing more issues

The tight tolerance of .00001 is probably causing more problems then it is eliminating. To Join curves the ends must be within the tolerance of each other. So if the tolerance is set to .00001 the ends have to be much closer than if set to .001.

@Proterio Are you routinely looking at numerical coordinates to judge if the results of commands are satisfactory?