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

I am having issues with the Patch command also. If i aply to the u,v, above number 1 it gets out of the boundary. I am using rhinoceros 8 with the last update.


@V_Ferreira pls post the file where you see that behavior, I couldn’t reproduce it on a similar curve here.

I have already discovered the problem it was .NET Core was activated instead of NET Framework. Thank you for the attention

Seems odd to me, I’m running Rhino on .Net Core here.

yeap it return back to the same issue

pls run _SystemInfo in Rhino and post back the results and a sample file that shows the behavior,
thanks

Rhino 8 SR11 2024-9-10 (Rhino 8, 8.11.24254.15001, Git hash:master @ d3c11108eae09fadc146928ba51b9b182a05303f)
License type: Educational, build 2024-09-10
License details: Cloud Zoo

Windows 11 (10.0.22631 SR0.0) or greater (Physical RAM: 32GB)
.NET 7.0.0

Computer platform: DESKTOP

Hybrid graphics configuration.
Primary display: Intel(R) UHD Graphics 770 (Intel) Memory: 1GB, Driver date: 7-24-2023 (M-D-Y).
> Integrated graphics device with 4 adapter port(s)
- Windows Main Display attached to adapter port #0
Primary OpenGL: NVIDIA GeForce RTX 3080 (NVidia) Memory: 12GB, Driver date: 9-5-2024 (M-D-Y). OpenGL Ver: 4.6.0 NVIDIA 561.09
> Accelerated graphics device with 4 adapter port(s)
- Secondary monitor attached to adapter port #0

OpenGL Settings
Safe mode: Off
Use accelerated hardware modes: On
Redraw scene when viewports are exposed: On
Graphics level being used: OpenGL 4.6 (primary GPU’s maximum)

Anti-alias mode: 8x
Mip Map Filtering: Linear
Anisotropic Filtering Mode: High

Vendor Name: NVIDIA Corporation
Render version: 4.6
Shading Language: 4.60 NVIDIA
Driver Date: 9-5-2024
Driver Version: 32.0.15.6109
Maximum Texture size: 32768 x 32768
Z-Buffer depth: 24 bits
Maximum Viewport size: 32768 x 32768
Total Video Memory: 12 GB

Rhino plugins that do not ship with Rhino
C:\Program Files\Chaos Group\V-Ray\V-Ray for Rhinoceros\V8\VRayForRhino.rhp “V-Ray for Rhino”
C:\Users\Utilizador\AppData\Roaming\McNeel\Rhinoceros\8.0\Plug-ins\D5LiveSync (e0d5e210-02f6-4ee9-a2b0-1675e225d958)\D5Conv.rhp “D5 Live Sync for Rhino”
C:\Program Files\Rhino 8\Plug-ins\Tibidabo\VisualARQ.rhp “VisualARQ”
C:\Users\Utilizador\AppData\Roaming\McNeel\Rhinoceros\packages\8.0\LookXRender\1.0.1\LookXRender.rhp “LookXRender” 1.0.1.0
C:\Program Files\Rhino 8\Plug-ins\Tibidabo\Tibidabo.rhp “Tibidabo”

Rhino plugins that ship with Rhino
C:\Program Files\Rhino 8\Plug-ins\Commands.rhp “Commands” 8.11.24254.15001
C:\Program Files\Rhino 8\Plug-ins\WebBrowser.rhp “WebBrowser”
C:\Program Files\Rhino 8\Plug-ins\rdk.rhp “Renderer Development Kit”
C:\Program Files\Rhino 8\Plug-ins\RhinoScript.rhp “RhinoScript”
C:\Program Files\Rhino 8\Plug-ins\IdleProcessor.rhp “IdleProcessor”
C:\Program Files\Rhino 8\Plug-ins\RhinoRenderCycles.rhp “Rhino Render” 8.11.24254.15001
C:\Program Files\Rhino 8\Plug-ins\rdk_etoui.rhp “RDK_EtoUI” 8.11.24254.15001
C:\Program Files\Rhino 8\Plug-ins\NamedSnapshots.rhp “Snapshots”
C:\Program Files\Rhino 8\Plug-ins\MeshCommands.rhp “MeshCommands” 8.11.24254.15001
C:\Program Files\Rhino 8\Plug-ins\IronPython\RhinoDLR_Python.rhp “IronPython” 8.11.24254.15001
C:\Program Files\Rhino 8\Plug-ins\RhinoCycles.rhp “RhinoCycles” 8.11.24254.15001
C:\Program Files\Rhino 8\Plug-ins\Grasshopper\GrasshopperPlugin.rhp “Grasshopper” 8.11.24254.15001
C:\Program Files\Rhino 8\Plug-ins\Toolbars\Toolbars.rhp “Toolbars” 8.11.24254.15001
C:\Program Files\Rhino 8\Plug-ins\3dxrhino.rhp “3Dconnexion 3D Mouse”
C:\Program Files\Rhino 8\Plug-ins\Displacement.rhp “Displacement”
C:\Program Files\Rhino 8\Plug-ins\SectionTools.rhp “SectionTools”




Sample file.3dm (68.9 KB)

@V_Ferreira that looks like a different issue than what you posted earlier.
In that example file there are far better tools to fill that boundary, like Sweep2, EdgeSrf and NetworkSrf.