View Issue Details

IDProjectCategoryView StatusLast Update
0026815Open CASCADEOCCT:Modeling Algorithmspublic2017-08-15 15:00
ReporternbvAssigned Tomsv  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Target Version7.3.0Fixed in Version7.0.0 
Summary0026815: The algorithm of sharing edges in Boolean operation should be improved
DescriptionThis bug has been detected while fixing bug 0026675.

The sharing criteria in Boolean algorithm (BOP) seems to be wrong (See Steps To Reproduce for more detail information).

However, before fixing bug 0026675 (when edges were shared), the result of "bugs modalg_1 bug1255" test case seemed to be OK (the section was closed). After fixing (the edges have become not shared), the result has become worse (not closed section with prominent edges).

P.S.

The reason of non-sharing edges in the fix of bug 0026675 is not in bad curve obtaining. Simply, new curve is not satisfied some criteria (which is quite strange) of sharing. Therefore, here we should improve these criteria.

--------------------------------------------------------------------------
Try the following script to explanation (before integration of the fix for bug 0026675, when edges are shared).

The main question is that: Shall we share the intersection edge with a_127_2? and Why?

Draw[]> restore [locate_data_file OCC1255.brep] a
Draw[]> plane p1 0 -36.8067 0 0 1 0
Draw[]> mkface f1 p1
Draw[]> explode a f
Draw[]> don a_127
Draw[]> bopcurves a_127 f1 -2d
c_1 (c2d1_1, c2d2_1): Tolerance Reached=5.2341761834968929e-007

Draw[]> donly a_127 a_127_2 c_1
Draw[]> toler a_127_2
# Max tolerance for the EDGE is 0.71713962557950595
# 0.71713962557950595 + 5.2341761834968929e-007 = 0.7171401489971243

## SCRIPT 1 (begin)
for {set tpar 0.0} {$tpar <= 1.0} {set tpar [expr $tpar+0.1]} {
  cvalue c_1 $tpar xx yy zz
  vertex vv xx yy zz
  distmini dd vv a_127_2
  
  puts "$tpar : [dval dd_val]"
}
## SCRIPT 1 (end)

## OUTPUT (begin)

....
0.5 : 0.78754762295687031
0.6 : 0.89670820817671237
0.7 : 0.91042618982024404
0.7999999999999999 : 0.88204754356768622
0.8999999999999999 : 0.86012769822760604
0.9999999999999999 : 0.88099908034707475

## OUTPUT (end)

I.e. there are some points in the intersection edge, which are so far (distance is greater than 0.7171401489971243) from a_127_2.

However,

Draw[33]> bsection r2 a_127 f1
Draw[35]> don a_127 r2
Steps To ReproduceTest bugs modalg_1 bug1255 (and 1255_1)
TagsNo tags attached.
Test case numberbugs modalg_1 bug1255, bug1255_1

Attached Files

  • boolean bsection M9 (Image diference).PNG (41,033 bytes)

Relationships

related to 0026675 closedbugmaster Open CASCADE Eliminate normalization of coordinates in ApproxInt package 

Activities

nbv

2015-10-28 15:48

developer   ~0047546

Last edited: 2015-11-24 10:35

After integration of fix for bug #26431, difference in image have been detected (see boolean bsection M9 (Image diference).PNG attached picture: "Version A" is the FIX, "Version B" is the MASTER).

Please pay attention to this fact (and to the message 0026675:0047612) when developing new criterion.

nbv

2015-11-24 10:39

developer  

boolean bsection M9 (Image diference).PNG (41,033 bytes)

nbv

2016-02-25 16:00

developer   ~0051124

Tests bugs modalg_1 bug1255 (and 1255_1) have been fixed in frame of issue #27179.

boolean bsection M9 image will be different. Therefore, we should reformulate this bug (after integration the fix #27179) in order to fix differences in images.

mkv

2017-08-15 15:00

tester   ~0069397

Problem described in issue is not reproduced on current state of OCCT. Fixed in OCCT7.0.0.

Issue History

Date Modified Username Field Change
2015-10-27 11:10 nbv New Issue
2015-10-27 11:10 nbv Assigned To => msv
2015-10-27 12:06 nbv Relationship added related to 0026675
2015-10-27 15:29 nbv Description Updated
2015-10-27 15:29 nbv Steps to Reproduce Updated
2015-10-27 15:29 nbv Description Updated
2015-10-27 15:38 nbv Description Updated
2015-10-28 15:33 nbv File Added: boolean bsection N4 (Image diference).PNG
2015-10-28 15:48 nbv Note Added: 0047546
2015-10-28 17:29 msv Target Version 7.0.0 => 7.1.0
2015-10-29 16:07 nbv File Deleted: boolean bsection N4 (Image diference).PNG
2015-10-29 16:07 nbv File Added: boolean bsection N4 (Image diference).PNG
2015-10-29 16:07 nbv File Added: boolean bsection M9 (Image diference).PNG
2015-10-29 16:09 nbv Note Edited: 0047546
2015-11-24 10:34 nbv File Deleted: boolean bsection N4 (Image diference).PNG
2015-11-24 10:35 nbv Note Edited: 0047546
2015-11-24 10:39 nbv File Deleted: boolean bsection M9 (Image diference).PNG
2015-11-24 10:39 nbv File Added: boolean bsection M9 (Image diference).PNG
2016-02-25 16:00 nbv Note Added: 0051124
2016-10-28 17:03 msv Target Version 7.1.0 => 7.2.0
2017-07-24 09:32 msv Target Version 7.2.0 => 7.3.0
2017-08-15 15:00 mkv Test case number => bugs modalg_1 bug1255, bug1255_1
2017-08-15 15:00 mkv Note Added: 0069397
2017-08-15 15:00 mkv Status new => closed
2017-08-15 15:00 mkv Resolution open => fixed
2017-08-15 15:00 mkv Fixed in Version => 7.0.0