Boolean substraction failed for a part and a box

Hi All,

I have a model which contains two solids. One is a box and another is a part. I want to use the box to cut the part, but it always failed. And union and common operations are also failed. I have checked the part solid, but it has no error by OCC APIs. I have attached the brep file.
Thanks in advance. Any suggestion is welcome.
PS: I am using occ 6.3 kernel.

Ding

Attachments: 
zgesi's picture

Ding,

Seems no problems of your model for the Boolean operation. I do that in our code of OpenCASCADE without any problems. See the result.

ZG

Attachments: 
Cauchy Ding's picture

Hi ZG,

Thank you very much for your testing. Yes, that's my mistake. The boolean substraction operations succeed, and the result shape is a compound shape. However, this compound shape contains three solids, the first solid can be tessellatted very well, but the last two solids can not be tessellated. Your picture shows that the solid is substracted correcttly, have you removed the left two invalid solids? Do you use occ6.3 or occ6.5?

Thank you.

Ding

Cauchy Ding's picture

Hi ZG,
I just modify the solid box. And I find the substraction operation failed. Please kindly test it again.
Thanks in advance.

Ding

Attachments: 
sergey zaritchny's picture

Hi Cauchy,
I would like to inform you that the posted problem is checked and partly reproduced.
I.e. Boolean operation always produces a result, but result is not valid shape: resulting compound contains 3 solids, one valid and other two - not valid.
The corresponding issue with ID = OCC22314 has been registered. Later you can know if the issue is resolved by checking references to the specified ID in OCCT Release Notes. The analysis of the issue will take some time depending on our technical capability and availability of resources.
If you can't wait and the problem is urgent for you, you may contact us via Contact Form http://www.opencascade.org/about/contacts/.
We will try to find a solution/workaround acceptable for you.
As well as training and e-learning courses are at your disposal - http://www.opencascade.org/support/training/.
Regards

Cauchy Ding's picture

Hi Sergey,

Thank you very much for your reply.
Regards.

Ding

seanliu's picture

Hi Ding:
How do you check if the solid is valid or not?

Thanks.

Sean

Cauchy Ding's picture

Hi Sean,

I just use API BRepCheck_Analyzer to check it.

Ding