View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0026814 | Open CASCADE | OCCT:Modeling Algorithms | public | 2015-10-27 10:20 | 2017-08-15 15:10 |
Reporter | Assigned To | ||||
Priority | normal | Severity | minor | ||
Status | closed | Resolution | fixed | ||
Target Version | 7.3.0 | Fixed in Version | 7.1.0 | ||
Summary | 0026814: Strange result of Boolean operation in "boolean bsection N2" test case | ||||
Description | This bug has been detected while fixing bug 0026675. In short, algorithm of Boolean operation (BOP) rejects an edge, which is the intersection line of two faces (see Steps to reproduce for more detail information). This situation cannot be reproduced before integration of the fix for bug 0026675. The reason is that the intersection edge has greater tolerance (3.5545925001212765e-005) on MASTER than on the FIX. Therefore, on the MASTER this edge is shared with a_135_1. Nevertheless, on the FIX intersection curve is obtained with greater precision. ----------------------------------------- Try the following script to reproduce. The main question is Why bsection result does not contain any edges? Draw[]> restore [locate_data_file lh3d_px1.brep] a Draw[]> plane p 0 0 0 1 0 0 Draw[]> mkface f p Draw[]> explode a f Draw[]> donly a_135 Draw[]> bopcurves a_135 f -2d #c_1 (c2d1_1, c2d2_1): Tolerance Reached=3.7239063406803231e-006 Draw[]> explode a_135 e Draw[]> donly a_135 a_135_1 c_1 Draw[]> toler a_135_1 # Max tolerance for the EDGE is 1.0e-7 # 1.0e-7 + 3.7239063406803231e-006 = 3.8239063406803231e-006 ## 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_135_1 puts "$tpar : [dval dd_val]" } ## SCRIPT 1 (end) ## OUTPUT (begin) 0.0 : 5.4193376082637118e-006 0.1 : 5.2303380702458479e-006 ... 0.9999999999999999 : 7.1504370893251456e-010 ## OUTPUT (end) I.e. there are some points in the intersection edge, which are so far (distance is greater than 3.8239063406803231e-006) from a_135_1. Consequently, the intersection edge must have failed to share with a_135_1. However, Draw[]> bsection rr135 a_135 f Draw[]> donly a_135 rr135 Draw[]> nbshapes rr135 #VERTEX : 2, EDGE : 0 | ||||
Steps To Reproduce | test boolean bsection N2 | ||||
Tags | No tags attached. | ||||
Test case number | boolean bsection N2 | ||||
|
Ask to pay attention to the messages 0026675:0047612 and 0026815:0047546 while fixing. |
|
In bug #0026842 analogical problem is described. However, it reproduces on the current MASTER (different from this issue). |
|
DC, The problem described in this issue is not reproduced on the current MASTER. However, for getting correct result,two conditions must be satisfied: 1. The edge a_135_1 must be shared with section edge (with c_1 curve); 2. The edge a_135_1 must form common block with face f. If at least one condition is not satisfied the section result will not contain any edge (only vertices as it is described). |
|
Problem described in issue is not reproduced on current state of OCCT. Fixed in OCCT7.1.0. |
Date Modified | Username | Field | Change |
---|---|---|---|
2015-10-27 10:20 |
|
New Issue | |
2015-10-27 10:20 |
|
Assigned To | => msv |
2015-10-27 10:20 |
|
Relationship added | related to 0026675 |
2015-10-27 10:21 |
|
Steps to Reproduce Updated | |
2015-10-27 15:18 |
|
Description Updated | |
2015-10-27 15:18 |
|
Steps to Reproduce Updated | |
2015-10-28 17:35 |
|
Target Version | 7.0.0 => 7.1.0 |
2015-10-29 16:40 |
|
Note Added: 0047617 | |
2015-11-05 11:07 |
|
Note Added: 0047794 | |
2016-02-25 16:27 |
|
Note Added: 0051127 | |
2016-10-28 17:03 |
|
Target Version | 7.1.0 => 7.2.0 |
2017-07-24 09:32 |
|
Target Version | 7.2.0 => 7.3.0 |
2017-08-15 15:10 |
|
Test case number | => boolean bsection N2 |
2017-08-15 15:10 |
|
Note Added: 0069399 | |
2017-08-15 15:10 |
|
Status | new => closed |
2017-08-15 15:10 |
|
Resolution | open => fixed |
2017-08-15 15:10 |
|
Fixed in Version | => 7.1.0 |