Bardia Sadri


About Me



Recent Forum Posts

Boolean shatter not working on a complex model May 5, 2017, 4:53 a.m.

I noticed in fact that Boolean may report non-manifold edges, even when you can't find them in your input geometry, and it's not a mistake. I hadn't considered this before. If you look at the picture here, from the same geometry as above, you can hopefully see that the two highlighted points are both incident to two quads which happen to share yet a third point. Geometrically, this should only happen if the two quads are perfectly coplanar. In practice, however, there's nothing to force a quad to be a planar polygon. A nonplanar quad is in reality the merging of two triangles defined by one of the diagonals of the quad, without specifying which. It is therefore up to the Boolean sop to resolve the ambiguity as a preprocessing step and triangulate all input polygons pretty much the same way the Divide sop would do. In the example in the figure, the diagonal in questions connects the highlighted points and this creates an edge incident to three triangles, namely the one shared by both quads, and the two remaining ones, one from each quad. This would be a non-manifold edge created in preprocessing of the geometry!

Boolean shatter not working on a complex model May 5, 2017, 3:08 a.m.

So, is there a way that I can get a view of which edges they are so I can adjust the input geometry?

Unfortunately, we don't have a very good way of visualizing bad topology. People tend to use “Divide” sop's “Remove Shared Edges” to inspect boundary edges that may look like interior ones (not applicable in this case). For non-manifold edges (those incident to 3 or more polygons), your best bet may be to use PolyDoctor's (disable everything in the first tab right away) “Visualize Maximal Manifolds” under the “Topology” tab. This will colour your polygons. The bad edges are where two different colours meet. You can also visualize inconsistently wound polygons by unchecking “Ignore Winding of Input Polygons” in the same tab. Your geometry doesn't have this issue would also be something quite detrimental to passing a geometry as a solid. If your input is a connected manifold you should get a single colour for the whole thing. The problem is of course that you may fail to see very small things, as is the case with your geometry. I spotted two problem areas (see the screenshots). If you enable “Create Manifold Number Attribute” and check the geometry spreadsheet you can see that your geometry has has 12 maximal manifolds, numbered 0 to 11. You need to have one, or generally, as many as the number of connected components of your geometry. If I wanted to guess, I'd say you have used the Fuse SOP somewhere higher in the chain?

As for the rest of your explanation, I'm assuming that I need to define B as a surface instead of a solid?

Yes, if you are cutting A with B, generating only pieces of A, then you'd always be better off marking B as surface.

Modeling in Houdini May 4, 2017, 9:24 a.m.

Instead of, or in addition to, making comparisons between various s/w modeling capabilities and other theorizations, we'd all be better off if at least one more user would file a RFE to see squashed a rather long in tooth bevel* bug that dashes around with impunity for at least a few builds now since I found it.

*bevel bug:
- create a primitive
- select a few polys
- apply polybevel op
- check “ignore shared edge”
- lose

This should be fixed in tomorrow's build.

Way to find a connection to the subject at hand! Touché.