Mesh has *** pairs of faces that Intersect - how to identify them?


I've been working with Rhino V5 and Z-Brush 4R5.  Part of my workflow seems excessively long as I can't quickly identify where mesh faces intersect.  I use RepairMesh whenever I import from Z-Brush.  This tells me the problems and generally fixes most issues.  HOWEVER, I often need to Boolean mesh together in preparation for Rapid Prototyping.  This is fine as long as I don't have any faces that intersect.  I've spent a few hours this week looking for elusive intersection!

This is easy enough to repair in Z-brush as long as I know where the problems are.  Is there a diagnostic tool in Rhino that I have missed, which allows you to see where the faces intersect?

Many thanks,


Views: 4534

Replies to This Discussion

Hi Helen- you can use testMSX to mark self-intersecting mesh faces with line segments. This is a test command, so it is not 'full featured', or finished, does not autocomplete on the command line, no documentation or support is available for it, but it can help in a pinch.


Thanks Pascal.

I've just tried the command on one of my mesh models.  Rhino crashed as I had "run out of memory", even though I have 16GB to play with.

Is this normal for complex forms? 

I've attached the mesh repair read out so you can see how many polygons I'm dealing with from Z-Brush.


Hi Helen- the crash is likely due to the 'test' nature of testMSX... you might try exploding the mesh into smaller parts and testing each separately. Send me the file if you like.


Hi Pascal,

I have sent an email to you with a test model.  I hope this helps to illustrate my problem better.



For RP, you may need to check your output meshes in something specifically aimed at .stl repair like NetFabb Studio Basic (free) or perhaps something more sophisticated (paid) if the free solution doesn't work...


Thanks Helvetosaur - I've got Netfabb and MiniMagics for checking.  I've checked all recent stls this way.  The ability to identify the location of self intersecting mesh faces early would save me so much time!  Both Netfabb and minimagics reports problems but like Rhino don't seem to show me the exact location.  I have to take an educated guess!

Ahh, OK, so NetFabb Basic tells you there is a problem but won't locate it or fix it?  That's too bad.  I have Magics (not mini) and it's great, but very pricey...  Unfortunately Rhino's mesh tools are just not all that powerful.  On the positive side, if I have to radically reconstruct stuff, it's often far easier to do that in Rhino than it is in Magics (where you can't even draw a line)...



With clipping planes in Rhino you can look inside the mesh and sometimes see where there is a problem, especially if you have set colored backfaces.  Something that's not a backface (i.e. a folded-in mesh part) will show up in a different color...  also helps with open meshes, as if you see backface color show up outside the mesh, you've found a hole.

I'd totally forgotten about 'backface' since installing V5!  Thanks for the reminder.  Now set up.

An identification technique like this would be perfect BUT it still doesn't show the intersection locations.  I've attached a screen shot of a mesh that I know is intersected.  There is a major intersection at the back of the knee joint, which has since been fixed.  As you may appreciate when working with figures there are potentially a lot of points that can become intersected i.e. fingers, toes, arms, legs, clothing etc etc.  All very easy to resolve in Z-Brush, but they can take some tracking down especially if only 3 or 4 faces are affected.

Perhaps this is something to put of the 'wish list' for V6???? ;)


My advice would be not to use Rhino in that entire process.

You should be able to see the intersections nicely inside Zbrush if you select the relevant portion of the mesh and simply hide the rest.  Switching on Polyframe should also help.You could also automatically fix the problem-areas by masking them, then inverting the mask and finally running one of the polishing-options in Tools/Deformation.

I would by no means use the Mesh-Repair-Tools - they will only toggle the mesh between several states of seemingly invalid. Zbrush indeed always creates perfectly good meshes in terms of RP and you can prepare a possible 3D-print from a Hi-Res-Mesh with far more control from within Zbrush as with Rhino. The Decimation-Master is the best polygon-cruncher I ever worked with and there's also a dedicated 3D-Print-Exporter which lets you output the .stl.

In this case there's really no reason given to touch Rhino.

Hi Hoka,

Agree that you can find the intersections in the method you have stated but it CAN take quite a lot of time to route around all the possible areas and this is what I have been doing.  I need to use Rhino for tolerance parts - Z-Brush is next to useless for this.  I probably should have stated this to start.  I'm mixing arty with bits that have tolerance restrictions.

I can produce really good geom with my current methods - but I'm always looking to improve the process.


there's two independant issues: The overall mesh-quality (in terms of evenness and being closed and welded an such) and then there's possible self-intersections which can happen with crappy meshes and with very clean ones.

Zbrush's native meshes are always far tidier topologically as anything CAD-programs can deliver. That's why I saw no point in running repair tools which deal with the overall mesh-structure. Whatever you do here in Rhino will not improve the result or make the mesh more accurate.

If marking self-intersections in Rhino which you however can not bring to Zbrush to see them in place really helps - then why not.

My impression was that you would like to repair these inside Rhino or inside some RP-preparation-software and I wondered why - as Zbrush has the relevant tools on board.



© 2018   Created by McNeel Admin.   Powered by

Badges  |  Report an Issue  |  Terms of Service