View Issue Details

IDProjectCategoryView StatusLast Update
0022702CommunityOCCT:Modeling Algorithmspublic2022-10-24 10:42
Reporterszy Assigned Tomsv  
PrioritynormalSeveritymajor 
Status assignedResolutionopen 
PlatformAOSL 
Product Version6.5.1 
Target Version7.8.0 
Summary0022702: Low performance of Boolean operations
Descriptionpost from the Forum - http://www.opencascade.org/org/forum/thread_21538/.
Attached is a Step file and images showing how the common shape of this object and 100 vertical planar rectangular surfaces, should look like.

intersecting the model attached, with 100 planar surfaces takes 3.5 minutes in OPenCascade and only 7 seconds in Catia:

Within OpenCascade:
hours:0.0586056
minutes: 3.51633
seconds 210.98
milliseconds: 210980

Catia:
seconds 7
Besides it seems not all section were produced.
Steps To ReproduceAttachment content:
Cheese.step ---> step export of body from catia
planes.step ---> generated from the code in the thread link above
slices.png ---> result of opencascade Brep_AlgoApi_common
solidshape.png --> view of cheese.step
Scenario:
I load the cheese file,
i load the planes file
then i do a common between them.

that common is taking 3.5 minutes.
Draw reproducer:
pload ALL
readstep cheese.stp s *
readstep planes.stp p *
chrono h reset;chrono h start
bcommon r s_1 p_1
chrono h stop show COUNTER common
don r
fit
TagsNo tags attached.
Test case numberbugs moddata_3(013) bug22702

Attached Files

  • slicer2.rar (627,553 bytes)

Relationships

related to 0024653 newifv Open CASCADE Improving IntPolyh_MaillageAffinage 
related to 0023446 closedbugmaster Open CASCADE Wrong bounding box calculated by BRepBndLib 

Activities

szy

2011-08-17 17:23

manager  

slicer2.rar (627,553 bytes)

pkv

2012-10-31 14:18

developer   ~0022032

Last edited: 2012-10-31 14:18

I. Triangulation
It seems that Catia uses triangulation, but it does not export it in STEP.
We have no triangulation on s_1, p_1.

# Build the triangulation
vinit
vdisplay s_1
vsetdispmode s_1 1
vdisplay p_1
vsetdispmode p_1 1
#
# Launch bop
bop s_1 p_1

The time is reduced in 4.5 times

ifv

2013-09-02 12:07

developer   ~0025429

This is first patch to solve problem

ifv

2013-09-02 12:08

developer   ~0025430

CR22702 is created and pushed by first part of fix for preliminary testing.

mkv

2013-09-04 16:35

tester   ~0025451

Dear BugMaster,

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

Number of compiler warnings:

occt component :
Linux: 783 (781 on master)
Windows: 386 (386 on master)

products component :
Linux: 188 (191 on master)
Windows: 287 (287 on master)

Regressions:
No regressions

Improvements:
http://occt-tests/CR22702-master-occt/Debian60-64/bugs/modalg_2/bug264_10.html
http://occt-tests/CR22702-master-occt/Windows-32-VC9/bugs/modalg_2/bug264_10.html
bugs modalg_2(007) bug264_10

Testing cases:
http://occt-tests/CR22702-master-occt/Windows-32-VC9/bugs/moddata_3/bug22702.html
http://occt-tests/CR22702-master-occt/Debian60-64/bugs/moddata_3/bug22702.html
bugs moddata_3(013) bug22702 - OK.

Testing on Linux:
Total MEMORY difference: 364043184 / 363713580
Total CPU difference: 40683.900000000685 / 42453.98000000112

Testing on Windows:
Total MEMORY difference: 426389224 / 429662348
Total CPU difference: 36427.15625 / 31260.515625

There are not differences in images found by testdiff.

ifv

2013-09-11 18:26

developer   ~0025535

CR22702 is pushed by second part of fix for preliminary testing.

mkv

2013-09-13 16:22

tester   ~0025569

Dear BugMaster,

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

Number of compiler warnings:

occt component :
Linux: 786 (787 on master)
Windows: 396 (392 on master) - 4 new warnings.

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

Regressions:
http://occt-tests/CR22702-master-occt/Windows-32-VC9/summary.html
http://occt-tests/CR22702-master-occt/Debian60-64/summary.html

Improvements:
http://occt-tests/CR22702-master-occt/Windows-32-VC9/summary.html
http://occt-tests/CR22702-master-occt/Debian60-64/summary.html

Testing cases:
http://occt-tests/CR22702-master-occt/Windows-32-VC9/bugs/moddata_3/bug22702.html
http://occt-tests/CR22702-master-occt/Debian60-64/bugs/moddata_3/bug22702.html
bugs moddata_3(013) bug22702: FAILED.

apv

2017-10-11 14:10

tester   ~0071341

Problem described in issue is reproduced on current state of OCCT.

msv

2017-11-14 17:44

developer   ~0072250

I have added chronometer in steps to reproduce and performed the test in different versions of OCCT. Below are CPU time spent in Boolean common operation.

OCCT 6.3.1: 84 s
OCCT 6.5.0: 95 s
OCCT 6.5.1: 93 s
OCCT 6.7.0: 190 s
OCCT 6.9.1: 48 s
OCCT 7.0.0: 52 s
OCCT 7.1.0: 53 s
OCCT 7.2.0: 34 s
OCCT dev: 34 s

Using parallel execution, with 4 CPU kernels, the elapsed time in dev version is about 12 seconds. So, now the time is comparable with CATIA execution.

Issue History

Date Modified Username Field Change
2011-08-17 17:23 szy New Issue
2011-08-17 17:23 szy Assigned To => bugmaster
2011-08-17 17:23 szy File Added: slicer2.rar
2011-09-21 14:22 szy Target Version => 6.5.3
2011-09-22 16:53 szy Assigned To bugmaster => pkv
2011-09-22 16:53 szy Status new => assigned
2012-02-09 09:21 abv Target Version 6.5.3 => 6.5.4
2012-10-23 19:17 abv Target Version 6.5.4 => 6.6.0
2012-10-31 14:18 pkv Note Added: 0022032
2012-10-31 14:18 pkv Note Edited: 0022032
2012-10-31 14:18 pkv Note Edited: 0022032
2013-03-29 21:27 abv Target Version 6.6.0 => 6.7.0
2013-09-02 12:06 ifv Assigned To pkv => ifv
2013-09-02 12:07 ifv Note Added: 0025429
2013-09-02 12:07 ifv Status assigned => resolved
2013-09-02 12:08 ifv Note Added: 0025430
2013-09-02 12:08 ifv Status resolved => reviewed
2013-09-02 15:04 mkv Assigned To ifv => mkv
2013-09-04 16:35 mkv Note Added: 0025451
2013-09-04 16:36 mkv Test case number => bugs moddata_3(013) bug22702
2013-09-04 16:36 mkv Assigned To mkv => ifv
2013-09-04 16:36 mkv Status reviewed => feedback
2013-09-11 18:26 ifv Note Added: 0025535
2013-09-11 18:26 ifv Status feedback => reviewed
2013-09-12 08:41 mkv Assigned To ifv => mkv
2013-09-13 16:22 mkv Note Added: 0025569
2013-09-13 16:22 mkv Assigned To mkv => ifv
2013-09-13 16:22 mkv Status reviewed => assigned
2013-12-21 10:13 abv Target Version 6.7.0 => 6.7.1
2014-02-21 14:32 ifv Relationship added related to 0024653
2014-04-04 18:09 abv Target Version 6.7.1 => 6.8.0
2014-09-11 09:26 abv Target Version 6.8.0 => 7.1.0
2015-01-27 13:33 abv Relationship added related to 0023446
2016-10-28 11:54 msv Target Version 7.1.0 => 7.2.0
2017-07-21 11:34 msv Target Version 7.2.0 => 7.3.0
2017-10-11 14:10 apv Note Added: 0071341
2017-11-14 17:44 msv Note Added: 0072250
2017-11-14 17:44 msv Steps to Reproduce Updated
2017-11-15 17:54 msv Assigned To ifv => msv
2017-12-05 17:08 msv Target Version 7.3.0 => 7.4.0
2019-08-12 16:37 msv Target Version 7.4.0 => 7.5.0
2020-09-14 22:56 msv Target Version 7.5.0 => 7.6.0
2021-08-29 18:53 msv Target Version 7.6.0 => 7.7.0
2022-10-24 10:42 szy Target Version 7.7.0 => 7.8.0