mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-09 13:22:24 +03:00
0022927: Regression with OCCT652 on Windows. DRAWEXE crashes during offsetcomshape.
Check was added to avoid a crash if result is not reachable. Modified test case
This commit is contained in:
@@ -3607,8 +3607,13 @@ void BRepOffset_Tool::ExtentFace (const TopoDS_Face& F,
|
|||||||
const TopoDS_Edge& E = TopoDS::Edge(exp2.Current());
|
const TopoDS_Edge& E = TopoDS::Edge(exp2.Current());
|
||||||
if (ConstShapes.IsBound(E)) ToBuild.UnBind(E);
|
if (ConstShapes.IsBound(E)) ToBuild.UnBind(E);
|
||||||
if (ToBuild.IsBound(E)) {
|
if (ToBuild.IsBound(E)) {
|
||||||
EnLargeFace(TopoDS::Face(ToBuild(E)),StopFace,Standard_False);
|
EnLargeFace(TopoDS::Face(ToBuild(E)),StopFace,Standard_False);
|
||||||
BRepOffset_Tool::Inter3D (EF,StopFace,LInt1,LInt2,Side,E,Standard_True);
|
BRepOffset_Tool::Inter3D (EF,StopFace,LInt1,LInt2,Side,E,Standard_True);
|
||||||
|
// No intersection, it may happen for example for a chosen (non-offseted) planar face and
|
||||||
|
// its neighbour offseted cylindrical face, if the offset is directed so that
|
||||||
|
// the radius of the cylinder becomes smaller.
|
||||||
|
if (LInt1.IsEmpty())
|
||||||
|
continue;
|
||||||
if (LInt1.Extent() > 1) {
|
if (LInt1.Extent() > 1) {
|
||||||
// l intersection est en plusieurs edges (franchissement de couture)
|
// l intersection est en plusieurs edges (franchissement de couture)
|
||||||
SelectEdge (F,EF,E,LInt1);
|
SelectEdge (F,EF,E,LInt1);
|
||||||
|
14
tests/offset/compshape/A4
Normal file → Executable file
14
tests/offset/compshape/A4
Normal file → Executable file
@@ -4,14 +4,18 @@
|
|||||||
## Comment : From CV tests serie page 60
|
## Comment : From CV tests serie page 60
|
||||||
## ======================================
|
## ======================================
|
||||||
|
|
||||||
puts "*"
|
#puts "*"
|
||||||
puts "TODO OCC22740 ALL: An exception was caught"
|
#puts "TODO OCC22740 ALL: An exception was caught"
|
||||||
puts "TODO OCC22740 ALL: \\*\\* Exception \\*\\*"
|
#puts "TODO OCC22740 ALL: \\*\\* Exception \\*\\*"
|
||||||
puts "TODO OCC22740 ALL: Error : The offset can not be build"
|
#puts "TODO OCC22740 ALL: Error : The offset can not be build"
|
||||||
|
puts "TODO OCC23524 ALL: Error : The offset is not valid"
|
||||||
|
|
||||||
restore [locate_data_file CCV_2_d1_gsw.rle] s
|
restore [locate_data_file CCV_2_d1_gsw.rle] s
|
||||||
explode s F
|
explode s F
|
||||||
catch {offsetcompshape result s -2 s_17}
|
catch {offsetcompshape result s -2 s_17}
|
||||||
|
|
||||||
#real volume of result shape is unknow yet
|
#real volume of result shape is unknow yet
|
||||||
set volume 0
|
|
||||||
|
set volume 534256
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user