View Issue Details

IDProjectCategoryView StatusLast Update
0029351Open CASCADEOCCT:Modeling Algorithmspublic2018-06-29 21:19
ReporterifvAssigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Target Version7.3.0Fixed in Version7.3.0 
Summary0029351: Boolean Operations create invalid pcurves
DescriptionThis problem is reproduced only for branch CR26570_1, which has new checking for edge: checking the correspondence between the edge range and actual curve first/last parameters.
Tests bugs modalg_4 bug697_1 and bug697_5 failed because of new diagnostic:

checkshape result
On Shape faulty_1 :
BRepCheck_UnorientableShape
Shape faulty_2 on shape faulty_1 :
BRepCheck_InvalidRange

Faulty shapes in variables faulty_1 to faulty_2
Steps To ReproduceRun tests
bugs modalg_4 bug697_1
bugs modalg_4 bug697_5

Result:
CASE bugs modalg_4 bug697_1: FAILED (bad shape)
CASE bugs modalg_4 bug697_5: FAILED (bad shape)
TagsNo tags attached.
Test case numberNot required

Activities

emv

2017-12-05 13:29

developer   ~0072714

Last edited: 2017-12-05 13:34

In both reported cases the same shapes are used, so the failing pair of edge/face is also the same. After short analysis I have found that the invalid pcurve has been produced by the projection algorithm:
test bugs modalg_4 bug697_1
don faulty_1 faulty_2
fit

mksurface surf faulty_1
mkcurve c3d faulty_2
project c2d c3d surf

dump c3d 
# Parameters : 0 83.6892332611767

dump c2d
# Knots :
#   1 : 3.79967069842725e-007 14
#   2 : 11.2766829186747 12
#   3 : 32.7138459456005 12
#   4 : 46.0729431055823 12
#   5 : 83.6892332611767 14


The possible reason of this is that the part of the curve in the range 0, 3.79967069842725e-007 is out of the surface and cannot be projected.
So, the possible solution should be in applying the GeomLib::SameRange function to the produced 2d curve.

git

2017-12-05 14:24

administrator   ~0072715

Branch CR29351 has been created by emv.

SHA-1: 69c91dd72333234d61d1320ebbb41697380afbc4


Detailed log of new commits:

Author: emv
Date: Tue Dec 5 14:22:22 2017 +0300

    0029351: Boolean Operations create invalid pcurves
    
    When making pcurve for edge on face make sure that the produced 2D curve will have the same range with 3D curve of the edge.

Author: ifv
Date: Mon Nov 27 16:56:52 2017 +0300

    0026570: Crash on attempt to rotate a shape
    
    New check of edge range is added in BRepCheck/BRepCheck_Edge.cxx
    The same checking is added in ShapeAnalysis_Edge.cxx
    Fixing this problem is added in ShapeFix_Wire.cxx
    GeomLib::SameRange(...) and BRepTools_TrsfModification::NewCurve2d(...) are modified to avoid exception in TrimmedCurve
    Test case added

Author: vro
Date: Wed Aug 19 10:25:11 2015 +0300

    0026570: Crash on attempt to rotate a shape.
    An extended draw-command trotate (ttranslate, tmirror, ...) by an additional parameter "-copy".

emv

2017-12-05 14:24

developer   ~0072716

The branch should be tested on the base of #0026570.

git

2017-12-05 14:34

administrator   ~0072717

Branch CR29351 has been updated forcibly by emv.

SHA-1: d9576a08d3976e57ea2339db41838eb18a14176f

git

2017-12-07 08:26

administrator   ~0072746

Branch CR29351 has been updated forcibly by emv.

SHA-1: 13820df31a718eac33cbe221b45a202a4c657483

git

2017-12-07 11:08

administrator   ~0072753

Branch CR29351 has been updated forcibly by emv.

SHA-1: 26e808dfdf3733f93cd86abe8ee234dbe8d1e32d

emv

2017-12-07 14:21

developer   ~0072764

Last edited: 2017-12-07 14:21

Dear Mikhail, could you please review the git branch CR29351?

Please note, that it is based on the CR26570_1, thus Jenkins results at http://jenkins-test-10.nnov.opencascade.com:8080/view/CR29351-master-emv/view/COMPARE/ can be used for both 0029351 and #26570 patches.

git

2017-12-07 15:50

administrator   ~0072767

Branch CR29351 has been updated by emv.

SHA-1: 11b5682121f8fe3db50929af25cf73e97618d814


Detailed log of new commits:

Author: emv
Date: Thu Dec 7 15:50:17 2017 +0300

    # Small correction of comment.

msv

2017-12-07 15:57

developer   ~0072769

Reviewed.

bugmaster

2017-12-07 18:17

administrator   ~0072777

Combination -
OCCT branch : CR29351 SHA - 26e808dfdf3733f93cd86abe8ee234dbe8d1e32d
Products branch : master SHA - 415c5096b9b013d1fad1454581bcdbe1e6090b5d
was compiled on Linux, MacOS and Windows platforms and tested on optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian70-64:
OCCT
Total CPU difference: 18509.279999999697 / 18469.379999999688 [+0.22%]
Products
Total CPU difference: 7454.58000000001 / 7457.620000000003 [-0.04%]
Windows-64-VC10:
OCCT
Total CPU difference: 17847.2476046987 / 17828.96428749855 [+0.10%]
Products
Total CPU difference: 8020.183011099955 / 8009.6685436999705 [+0.13%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2017-12-11 12:00

administrator   ~0072896

Branch CR29351 has been deleted by kgv.

SHA-1: 11b5682121f8fe3db50929af25cf73e97618d814

Related Changesets

occt: master 0a807dd9

2017-12-05 11:22:22

emv


Committer: bugmaster Details Diff
0029351: Boolean Operations create invalid pcurves

When making pcurve for edge on face make sure that the produced 2D curve will have the same range as 3D curve of the edge.
Affected Issues
0029351
mod - src/BOPTools/BOPTools_AlgoTools2D.cxx Diff File
mod - tests/bugs/modalg_4/bug697_1 Diff File
mod - tests/bugs/modalg_4/bug697_5 Diff File

Issue History

Date Modified Username Field Change
2017-11-28 11:33 ifv New Issue
2017-11-28 11:33 ifv Assigned To => msv
2017-11-28 11:37 msv Assigned To msv => emv
2017-11-28 11:37 msv Status new => assigned
2017-12-05 13:29 emv Note Added: 0072714
2017-12-05 13:31 emv Note Edited: 0072714
2017-12-05 13:34 emv Note Edited: 0072714
2017-12-05 14:24 git Note Added: 0072715
2017-12-05 14:24 emv Note Added: 0072716
2017-12-05 14:34 git Note Added: 0072717
2017-12-07 08:26 git Note Added: 0072746
2017-12-07 11:08 git Note Added: 0072753
2017-12-07 14:21 emv Note Added: 0072764
2017-12-07 14:21 emv Assigned To emv => msv
2017-12-07 14:21 emv Status assigned => resolved
2017-12-07 14:21 emv Note Edited: 0072764
2017-12-07 15:50 git Note Added: 0072767
2017-12-07 15:57 msv Note Added: 0072769
2017-12-07 15:57 msv Assigned To msv => bugmaster
2017-12-07 15:57 msv Status resolved => reviewed
2017-12-07 18:17 bugmaster Note Added: 0072777
2017-12-07 18:17 bugmaster Status reviewed => tested
2017-12-07 18:18 bugmaster Test case number => Not required
2017-12-08 23:00 bugmaster Changeset attached => occt master 0a807dd9
2017-12-08 23:00 bugmaster Status tested => verified
2017-12-08 23:00 bugmaster Resolution open => fixed
2017-12-11 12:00 git Note Added: 0072896
2018-02-18 13:02 abv Target Version 7.4.0 => 7.3.0
2018-06-29 21:15 aiv Fixed in Version => 7.3.0
2018-06-29 21:19 aiv Status verified => closed