MantisBT - Open CASCADE
View Issue Details
0026495Open CASCADE[OCCT] OCCT:Shape Healingpublic2015-07-29 10:392015-07-29 10:53
[OCCT] 6.9.0 
[OCCT] Unscheduled 
0026495: Sewing produces fictive degenerated edges
The attached shape is a compound of faces came from an IGES file. When one makes sewing of these faces the result shape contains degenerated edges, which are actually do not point to any singularity of the surface.

An OCCT algorithm must not produce such degenerated edges. If we need to cover a gap in 2D contours of a face it is needed to use other means than creating degenerated edges. Such fictive degenerated edges make problems in other OCCT algorithms, which assume that a degenerated edge points to a singularity in the surface.

Please see the bug #26442, in particular the comment 0026442:0043195, for an example of such algorithm.
restore 2015-01-7108_cut.brep a

#make sewing
sewing s 1e-4 a

#count fictive degenerated edges
set nb_fictive_deg 0
foreach f [explode s f] {
  if {[lsearch [dump $f] degenerated] != -1} {
    #face $f contains degenerated edges
    mksurface su $f
    foreach e [explode $f e] {
      if {[lsearch [dump $e] degenerated] != -1} {
        #edge $e is degenerated
        pcurve c2d $e $f
        #approximate 3d curve and compute its length
        approxcurveonsurf c3d c2d su
        set len3d [lindex [length c3d] end]
        if {$len3d > 1e-7} {
          #length of edge in 3D is not null
          incr nb_fictive_deg
          puts "$e, length 3d = $len3d"
if $nb_fictive_deg {
  puts "Error: sewing produced $nb_fictive_deg fictive degenerated edges"
No tags attached.
? 2015-01-7108_cut.brep (1,653,884) 2015-07-29 10:39
Issue History
2015-07-29 10:39msvNew Issue
2015-07-29 10:39msvAssigned To => gka
2015-07-29 10:39msvFile Added: 2015-01-7108_cut.brep
2015-07-29 10:40msvRelationship addedparent of 0026442
2015-07-29 10:41msvRelationship addedparent of 0026464

There are no notes attached to this issue.