View Issue Details

IDProjectCategoryView StatusLast Update
0027648Open CASCADEOCCT:Modeling Algorithmspublic2018-07-01 19:21
Reportermsv Assigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Product Version7.0.0 
Target Version7.4.0Fixed in Version7.4.0 
Summary0027648: [Regression to 6.9.1] Section produces self-intersecting curve
DescriptionThe script in steps to reproduce generates errors.
The section curve in nearly linear b-spline directed along Z axis. So, we expect that Z value of curve points must be increased along with increased parameter on the curve. The script generates error each time the Z value of the current point is less than of the previous one.
Steps To Reproducerestore simple.brep s
explode s
explode s_2
bsection r s_1 s_2
explode s_2 f

# find section edge belonging to the face s_2_3
foreach e [explode r e] {
  if {[catch {mk2dcurve c2d $e s_2_3}] == 0} {
    break
  }
}

mkcurve c $e

# in a loop, check that curve has increased Z value along its length
set delta 0.001
cvalue c 0 xp yp zp
for {set p 0} {$p <= 1} {set p [expr $p + $delta]} {
  cvalue c $p x y z
  if {[dval z] < [dval zp]} {
    puts "Error on parameter $p"
  }
  copy z zp
}
TagsNo tags attached.
Test case numberbugs modalg_7 bug27648

Attached Files

  • simple.brep (1,351,108 bytes)
  • bug27648 (763 bytes)

Relationships

related to 0027553 assignedjgv Community Modeling Algorithms - BRepFeat_SplitShape returns self-intersecting result since OCC 7.0.0 

Activities

msv

2016-06-27 16:51

developer  

simple.brep (1,351,108 bytes)

msv

2016-06-27 17:14

developer   ~0055507

Last edited: 2016-06-27 17:14

Note that the second argument of section in the script is a shell containing of 4 faces. The bug will be not reproduced if we put there directly the problem face s_2_3. In this case the produced section curve has no self-intersections.

nbv

2016-11-02 17:46

developer  

bug27648 (763 bytes)

nbv

2016-11-02 17:51

developer   ~0059808

Dear Julia,

Please check if this issue is fixed by #27079 having used already prepared test case (see "bug27648" attached file) - by using "testgrid" command.

If your fix does not help to solve the problem please assign this issue to me again.

msv

2017-07-20 16:34

developer   ~0068503

Dear bugmaster, please test if it is reproduced.

git

2017-07-21 15:01

administrator   ~0068558

Branch CR27648 has been created by mkv.

SHA-1: 5ddcffe2f2318b105c0a0c5103ff3d108198f4f8


Detailed log of new commits:

Author: mkv
Date: Fri Jul 21 15:00:48 2017 +0300

    Test for 0027648: [Regression to 6.9.1] Section produces self-intersecting curve

git

2017-07-21 15:06

administrator   ~0068560

Branch CR27648 has been updated by mkv.

SHA-1: 3b81f860f36c7f069f6c3083741d424bf6845925


Detailed log of new commits:

Author: mkv
Date: Fri Jul 21 15:05:57 2017 +0300

    Test for 0027648: [Regression to 6.9.1] Section produces self-intersecting curve

mkv

2017-07-21 15:08

tester   ~0068561

Dear msv,
problem described in issue is reproduced on current state of OCCT.

jgv

2018-04-02 15:26

developer   ~0075107

Dear Mikhail,

Please put the shape "simple.brep" in the database.

msv

2018-04-02 15:43

developer   ~0075108

Shape already present under name bug27648_simple.brep

jgv

2018-06-28 13:58

developer   ~0077090

Fixed by #29511.

msv

2018-06-28 15:28

developer   ~0077096

Please create a test case.

nbv

2018-06-28 15:31

developer   ~0077100

Test case has already been written (please see bug27648 attached file).

So, it should be only integrated in some branch.

msv

2018-06-28 15:40

developer   ~0077102

Test is present, so just close the bug.

git

2018-06-30 13:35

administrator   ~0077154

Branch CR27648 has been deleted by inv.

SHA-1: 3b81f860f36c7f069f6c3083741d424bf6845925

bugmaster

2018-07-01 19:21

administrator   ~0077181

Problem has been healed by fix for 0029511.

Related Changesets

occt: master e67e482d

2018-03-30 10:30:44

jgv


Committer: bugmaster Details Diff
0029511: Section fails for these two faces

Modified method: Approx_ComputeLine::Compute
Check of multicurve is now always unconditional, the procedure of check is modified to avoid infinite loops.

Modified classes: GeomLib_CheckBSplineCurve and GeomLib_Check2dBSplineCurve
Correction of poles at the ends of curve is modified to fit the direction of tangent defined by two first points or two last points of walking line.

Also modified:

BOPAlgo_PaveFiller: modified methods PostTreatFF, RemoveUsedVertices - now unused vertices are included in the list of vertices to be absorbed by other ones.
Affected Issues
0027648
mod - src/AppDef/AppDef_Compute.hxx Diff File
mod - src/Approx/Approx_ComputeLine.gxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller.hxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller_6.cxx Diff File
mod - src/BRepApprox/BRepApprox_TheComputeLineBezierOfApprox.hxx Diff File
mod - src/GeomInt/GeomInt_IntSS.lxx Diff File
mod - src/GeomInt/GeomInt_TheComputeLineBezierOfWLApprox.hxx Diff File
mod - src/GeomLib/GeomLib_Check2dBSplineCurve.cxx Diff File
mod - src/GeomLib/GeomLib_Check2dBSplineCurve.hxx Diff File
mod - src/GeomLib/GeomLib_CheckBSplineCurve.cxx Diff File
mod - src/GeomLib/GeomLib_CheckBSplineCurve.hxx Diff File
mod - src/IntTools/IntTools_FaceFace.cxx Diff File
mod - src/TopOpeBRepTool/TopOpeBRepTool_CurveTool.cxx Diff File
mod - tests/bugs/modalg_5/bug24585_1 Diff File
add - tests/bugs/modalg_6/bug27079_3 Diff File
add - tests/bugs/modalg_6/bug27079_4 Diff File
mod - tests/bugs/modalg_6/bug27431 Diff File
add - tests/bugs/modalg_7/bug27648 Diff File
mod - tests/bugs/modalg_7/bug28216 Diff File
add - tests/bugs/modalg_7/bug29511 Diff File

Issue History

Date Modified Username Field Change
2016-06-27 16:51 msv New Issue
2016-06-27 16:51 msv Assigned To => msv
2016-06-27 16:51 msv File Added: simple.brep
2016-06-27 16:52 msv Steps to Reproduce Updated
2016-06-27 17:01 msv Steps to Reproduce Updated
2016-06-27 17:02 msv Relationship added related to 0027553
2016-06-27 17:02 msv Summary [Regression to 6.9.1] Section produces self-intersected curve => [Regression to 6.9.1] Section produces self-intersecting curve
2016-06-27 17:05 msv Assigned To msv => nbv
2016-06-27 17:05 msv Status new => assigned
2016-06-27 17:14 msv Note Added: 0055507
2016-06-27 17:14 msv Note Edited: 0055507
2016-11-02 17:46 nbv File Added: bug27648
2016-11-02 17:51 nbv Note Added: 0059808
2016-11-02 17:51 nbv Assigned To nbv => jgv
2016-11-02 17:51 nbv Status assigned => feedback
2016-11-18 16:05 msv Target Version 7.1.0 => 7.2.0
2017-07-20 16:34 msv Note Added: 0068503
2017-07-20 16:34 msv Assigned To jgv => bugmaster
2017-07-20 19:43 bugmaster Assigned To bugmaster => mkv
2017-07-21 15:01 git Note Added: 0068558
2017-07-21 15:06 git Note Added: 0068560
2017-07-21 15:08 mkv Assigned To mkv => msv
2017-07-21 15:08 mkv Note Added: 0068561
2017-07-21 15:08 mkv Test case number => bugs modalg_7 bug27648
2017-07-21 15:46 msv Assigned To msv => nbv
2017-07-21 15:46 msv Status feedback => assigned
2017-07-21 15:46 msv Target Version 7.2.0 => 7.3.0
2017-12-05 17:09 msv Target Version 7.3.0 => 7.4.0
2018-04-02 15:26 jgv Assigned To nbv => msv
2018-04-02 15:26 jgv Note Added: 0075107
2018-04-02 15:26 jgv Status assigned => feedback
2018-04-02 15:43 msv Note Added: 0075108
2018-04-02 15:43 msv Status feedback => assigned
2018-04-02 15:43 msv Assigned To msv => jgv
2018-06-28 13:58 jgv Note Added: 0077090
2018-06-28 13:58 jgv Assigned To jgv => bugmaster
2018-06-28 13:58 jgv Status assigned => feedback
2018-06-28 15:28 msv Note Added: 0077096
2018-06-28 15:28 msv Assigned To bugmaster => jgv
2018-06-28 15:31 nbv Note Added: 0077100
2018-06-28 15:39 msv Assigned To jgv => bugmaster
2018-06-28 15:40 msv Note Added: 0077102
2018-06-29 11:54 bugmaster Status feedback => closed
2018-06-29 11:54 bugmaster Resolution open => no change required
2018-06-30 13:35 git Note Added: 0077154
2018-07-01 17:41 abv Changeset attached => occt master e67e482d
2018-07-01 19:19 bugmaster Status closed => feedback
2018-07-01 19:19 bugmaster Resolution no change required => reopened
2018-07-01 19:21 bugmaster Note Added: 0077181
2018-07-01 19:21 bugmaster Status feedback => verified
2018-07-01 19:21 bugmaster Resolution reopened => fixed