diff --git a/src/StepShape/StepShape_OrientedEdge.cxx b/src/StepShape/StepShape_OrientedEdge.cxx index 66feea00fe..49845ccdd2 100644 --- a/src/StepShape/StepShape_OrientedEdge.cxx +++ b/src/StepShape/StepShape_OrientedEdge.cxx @@ -69,6 +69,8 @@ Handle(StepShape_Vertex) StepShape_OrientedEdge::EdgeStart() const { // WARNING : the field is redefined. // method body is not yet automaticly wrote + if (edgeElement.IsNull()) + return NULL; if (Orientation()) { return edgeElement->EdgeStart(); } @@ -88,7 +90,8 @@ Handle(StepShape_Vertex) StepShape_OrientedEdge::EdgeEnd() const { // WARNING : the field is redefined. // method body is not yet automaticly wrote - + if (edgeElement.IsNull()) + return NULL; if (Orientation()) { return edgeElement->EdgeEnd(); } diff --git a/tests/bugs/step/bug26451 b/tests/bugs/step/bug26451 new file mode 100644 index 0000000000..e953f0ea71 --- /dev/null +++ b/tests/bugs/step/bug26451 @@ -0,0 +1,28 @@ +puts "========" +puts "OCC26451" +puts "========" +puts "" +########################################################################## +# Crash importing STeP file +########################################################################## + +stepread [locate_data_file bug26451_Test_STEP.stp] a * +tpcompound result + +set square 550061 + +set nbshapes_expected " +Number of shapes in shape + VERTEX : 7973 + EDGE : 8250 + WIRE : 1950 + FACE : 1716 + SHELL : 1716 + SOLID : 0 + COMPSOLID : 0 + COMPOUND : 1 + SHAPE : 21606 +" +checknbshapes result -ref ${nbshapes_expected} -t -m "importing file" + +set 3dviewer 1 diff --git a/tests/bugs/step/parse.rules b/tests/bugs/step/parse.rules new file mode 100644 index 0000000000..c48aff7892 --- /dev/null +++ b/tests/bugs/step/parse.rules @@ -0,0 +1 @@ +IGNORE /Error on Record/ message during loading file