#### View Issue Details

ID Project Category View Status Date Submitted Last Update 0029883 Open CASCADE OCCT:Modeling Algorithms public 2018-06-19 10:15 2023-08-01 15:06 nbv emv normal minor assigned open Unscheduled 0029883: Boolean operation with prism and cone produces invalid result when tolerance of vertex in cone apex is too big Too big tolerance of cone apex leads to create non-manifold contours (areas), which are very hard to process by Boolean algorithms. At present, this is a limitation of Boolean operation. Steps To Reproduce shows: 1. Result of Boolean operation with big tolerance is wrong (see scripts 1a and 2a). 2. After reducing the tolerance of apex (scripts 1b and 2b) we will obtain correct result. ********* Script # 1a (begin) ************** # Test bugs modalg_7 bug29807_b4a restore [locate_data_file bug29807-obj.brep] b1 restore [locate_data_file bug29807-tool.brep] b2 trotate b2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 -5 trotate b2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7.1414284285428495 7.0000000000000009 -0 20 ttranslate b2 0 0 0.3 tolerance b2 # VERTEX : MAX=0.234223911268158 ==> WRONG. Tolerance is too big bcut result b1 b2 # Result is wrong. Cone is not cut from prism. ********* Script # 1a (end) ************** ********* Script # 1b (begin) ************** # Test bugs modalg_7 bug29807_b4b restore [locate_data_file bug29807-obj.brep] b1 restore [locate_data_file bug29807-tool.brep] b2 trotate b2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 -5 trotate b2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7.1414284285428495 7.0000000000000009 -0 20 ttranslate b2 0 0 0.3 tolerance b2 # VERTEX : MAX=0.234223911268158 ==> WRONG. Tolerance is too big explode b2 v settolerance b2_2 1.0e-7 checkshape b2 # Seems to be valid bcut result b1 b2 # Good result ********* Script # 1b (end) ************** ********* Script # 2a (begin) ************** # Test bugs modalg_7 bug29807_b5a restore [locate_data_file bug29807-obj.brep] b1 restore [locate_data_file bug29807-tool.brep] b2 trotate b2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 5 trotate b2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7.1414284285428495 7.0000000000000009 -0 -38 ttranslate b2 0 0 2 tolerance b2 # VERTEX : MAX=0.234223911268158 ==> WRONG. Tolerance is too big bcut result b1 b2 # Result is wrong. Cone is not cut from prism. ********* Script # 2a (end) ************** ********* Script # 2b (begin) ************** # Test bugs modalg_7 bug29807_b5b restore [locate_data_file bug29807-obj.brep] b1 restore [locate_data_file bug29807-tool.brep] b2 trotate b2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 5 trotate b2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7.1414284285428495 7.0000000000000009 -0 -38 ttranslate b2 0 0 2 explode b2 v settolerance b2_2 1.0e-7 checkshape b2 # Seems to be valid bcut result b1 b2 # Good result ********* Script # 2b (end) ************** Described behavior is obtained on CR29807* branch No tags attached.

#### Relationships

 related to 0029922 new msv Boolean operation with conical argument loses degenerated edge child of 0029860 assigned emv Modeling Algorithms - BOPAlgo_BuilderFace cannot build new faces correctly

#### Activities

 nbv 2018-07-19 16:30 developer   ~0077829 See the message 0029860:0077828.