How to union meshes with coplanar faces?

Hello,

I have two meshes (one is a polysurface transformed into a mesh in grasshopper) and I want to join them into a single mesh in grasshopper. I was wondering how to do this, because I know there are some restrictions to do boolean operations, like coplanar faces to join something. But in a case where it is necessary to have the same plane for two objects, how to proceed, although…

Anyway, I saw a lot of discussions using boolean operations and Trim and Join processes, plugins and scripts. So for this particular case, what is the best approach (less time consuming), or is there a better way to handle these things (maybe, outside of the grasshopper environment), messing with the tolerance (I don’t know if it could work)?
(by the way, I’m not an expert in Rhino and Grasshopper, I was just following some tutorials and put the ideas here)

I’m using version 8 SR16. I am using Pufferfish to see if the mesh is closed and Carverino to close the mesh (because the Close Mesh component in Pufferfish didn’t work and yes I got a closed mesh but after baking the mesh the view in Realistic mode shows some weird shadows on the mesh (what is that by the way? I tried to Remesh the closed mesh but got an even worse result and this is not what I expected to have).

I expected something like this, but closed (The result of the process is an open mesh, with some naked edges, visualized by the ShowEdges command in Rhino Model):

(this is an open mesh)

And I got these naked edges:

Also, non-manifold edges:

Moving just 0.01 (1cm) to the side (my tolerance is 0.001, i.e. 1mm) works in grasshopper, but I need the exact same plane for this side in both meshes. It needs a smooth continuity, without any weird cracks.


(moved 0.01 away from the coincident plane, not necessarily perpendicular, just away from it)

Using the ‘Check’ command, I saw that there are some bad geometries in my mesh, not on the polysurface, but they are still closed geometries):

My files:

mesh union issue.3dm (3.0 MB)

algorithm.gh (256.5 KB)

Thanks in advance!

You can fix this issue with Align Vertices,


MeshRepair.gh (214.0 KB)

2 Likes

Jessesn, forget the last post.

Actually, I do not could achieve your result, but the mesh is closed. But, the process that you said is to use MeshRepair after pushing the the Mesh from gh, am I right? (this is the way that I could achieve the closed mesh, but I saw that is possible to use Align Vertices in the MeshRepair tool as well, putting the tolerance to 0.01, as it is in the ‘Align Vertices’ component. In the other hand, is there a way to do it in gh (close the mesh in gh)?


(before the ‘Align Vertices’ in the MeshRepair, and before the ‘Align Vertices’ component (I baked the Mesh component and procced to implement the ‘MeshRepair’ and ‘Fill All Holes’ process - actually, I realized that is not necessary to use the Align Vertices, just go to ‘Mesh Repair’ (this also caused Align Vertices to be activated, so I was able to close the mesh?) and ‘Fill All Holes’):


(After clicking in Repair Mesh)


(closed mesh after the ‘Fill All Holes’)

No, I just want to show the mesh property with MeshRepair command,

Could you give it a try with Align Vertices + TriRemesh in Grasshopper?

ClosedMesh.gh (217.0 KB)

1 Like

Thanks, Jessesn.

I was able to copy your process, but I noticed that I ended up with a mesh with some broken edges, as shown in the image:

I don’t mind if I need to go through MeshRepair step by step (in a more manual way), but I would like to know if it is possible to crease these edges somehow (for example, take the edges of the open mesh visualized in ShowEdges, without the bare edges and the non-manifold edge, or the baked mesh from the Content Cache component without the TriRemesh component (still an open mesh, after ‘Mesh Repair’, but without the ‘Fill All Holes’.) → These edges can be used to crease these broken edges, I think.

Anyway, this topic already has a solution. This question is just to know.

Sure, you can achieve it with UnweldEdge,

1 Like

Great, Jessesn.
Thank you again!