Join/weld meshes with different vertex count on adjacent naked edges

Hi everyone,

to get a 3D-printable body I wanna build a watertight mesh from scratch. Of course it needs volume. This will come later. At the moment I’m stuck at another stage.
I need to combine/weld meshes together.

Because I will deform a portion of “mesh A” with attractor curves I split it into “mesh A_margin” and “mesh A_inner”. “mesh A_margin” is the one I will deform. To get a smoother deformation I want more vertices. In the green group you can see what I tried so far to increase the resolution. Destortion/deformation will be zero on the border to “mesh A_inner” and maximum on the outer naked edge of “mesh A_margin”. But because of the different vertex count of the two meshes on their border the welding doesn’t work. I still end up with naked edges between them.
Yes, I know, I could simply increase the resolution of the original mesh and still only distort it where I wanna distort it. But in the end I’d like to have one mesh with different density in the two regions.

The same problem occurs on the mesh(es) you see on the right. “mesh B” and “mesh C” shall be connected with “mesh B to C transition”. When I try to weld those three meshes I get naked edges on their borders.
Where “mesh B to C transition” touches “mesh B” the reason might be that (like in the first example) vertices do not align but at the border of “mesh C” and “mesh B to C transition” they definetely do and still there are naked edges after welding. I do not understand why or how to fix it.make_watertight_meshes.gh (277.4 KB)

The best solution I found so far for my problem came from Rolf: Achieving what a 'polygon bridge' tool does (with miss-match poly count) in Grasshopper - #3 by gustojunk
With his C# script I was able to create a mesh between two polylines with different segment lengths. After welding I got this result (First I moved the two meshes a little apart to create a small gap):


make_watertight_meshes_C#-bridge.gh (323.2 KB)

There are still some naked edges left. I don’t know why.
I recognised that when I directly use all the vertices of a naked edge to create a new mesh from there, there are no naked edges after welding the new mesh with the mother mesh:

But this knowledge doesn’t solve the issue I have with the meshes “mesh A_inner”, “mesh A_margin”, “mesh B”, “mesh C” and “mesh B to C transition”.

Since I want to build an online configurator (ShapeDiver) with that, I’m somehow limited to the (quite broad) arsenal of third party plug-ins they support (List of supported third-party Grasshopper plugins – ShapeDiver - Documentation and Support)

If someone of you has a solution or could point me in the right direction,… I’m grateful for any help.

You can use our LoftMesh component to create meshes from curves. Make sure the curves meet at the edges so you can get clean seams and then split meshes as you need. Following tutorials can give you some ideas, find the sample files in video description.

This looks like a job for SubD which you can also explore. Support for Rhino 7 on ShapeDiver is coming soon.

Thank you, Pavol!
Your LoftMesh component is very useful but I don’t get what you mean by “meet at the edges”.
When I want to use your component to split a mesh with it, I do the following:

  • choose polyline with which to create the splitter
  • move this polyline once or twice in order to get one polyline on each side of the mesh to split
  • match trees and merge in order to have the two polylines in the same branch
  • feed it into the LoftMesh component
  • cap the holes or use “polyline to mesh” from pufferfish (or your version where I need the center)
  • join 3 meshes: now I have the splitter
  • perform mesh split

but when I try to create a connection mesh between the two naked edges of two meshes I don’t think I can use this LoftMesh component because it requires polylines with equal vertex count. The beforementioned C# script (Achieving what a 'polygon bridge' tool does (with miss-match poly count) in Grasshopper - #3 by gustojunk) or pufferfish’s “polyline to mesh” gave better results, although I do not understand why there are still some very little naked edges (like shown above).

concerning SubD:
Did you mean that I shall convert my low resolution mesh in SubD and the back in a mesh to get a smoother mesh?

Oh, I thought ShapeDiver already supports Rhino7. If some parts of my model are not displayed in the ShapeDiver viewer could the reason be that I work with Rhino7 but my model runs on a Rhino6 server?
How can I switch to the Rhino7 system?