View Issue Details

IDProjectCategoryView StatusLast Update
0026509Open CASCADEOCCT:Modeling Algorithmspublic2018-10-28 16:13
ReporternbvAssigned Toapn  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Product Version7.0.0 
Target Version7.4.0Fixed in Version7.4.0 
Summary0026509: Intersection algorithm produces set of curves providing closed contour in 3D-space and not closed contour in 2D-space
DescriptionIntersection algorithm produces set of curves providing closed contour in 3D-space and not closed contour in 2D-space.

The reason of this fact is in incorrect adjusting of some segment (part of full intersection result) going completely along the boundary to the opposite boundary shifted by period.

In other words, the segment must go (in 2D-space) along the U-isoline U=0 but intersector returns this segment along the the U-isoline U=2*PI.

See the attached file Shifted 2D-curve.PNG
Steps To Reproducecircle c1 0 0 0 0 -1 0 75
circle c2 0 0 0 0 -1 0 65
mkedge c1 c1
mkedge c2 c2
wire c1 c1
wire c2 c2
orientation c2 R
mkplane f1 c1 1
add c2 f1
prism p1 f1 0 1000 0
trotate p1 0 0 0 0 0 1 180
circle c3 50 500 -2000 0 0 1 50
mkedge c3 c3
wire c3 c3
mkplane f2 c3 1
prism p2 f2 0 0 4000
explode p1 f
explode p2 f
trotate p2_1 0 500 0 1 0 0 -77
trotate p2_1 0 0 0 0 0 1 180

bopcurves p1_2 p2_1 -2d
TagsNo tags attached.
Test case numberbugs modalg_7 bug26509_1, bug26509_2, bug26509_3, bug26509_4, bug26509_5, bug26509_6

Attached Files

  • Shifted 2D-curve.PNG (28,703 bytes)
  • Correct Splitting p-curve.PNG (17,139 bytes)

Relationships

child of 0024905 closedapn Boolean cut produced invalid result 

Activities

nbv

2016-10-25 17:18

developer   ~0059113

The bug is still reproduced on the current MASTER.

The result depends on the input tolerance heavily. E.g.

mksurf ss1 b1
mksurf ss2 b2
intersect ii ss1 ss2
# The result seems to be OK.

intersect ii ss1 ss2 2.0e-7
# WRONG

nbv

2018-10-22 15:19

developer   ~0080194

Dear Mikhail,

The result seems to be OK on the current MASTER.

msv

2018-10-22 16:00

developer   ~0080197

Please create test case.

git

2018-10-23 18:32

administrator   ~0080240

Branch CR26509 has been created by nbv.

SHA-1: 191d8fbe0f915ce2a21a2004ea1b46cf0133b86d


Detailed log of new commits:

Author: nbv
Date: Tue Oct 23 16:58:59 2018 +0300

    0026509: Wrong intersection curve(s) obtained for pair of faces.
    
    Algorithm of processing cases when the intersection curve has a segment along U-boundary of the surface has been improved.

git

2018-10-24 09:55

administrator   ~0080250

Branch CR26509 has been updated forcibly by nbv.

SHA-1: 6c558f8e5e4d28efb1a323c7f81918ffca49e821

nbv

2018-10-24 11:30

developer  

Shifted 2D-curve.PNG (28,703 bytes)

nbv

2018-10-24 11:32

developer   ~0080256

Description has been updated according to the behavior on the current MASTER.

git

2018-10-24 11:34

administrator   ~0080257

Branch CR26509 has been updated forcibly by nbv.

SHA-1: 68b73dada1dee04764b1612ba24ee3366f809dac

nbv

2018-10-25 11:46

developer  

Correct Splitting p-curve.PNG (17,139 bytes)

nbv

2018-10-25 11:46

developer   ~0080300

Last edited: 2018-10-25 14:30

Since the integration of the fix 0024905, the described problem has not to lead to any problems in high-level OCCT-algorithms.

The intersection algorithm between two cylindrical faces (since integration the fix #24915, the logic of Cylinder-Cylinder intersector significantly differs from the logic of intersector between other quadrics) checks the derivative (it can be said without going into detail) of 2D-intersection curve, which starts in the seam. In case shown in the attached picture "Shifted 2D-curve.PNG" this derivative is directed left (out of the boundary U=0; however, the angle between it and the vector {0,1} is about 1.0e-8; i.e. quite small but does not equal to 0). I.e. the algorithm "thinks" that this curve will be out of the face's boundary (U=0) in case if it will be continued. Therefore, it moves the curve to opposite boundary (U=2*PI). In my point of view, this behavior is good and is not needed to be changed.

Moreover, in the next case, 2D-curve is divided on two separated parts properly (see "Correct Splitting p-curve.PNG" attached picture):

    pcylinder cy1 100 500
    pcylinder cy2 20 500
    trotate cy2 0 0 250 0 1 0 90
    ttranslate cy2 200 0 0
    explode cy1 f
    explode cy2 f
    don cy1_1 cy2_1
    av2d; fit

    bopcurves cy1_1 cy2_1 -2d

    2dclear
    disp c2d1_*
    2dfit
    pcurve cy1_1


git

2018-10-25 12:01

administrator   ~0080301

Branch CR26509 has been updated forcibly by nbv.

SHA-1: c0b814951d7f43bd189dee0c846b14d7bdcdd6a9

nbv

2018-10-25 15:36

developer   ~0080317

Dear Mikhail,

Please review the current state of the branch CR26509. New test cases have been created only.

Test results are here: http://jenkins-test-12.nnov.opencascade.com/view/CR26509-master-NBV/

msv

2018-10-25 15:40

developer   ~0080319

Reviewed.

apn

2018-10-25 17:15

administrator   ~0080331

bugs modalg_7 bug26509_1 - OK
bugs modalg_7 bug26509_2 - OK
bugs modalg_7 bug26509_3 - OK
bugs modalg_7 bug26509_4 - OK
bugs modalg_7 bug26509_5 - OK
bugs modalg_7 bug26509_6 - OK

git

2018-10-28 16:13

administrator   ~0080406

Branch CR26509 has been deleted by inv.

SHA-1: c0b814951d7f43bd189dee0c846b14d7bdcdd6a9

Related Changesets

occt: master cdcf6fc2

2018-10-23 13:58:59

nbv


Committer: apn Details Diff
0026509: Intersection algorithm produces set of curves providing closed contour in 3D-space and not closed contour in 2D-space

Test cases have been created. No fix is needed because the described problem has not to be cause of failing of high-level OCCT-algorithms.
See the message 0026509:0080300 (issue 0026509) for detail information.
Affected Issues
0026509
add - tests/bugs/modalg_7/bug26509_1 Diff File
add - tests/bugs/modalg_7/bug26509_2 Diff File
add - tests/bugs/modalg_7/bug26509_3 Diff File
add - tests/bugs/modalg_7/bug26509_4 Diff File
add - tests/bugs/modalg_7/bug26509_5 Diff File
add - tests/bugs/modalg_7/bug26509_6 Diff File

Issue History

Date Modified Username Field Change
2015-07-31 13:31 pkv New Issue
2015-07-31 13:31 pkv Assigned To => msv
2015-07-31 13:31 pkv File Added: figure01.jpg
2015-07-31 13:32 pkv File Added: fb1_2
2015-07-31 13:32 pkv File Added: fb2_1
2015-07-31 13:33 pkv Steps to Reproduce Updated
2015-07-31 13:33 pkv Relationship added child of 0024905
2015-07-31 13:34 pkv Status new => assigned
2015-07-31 14:37 msv Assigned To msv => nbv
2015-10-28 11:22 msv Target Version 7.0.0 => 7.1.0
2016-10-25 17:18 nbv Note Added: 0059113
2016-10-25 17:44 msv Target Version 7.1.0 => 7.2.0
2017-07-24 09:33 msv Target Version 7.2.0 => 7.3.0
2017-12-05 17:08 msv Target Version 7.3.0 => 7.4.0
2018-10-22 15:19 nbv Note Added: 0080194
2018-10-22 15:19 nbv Assigned To nbv => msv
2018-10-22 15:19 nbv Status assigned => feedback
2018-10-22 16:00 msv Note Added: 0080197
2018-10-22 16:00 msv Assigned To msv => nbv
2018-10-22 16:00 msv Status feedback => assigned
2018-10-23 18:32 git Note Added: 0080240
2018-10-24 09:55 git Note Added: 0080250
2018-10-24 11:30 nbv Reporter pkv => nbv
2018-10-24 11:30 nbv Summary Wrong intersection curve(s) obtained for pair of faces. => Intersection algorithm produces set of curves providing closed contour in 3D-space and not closed contour in 2D-space
2018-10-24 11:30 nbv Description Updated
2018-10-24 11:30 nbv Steps to Reproduce Updated
2018-10-24 11:30 nbv File Added: Shifted 2D-curve.PNG
2018-10-24 11:30 nbv File Deleted: figure01.jpg
2018-10-24 11:31 nbv File Deleted: fb1_2
2018-10-24 11:31 nbv File Deleted: fb2_1
2018-10-24 11:32 nbv Note Added: 0080256
2018-10-24 11:34 git Note Added: 0080257
2018-10-25 11:46 nbv File Added: Correct Splitting p-curve.PNG
2018-10-25 11:46 nbv Note Added: 0080300
2018-10-25 12:01 git Note Added: 0080301
2018-10-25 14:25 nbv Note Edited: 0080300
2018-10-25 14:28 nbv Note Edited: 0080300
2018-10-25 14:30 nbv Note Edited: 0080300
2018-10-25 15:36 nbv Note Added: 0080317
2018-10-25 15:36 nbv Assigned To nbv => msv
2018-10-25 15:36 nbv Status assigned => resolved
2018-10-25 15:40 msv Note Added: 0080319
2018-10-25 15:40 msv Assigned To msv => bugmaster
2018-10-25 15:40 msv Status resolved => reviewed
2018-10-25 17:15 apn Test case number => bugs modalg_7 bug26509_1, bug26509_2, bug26509_3, bug26509_4, bug26509_5, bug26509_6
2018-10-25 17:15 apn Note Added: 0080331
2018-10-25 17:15 apn Status reviewed => tested
2018-10-28 13:20 apn Changeset attached => occt master cdcf6fc2
2018-10-28 13:20 apn Assigned To bugmaster => apn
2018-10-28 13:20 apn Status tested => verified
2018-10-28 13:20 apn Resolution open => fixed
2018-10-28 16:13 git Note Added: 0080406