Boolean difference, the cutted part not became a surface



I’m using BooleanDifference to cut a model with a box. in the second image, the part that’s cut away doesn’t remain as a surface. But if I slightly move the box (0.2 units along the X axis), the intersecting part becomes a surface after the BooleanDifference, but i won’t work if only 0.1 units. Why does this behavior change depending on the position of the cutter?

Could you share this 3dm file? Thanks.

test model.3dm (9.7 MB)

I found that one pipe has a self-intersecting region, as shown below,

Remove this self-intersecting region allows for normal boolen difference, and fyi,

1 Like

i see, thank you very much.
that’s really helps
:folded_hands: