View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0026495 | Open CASCADE | OCCT:Shape Healing | public | 2015-07-29 10:39 | 2015-07-29 10:53 |
Reporter | Assigned To | ||||
Priority | normal | Severity | minor | ||
Status | new | Resolution | open | ||
Product Version | 6.9.0 | ||||
Target Version | Unscheduled | ||||
Summary | 0026495: Sewing produces fictive degenerated edges | ||||
Description | 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. | ||||
Steps To Reproduce | 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" } | ||||
Tags | No tags attached. | ||||
Test case number | |||||