|Anonymous | Login||2020-12-04 18:11 MSK|
|My View | View Issues | Change Log | Roadmap|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0024220||Open CASCADE||[OCCT] OCCT:Modeling Algorithms||public||2013-10-02 10:03||2013-12-19 13:58|
|Product Version||[OCCT] 6.6.0|
|Target Version||[OCCT] 6.7.0||Fixed in Version||[OCCT] 6.7.0|
|Summary||0024220: bopargcheck returns valid for C0 shape but results of boolean operations are broken with such shapes|
|Description||bopargcheck 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 Reproduce||pload ALL|
restore A.brep A
box b -25 -25 -10 50 50 12
bcut c b A
|Tags||No tags attached.|
|Test case number||bugs modalg_5(010) bug24220|
|Attached Files|| A.brep (7,526 bytes) 2013-10-02 10:03|
cut_broken.png (61,787 bytes) 2013-10-02 10:09
cut_expected.png (58,505 bytes) 2013-10-02 10:09
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.
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?
edited on: 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
|Eugene, please add check for G0 geometries to bopargcheck command|
|Git branch CR24220 is ready to be reviewed.|
|No remarks, please test|
Branch CR24220 (and products from GIT master) was compiled on Linux and Windows platforms and tested.
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)
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.
occt: master 0e09ee8e
Timestamp: 2013-10-10 10:27:16
|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
|mod - src/BOPAlgo/BOPAlgo.cdl|
|mod - src/BOPAlgo/BOPAlgo_ArgumentAnalyzer.cdl|
|mod - src/BOPAlgo/BOPAlgo_ArgumentAnalyzer.cxx|
|mod - src/BOPAlgo/BOPAlgo_ArgumentAnalyzer.lxx|
|mod - src/BOPTest/BOPTest_CheckCommands.cxx|
|add - tests/bugs/modalg_5/bug24220|
|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||View Revisions|
|2013-10-03 07:24||pkv||Note Edited: 0025855||View Revisions|
|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|
|Copyright © 2000 - 2020 MantisBT Team|