Many curves barely missing each other, need them to intersect for NetworkSrf, how?

Here’s a quick sketch about what I mean:

In order to be able to create a surface from this network of curves they need to intersect. Now there are quite a lot of these instances, where my input data has these inaccuracies, which I now have to deal with. That also means I can’t adjust every single instance manually. Is there any “merging” capability which could help me here?

Some additional info:
As the simple sketch suggests, I have horizontal closed curves and open vertical curves. However, that does not necessarily mean, that the vertical curves have control points at the height of the horizontal curves.

Thanks in advance!

NetworkSrf can use curves that don’t intersect, it will average the surface between the curves at each point. However, your sketch would not be sufficient for Network, with the three closed horizontal curves, you need at least three open (vertical) curves for it to accept.


Thank you very much for your answer.
I’m surprised to hear that NetworkSrf should work with non-intersecting curves, because in my case the command works as intended if I only choose those horizontal closed curves, which actually intersect the verticals. As soon as I add only one of the not quite perfectly intersecting curves, it doesn’t work. Could it be a problem, that those horizontals in fact do intersect with some of the verticals?
Since I assume you are right about NetworkSrf being able to handle non-intersecting curves, what could be other sources of error for this particular application? The error message does not really say anything about that.

Meanwhile I’ll try to extract a minimal example of the problem.
Thank you very much so far! :slight_smile:

NetSrf.3dm (341.7 KB)

Thanks for the example. I didn’t question your suggestions; I was only saying that this was the only thing I found, which might cause the error. Obviously it is not the source of the problem. I have attached a very small part of the model, which is still quite regular, but doesn’t work with NetworfSrf. I’d be very glad, if you could take a quick look at it, since I have not been able to find the source of the problem. Thanks a lot!

problem.3dm (268.2 KB)

Select all your vertical (open) curves and run the command Intersect… You will find 480 intersections/overlaps. For NetworkSrf (and most other Rhino surfacing commands) to work, you cannot have any intersecting/overlapping curves in the same direction (U or V)… You are going to need quite a bit of cleanup in this curve set in order to use it… I think I would just build more horizontal closed curves on the upper part that are close to surrounding your vertical and loft through the those to create the surface.


Just for the perspective of it, this would be my GH approach to this. (32.8 KB)
CleanedDataResults.3dm (340.4 KB)

I thank both of you for your input.
@Helvetosaur: Even after cutting off the upper part of the former example, leaving no more intersectings of vertical curves, the NetworkSrf still won’t work. See here:
problem2.3dm (102.0 KB)

And as I said, the complete model is much more complicated with some dents, which are only captured by the vertical lines, therefore reducing the model to (or adding of) horizontals only is not going to work. However, only using verticals is also not good because the produced surface heavily oscillates. I really need the information in both directions.

@dannyboyesiom: I don’t even know what grasshopper actually is, but I’ll try to look into it. :wink:

It was basically following a similar path to Mitch’s suggestion of cleaning the data. As this is no good for you I would ignore it. (But still look into Grasshopper :smile: )

A couple of things come to mind- one is to loosen the tolerance for the interior curves in the NetworkSrf dialog when the interior curves do not meet. The other is that Network does not care about curve structure, only shape, so there is no harm in patching in a little section of curve on the verticals with a new piece of curve to hit/intersect the horizontal curves if you are careful to mnake them nice and G2 continuous with the remaining parts of the verticals.


This sounds like a description of the requirements for Patch rather than NetworkSrf.

My experience is NetworkSrf has requirements on the structure of the curves. No curves in the “first direction” can cross. Same for curves in the “second direction”. Also, partial length curves don’t work for me in NetworkSrf.

I did a whole chapter on this one command for my Rhino 5 course. If you’re a member, look for Chapter 12 “Modeling and Editing Organic Surfaces.” It has six videos totaling 42 minutes long and is mostly focused on the Surface From Curve Network command.

If you’re not a member, here’s a free 7-day trial.

If anyone watches these, I’m always looking for feedback.

The arrangement of the curves is of course important. The curve structure, whether they all match, have the same parametrization, control points etc, is not.


Many thanks to all of you!

@pascal: How can I loosen the tolerance of the NetworkSrf dialog? The only option I see is whether or not I want the curves to autosort. And since neither autosorting or manual sorting work, I don’t get to the dialogue with the tolerances. After trying a little bit more with isolated parts of the model I have indeed found, that there are problems when the curves are too far away from each other. Only after manually inserting additional control points and snapping them onto those of the horizontals, the command works. However, the system is far too big to do this manually everywhere. :frowning:
Maybe I should see if I can figure something out in rhinoscript.

One more thing: In my last example, if I rebuild all the curves, NetworkSrf works just fine, even though rebuilding probably even made some of the curves intersect even less. Maybe, in addition to the problem with curves being too far away from each other, there is still a structural problem in my curves?

Thx a lot guys!

[quote=“wtfermi, post:15, topic:9236”]
Maybe, in addition to the problem with curves being too far away from each other, there is still a structural problem in my curves?

Possibly there are kinks that are smoothed out in the rebuild- hard to say without the curves.


Nice tip on the lowering of tolerance. That works great with the preview feature.

The other option I suggest (If you forget the first one) is Edit → Rebuild. That’s handy for both curves and surfaces, so people can forget (a) it can do both and (b) you can use it anytime after it’s built.