View Issue Details

IDProjectCategoryView StatusLast Update
0024220Open CASCADEOCCT:Modeling Algorithmspublic2013-12-19 13:58
Reporterkgv Assigned Tobugmaster  
Status closedResolutionfixed 
Product Version6.6.0 
Target Version6.7.0Fixed in Version6.7.0 
Summary0024220: bopargcheck returns valid for C0 shape but results of boolean operations are broken with such shapes
Descriptionbopargcheck command has been introduced to determine shapes which do not supported by boolean operations by design.

However for shapes with C0 curves this command return OK although results of boolean operations are worst.

It should be either - bopargcheck or boolean operations to be fixed.
Steps To Reproducepload ALL
restore A.brep A
box b -25 -25 -10 50 50 12
bopargcheck A
bcut c b A

TagsNo tags attached.
Test case numberbugs modalg_5(010) bug24220

Attached Files

  • A.brep (7,526 bytes)
  • cut_broken.png (61,787 bytes)
  • cut_expected.png (58,505 bytes)


related to 0024181 closedbugmaster Text to BRep functionality 



2013-10-02 10:03


A.brep (7,526 bytes)


2013-10-02 10:09


cut_broken.png (61,787 bytes)


2013-10-02 10:09


cut_expected.png (58,505 bytes)


2013-10-02 18:36

developer   ~0025853

Problem is not in BO, but in intersection algorithm. Intersection algo does not support treating of C0 surfaces by correct way.
Implementation of support of C0 surfaces does not seem to be quick task, so for current moment I prefer to fix bopargcheck, if it is very necessary.

I think that implementation of treating C0 surfaces is useful and can be included in OCCT development plan.


2013-10-02 19:07

manager   ~0025854

The fact is that BOP do not work well on C0 (or probably it would be better to speak about G0) geometries; and it does not matter that the root-cause is in intersectors. Hence I believe bopargcheck should report C0 geometries as bad for BOP. This would allow the users to recognize the problem and fix it (we have some tools to split C0 shapes in ShapeHealing).

Alternatively, we can declare C0/G0 geometries as valid for BOP and make intersectors to deal with them, but my feeling is that this does not worth the candle taking into account possibility to split.

Peter, could you please give your opinion?


2013-10-03 06:50

developer   ~0025855

Last edited: 2013-10-03 07:24

IMHO there are several ways:
I agree with Igor.
Just add the option to bopargcheck, and write some code to process will be OK for the moment if unbearable.
But keep in mind that in the case, the check should be provided for
1.all OCC algorithms that do not treat CO cases
2 all algorithms that use OCC algorithms that do not treat CO cases
3.all algorithms that use algorithms that use OCC algorithms that do not treat CO cases
4.and so on...

Write the matter in documentation as limitation case for the algorithm. It is widespread.

Find a hero and fix the problem in OCC libraries. It is unpromising.
Though the main thing here is to move this discussion to the TC working
group(ABV, IFV, PKV, AZV, KGV) to define the action plan. ASAP, DL, etc


2013-10-03 11:05

manager   ~0025861

Eugene, please add check for G0 geometries to bopargcheck command


2013-10-07 10:56

developer   ~0025930

Git branch CR24220 is ready to be reviewed.


2013-10-08 09:13

manager   ~0025946

No remarks, please test


2013-10-09 10:02

tester   ~0025981

Dear BugMaster,

Branch CR24220 (and products from GIT master) was compiled on Linux and Windows platforms and tested.
SHA-1: a362ec090ae8dc594082917d16c8cfbe69081982

Number of compiler warnings:

occt component :
Linux: 429 (424 on master)
Windows: 9 (9 on master)

products component :
Linux: 190 (189 on master)
Windows: 287 (287 on master)

No regressions/differences

Testing cases:
bugs modalg_5(010) bug24220: OK

Testing on Linux:
Total MEMORY difference: 365433256 / 367228872
Total CPU difference: 44908.45000000144 / 44590.79000000126

Testing on Windows:
Total MEMORY difference: 432612372 / 433283820
Total CPU difference: 40910.75 / 41888.375

There are not differences in images found by testdiff.

Related Changesets

occt: master 0e09ee8e

2013-10-10 10:27:16


Committer: bugmaster Details Diff
0024220: bopargcheck returns valid for C0 shape but results of boolean operations are broken with such shapes

Added check for C0 geometries to bopargcheck command.
Test cases for issue CR24220
Affected Issues
mod - src/BOPAlgo/BOPAlgo.cdl Diff File
mod - src/BOPAlgo/BOPAlgo_ArgumentAnalyzer.cdl Diff File
mod - src/BOPAlgo/BOPAlgo_ArgumentAnalyzer.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_ArgumentAnalyzer.lxx Diff File
mod - src/BOPTest/BOPTest_CheckCommands.cxx Diff File
add - tests/bugs/modalg_5/bug24220 Diff File

Issue History

Date Modified Username Field Change
2013-10-02 10:03 kgv New Issue
2013-10-02 10:03 kgv Assigned To => ifv
2013-10-02 10:03 kgv File Added: A.brep
2013-10-02 10:09 kgv File Added: cut_broken.png
2013-10-02 10:09 kgv File Added: cut_expected.png
2013-10-02 10:09 kgv Relationship added related to 0024181
2013-10-02 18:22 ifv Assigned To ifv => abv
2013-10-02 18:22 ifv Status new => feedback
2013-10-02 18:24 ifv Assigned To abv => ifv
2013-10-02 18:24 ifv Status feedback => assigned
2013-10-02 18:36 ifv Note Added: 0025853
2013-10-02 18:36 ifv Assigned To ifv => abv
2013-10-02 18:36 ifv Status assigned => feedback
2013-10-02 19:07 abv Assigned To abv => pkv
2013-10-02 19:07 abv Note Added: 0025854
2013-10-03 06:50 pkv Note Added: 0025855
2013-10-03 06:51 pkv Assigned To pkv => abv
2013-10-03 06:51 pkv Note Edited: 0025855
2013-10-03 07:24 pkv Note Edited: 0025855
2013-10-03 11:05 abv Note Added: 0025861
2013-10-03 11:05 abv Assigned To abv => emv
2013-10-03 11:05 abv Status feedback => assigned
2013-10-07 10:56 emv Note Added: 0025930
2013-10-07 10:56 emv Assigned To emv => abv
2013-10-07 10:56 emv Status assigned => resolved
2013-10-08 07:30 emv Assigned To abv => emv
2013-10-08 07:30 emv Status resolved => assigned
2013-10-08 07:55 emv Assigned To emv => abv
2013-10-08 07:55 emv Status assigned => resolved
2013-10-08 09:13 abv Note Added: 0025946
2013-10-08 09:13 abv Assigned To abv => emv
2013-10-08 09:13 abv Status resolved => reviewed
2013-10-08 10:41 emv Assigned To emv => mkv
2013-10-09 10:02 mkv Note Added: 0025981
2013-10-09 10:03 mkv Test case number => bugs modalg_5(010) bug24220
2013-10-09 10:03 mkv Assigned To mkv => bugmaster
2013-10-09 10:03 mkv Status reviewed => tested
2013-10-11 13:35 bugmaster Changeset attached => occt master 0e09ee8e
2013-10-11 13:35 bugmaster Status tested => verified
2013-10-11 13:35 bugmaster Resolution open => fixed
2013-12-19 13:51 bugmaster Status verified => closed
2013-12-19 13:58 bugmaster Fixed in Version => 6.7.0