Patch surface no work? Increase Span and Flexibility!

Hi community,

I notice that patch-surface always miss the corner of input curves–I can increase Flexibility by a ton, and the legend always misses. How can I fix this?
I need patch surface because I have cases where there are 3 or 5 curves I need to patch up.
Even for this simple case (4 surfaces), patch surface misses the corner; I compare it to network and edge surfaces, which both work fine

Keeping in mind that these (I think?) components have different algorithm, is it possible to get them to actually work? I know surface fill in SolidWorks and videos for Xnurbs show that this is actually possible (patching random boundary with surface that actually follows the boundary)

Also, it seems Flexibility (the plugin) has patch surface that (seems) to work (I don’t have it in my machine). That would be great but, Flexibility (plugin) has a ton of functions that have the same name as GH native functions, which isn’t awesome.
(pictured.


)
patch_vs_surfaces.gh (12.0 KB)
Thanks a lot!

It seems that the edges needs to be rounded for the patch to be good?

Keeping in mind that GH functions != Rhino functions, I found this tutorial by PC Sim https://www.youtube.com/watch?v=GLKS5cZLmMg here that got patch surface to work correctly (resulting trimmed surface follows the curves provided)

I found that if I join the curves, the deviation at the corner is a little worse

Sorry to bump this up. I still can’t figure out a way around this problem

I just opened your file in Rhino 8 and to me it looks like the patch surface looks correct. I don’t see any missing corners as you described. Can you tell me where I need to be looking?

Also, FYI it’s often a good idea (if possible) to remove any 3rd party plugins from your definitions as other users might not have those installed on their computer. In this case, you have used a Human component for drawing curves… but I don’t think it’s necessary to use that component to illustrate this problem. Just a helpful hint.

1 Like

Thanks very much for your help Andy!

Zooming in, this is what I see. Could this be affected by document tolerance setting?

Thanks for your advice also. The curve display can be too thin, so found that custom line weight to visualize it better. :mag:

Yes. I believe the Network Surface component does use the document tolerance settings. Try lowering yours to see if that has any effect.

1 Like

Also, it seems that on display in your screenshot is the network surface component, which works correctly. The missing-corner problem is found in Patch–I put network surface is there as a comparison. Sorry for the confusion!

I can’t network-surface non-4-sided situation, so I’ve been trying to remove the bump in the corners while using Patch

I see. Ok, that was my mistake. Yes, I see what you were saying with the patch surface. However, I think if you modify a few of your parameters that you can get “close”. In general, I don’t think the patch surface algorithm will ever give as mathematically correct a surface as the network surface algorithm. However, I used a value of 60 in the spans input and then a value of 40 in the flexibility input and the corners get much closer to your desired result. Will that work? If you zoom in, you’ll still see that some of the corners are not quite matching up to the curves… but this is what I was saying about how the two different surfacing algorithms work. There are tradeoffs. You can continue to increase the spans and flexibility numbers until it gets closer and closer, but there will likely always be some discrepancy.

1 Like

Thanks so much for your detailed explanation. It looks like I misunderstood how the component works :sweat_smile:. I make sure to use the Flexibility and Spans parameter from now on!

1 Like

Do using those values give you the result you’re looking for?

1 Like


They do! (the corner is covered–I baked so I could see Zebra stripes also)

1 Like