Bardia Sadri


About Me



Recent Forum Posts

Houdini's new boolean fail?? Aug. 25, 2017, 10:59 a.m.

Are you on Windows by any chance? What result do you get when you set “Detriangulate” to “No Polygons”? I can't seem to be able to reproduce this on Mac. There is an outstanding bug with similar circumstances that only surfaces on Windows, but I have only a single example of. The huge overhead of tracking this on Windows (need to have Windows dev setup and compare against another platform side-by-side) under the current development load has kept me from investigating it in absence of more failure cases.

As a side note, normals have nothing to do with Boolean's output. The winding of the polygons determine inside and outside but reversing polygons should only fix problems if you have made a mistake about the semantics of the operation. Most importantly, perturbation of the input should never be required or be a workaround. Please report failures to us through the bug database and preferably lock the inputs to the problematic boolean node in your submitted hip files.

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.