* Wrapped a try / catch block on creating objects in TopoDSToStep_MakeStepFace::Init()
return;
}
+ try
+ {
// -----------------
// Translate Surface
// -----------------
myError = TopoDSToStep_NoWireMapped;
done = Standard_False;
}
+ }
+ catch (Standard_Failure const& theFailure)
+ {
+ FP->AddFail(errShape, theFailure.GetMessageString());
+ myError = TopoDSToStep_FaceOther;
+ done = Standard_False;
+ }
}
--- /dev/null
+puts "=========="
+puts "0029108: Data Exchange - Crash writing STEP file"
+puts "=========="
+puts ""
+
+restore [locate_data_file bug29108.brep] part
+stepwrite a part $imagedir/bug229108_temp.stp
+dall
+stepread ${imagedir}/bug229108_temp.stp a *
+
+tpcompound result
+checkprops result -s 11833
+checkshape result
+checknbshapes result -vertex 251 -edge 380 -wire 155 -face 141 -shell 3 -solid 2 -compsolid 0 -compound 4 -shape 936
+