mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-05-21 10:55:33 +03:00
0025823: Self Intersecting wire translated from STEP file
The number of points to divide the edge curve on a segments to compute a boundary box does not provide a good tolerance. So a resultant boundary box has an incorrect bounds. As a result the intersection near to a tangent of curve does not detected. Test case for issue CR25823
This commit is contained in:
parent
0a9b38ef44
commit
696d81d000
@ -1287,7 +1287,8 @@ Standard_Boolean ShapeFix_ComposeShell::SplitByLine (ShapeFix_WireSegment &wire,
|
|||||||
// get bounding box of pcurve
|
// get bounding box of pcurve
|
||||||
ShapeAnalysis_Curve sac;
|
ShapeAnalysis_Curve sac;
|
||||||
Bnd_Box2d box;
|
Bnd_Box2d box;
|
||||||
sac.FillBndBox ( c2d, f, l, 11, Standard_True, box );
|
const Standard_Integer aNbPoints = 41;
|
||||||
|
sac.FillBndBox ( c2d, f, l, aNbPoints, Standard_True, box );
|
||||||
Standard_Real umin, vmin, umax, vmax;
|
Standard_Real umin, vmin, umax, vmax;
|
||||||
box.Get ( umin, vmin, umax, vmax );
|
box.Get ( umin, vmin, umax, vmax );
|
||||||
|
|
||||||
|
23
tests/bugs/heal/bug25823
Executable file
23
tests/bugs/heal/bug25823
Executable file
@ -0,0 +1,23 @@
|
|||||||
|
puts "================"
|
||||||
|
puts "OCC25823"
|
||||||
|
puts "================"
|
||||||
|
puts ""
|
||||||
|
#######################################################################################
|
||||||
|
# Self Intersecting wire translated from STEP file
|
||||||
|
#######################################################################################
|
||||||
|
|
||||||
|
set BugNumber OCC25823
|
||||||
|
|
||||||
|
set aFile [locate_data_file bug25823_280612.stp]
|
||||||
|
stepread $aFile a *
|
||||||
|
set aLog [checkshape a_1]
|
||||||
|
|
||||||
|
if {$aLog == "This shape seems to be valid" } {
|
||||||
|
puts "OK ${BugNumber}"
|
||||||
|
} else {
|
||||||
|
puts "Faulty ${BugNumber}"
|
||||||
|
}
|
||||||
|
|
||||||
|
smallview
|
||||||
|
fit
|
||||||
|
set only_screen_axo 1
|
Loading…
x
Reference in New Issue
Block a user