Look for coincident points / edges (in Check, or separate function)

Could a feature be added that allows for Rhino to look for coincident points / edges with multiple meshes?

I’ve been doing a bit of Mesh work and having a lot of problems wiht MeshBooleanUnion where I often get a result that is a partial union and partial intersection.

After a fair bit of troubleshooting I’ve realised it’s due to coincident points and edges, and if I scale or move one set of points by 0.001mm the Boolean works just fine.

But, it’s slightly problematic in that, as part of my workflow, I move certain points on one mesh where I want them to be, aligning them with exitsitng points on a 2nd mesh. But, in getting the mesh aligne dhte ay I want it to be, it then creates arrors in the mesh and, depending on the number of points I’ve moved, it’s not quick or easy to track them down.

I use MeshIntersect often to see if the resulting intersection is valid, but this doesn’t revel the possibility of coincident points. In fact, for me, it reinforces that everything might be OK because the points ARE aligned (and therefore I thnk that Boolean understand where they go).

But, given that coincident points/ edges/ faces are an issue with Booleans being able to spot these quickly, with one command (“MeshCoincident”), could be a massive time saver to find those locations where you need to finesse the position of points / edges/ faces.


Actually, maybe disregard this idea.

It seems that going with non-coincident points just created a mess of micro faces and there’s somethign else preventing, what appears to be a relatively simple Boolean, from working.

Hi Kent - please try these operations in the V8 WIP - any better?


Thanks for the quick reply Pascal.

Yes, the boolean works much better in V8! I have still found a couple issues that were also present in V7 and I can’t tell if they are simply a rendering anomaly or if the boolean is altering the mesh. I think the V7 and V8 results in these ares might be slightly different.

If you’re curious you can see in the file attached where the Dots are; select previously flat quads are appearing to be concave tri’s in 3 locations.

I’ll play around with the render display settings to see if it’s anything there.


RX for Altaero Frame Mesh Boolean V7.3dm (3.8 MB)

Boolean test V8 WIP.3dm (3.8 MB)

Hi Kent-

when Rhino displays a surface or polysurface on screen as shaded it uses the ‘render mesh’. The render mesh may or may not show facets in any particular view - if the mesh is coarse enough it will show facets, but you get to change mesh settings so that you can generally make things with silhouettes that are smooth enough to look correct on screen. This is done by increasing the density of the reder mesh until your eye cannot detect the faceting.
When the object is a mesh to begin with, there is no adjustment possible - what you have is what you have. You can fool around with things like QuadRemesh and ShrinkWrap to make smoother meshes in the WIP, but a mesh is a mesh and it will display one way only - well, two, you can turn off smoothing completely with FlatShade.


Cheers Pascal,

Aye, that all makes sense. In fact, I DO want to see the facets and the flat shade option is particularly handy for this.

Since my goal is a Mesh output it’s ideal to NOT see any curvature, really.

Where I probably wasn’t clear is that in the default view where Rhino seems to be trying to smooth the mesh is; in the locations I mentioned is appears that Rhino has some select areas where it’s NOT smoothing (in contrast to the bulk of the image) and it looks like select quads have been split into triangles and are concave instead of flat. But I assume that if the view with Flat Shade is still a flat quad that the object is ok and it’s just a rendering anomally.

Otherwise, looking froward to the final release of Rhino 8 to fully convert over. Thanks for the suggestion to try it.