I am trying to extract naked vertices from a mesh that I created from originally two cuboids.
Here’s what I did.
I made two cuboids inside Rhino
I did Boolean union of them.
I exploded the result.
I removed topmost and bottommost faces.
Inside Rhino, I joined all those faces, then created one single BREP out of them.
I converted that BREP into a mesh.
Then I inserted that mesh into nakedvertices component of Kangaroo.
Ideally I should get vertices only at the top and the bottom. But Kangaroo is also wrongly giving me vertices which are not naked as well and joined with other vertices.
I even tried meshjoin component before inserting into the ‘naked vertices’ component but not getting the desired result.
What should I do to make Kangaroo detect vertices which are actually naked instead of also getting additional vertices selected?
Of course, I can create more BREPS at the outer vertical edges for selection, then use point in BREPS, then dispatch, then cull(remove) the unwanted points. But is there a better method in which Kangaroo correctly chooses the naked vertices?
You need to weld the vertices. As @HS_Kim shows you could use combine and clean which does a welding as well. You could also use the join + weld from Weaverbird, weld mesh from Mesh Edit, or rebuild mesh from Pufferfish.
Since Kangaroo now comes with Rhino 6 + Gh 1 natively, combine and clean will be the easiest to access. Kangaroo Naked vertices is also native with Rhino 6 + Gh1.
Okay, so now I understood the ‘how’ of the process, I am trying to understand the ‘why’ to form the foundation of my understanding.
So what I can figure out, the naked vertices were initially being given for every flat face despite the mesh being a single unity. So the mesh was a single one, yet it kept vertex data for each large rectangular face of the cuboid separate hidden from us?
That’s what I’m wondering about. I mean the need of the resultant mesh preserving the duplicate data instead of combining it into one by default automatically.
Whenever we have a unified mesh made from two surfaces joining at common edge, speaking from a real life fabrication utility point of view, that edge is a common one, having duplicate data at the same edge for a unified monolithic geometry isn’t useful in any application, or is it?
It is useful for somethings like simulation and I believe it is resulting that way because it is a hell of a lot easier to weld a mesh than to unweld it, so you wouldn’t want an already welded in case you don’t need it. When unwelding you’d have to think about angles as well.
Like Kangaroo simulation. Say you want to act on the faces individually but anchor some shared points so that the seam separates only in some locations. That’s just one example off the top of my head.
Okay. I see. That’s interesting. So, the ‘clean’ and ‘weld’ components automatically detected and cleaned overlapping vertices, conversely speaking, we can find out overlapping vertices and keep them separate to use them later. How can I do that?