Open CASCADE, the 3D modelling kernel
3D modeling & numerical simulation

Search the Forums
See All Topics

BUG boolean ops

BUG boolean ops
Valeriu Catina 2011/07/03 23:54

all BOPs (fuse, cut and common) of the two attached shapes (torus and a prism) produce really weird results.


You have to be logged in to download the attached file
Forum supervisor 2011/07/04 08:19
Dear Valeriu,
I would like to inform you that the posted problem is checked and reproduced.
The corresponding issue with ID = OCC22644 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
We will try to find a solution/workaround acceptable for you.
As well as training and e-learning courses are at your disposal -
Valeriu Catina 2011/07/05 04:39
Dear forum supervisor,

I detected this problem accidentally. It's worth noting that one gets correct results if the radius of the prism (cylinder) is only slightly smaller/bigger than the smaller radius of the torus. Also please note that the partition algorithm from SALOME's GEOM module produces valid results (when the booleans fail).

I hope this additional information will help you with the debugging.


V. Catina

Forum supervisor 2011/07/05 08:55
Dear Valeriu,
Thanks for your message.
For sure we will use your additional input during the problem analysis
and I believe it really can help.
Dulanga Bulathgama 2012/12/03 14:33
I think this is also due to the same issue as above
consider the following code

//Cylinder with radius 0.5, height 1, center(0,0,0)
TopoDS_Shape S1 = BRepPrimAPI_MakeCylinder (0.5,1).Shape();

//Cone with center(0.5,0,0), baseRadius 0.5, topRadius 0, height 1
gp_Pnt pnt(0.5, 0, 0);
gp_Dir dir(0, 0, 1);
gp_Ax2 axis(pnt, dir);

TopoDS_Shape S2 = BRepPrimAPI_MakeCone(axis,0.5,0,1).Shape();

BRepAlgoAPI_Fuse myFuse(S1, S2);
int errnumber = myFuse.ErrorStatus();

TopoDS_Shape FusedShape = myFuse.Shape();

The fused shape is erroneous and the errnumber is 2
which i think is "Null source shapes is not allowed"

If the cone is moved by 0.001 it gives the correct result (ie center of cone (0.501,0,0) )
Dulanga Bulathgama 2012/12/03 14:44
Sorry the errornumber was 0
Latest news
  • Open CASCADE Technology 6.8.0 is available for download!
  • New features to enhance the development process
  • Open CASCADE Technology 6.7.1 is available for download!

  • © OPEN CASCADE 2000 - 2014  |  Search  |  Contacts   |  Site map