+ fixes #0001429: don't apply booleans on null shapes

This commit is contained in:
wmayer
2014-02-22 13:06:30 +01:00
parent 4ee18348cb
commit 59a8e1d181
3 changed files with 31 additions and 2 deletions

View File

@@ -73,7 +73,11 @@ App::DocumentObjectExecReturn *Boolean::execute(void)
// Now, let's get the TopoDS_Shape
TopoDS_Shape BaseShape = base->Shape.getValue();
if (BaseShape.IsNull())
throw Base::Exception("Base shape is null");
TopoDS_Shape ToolShape = tool->Shape.getValue();
if (ToolShape.IsNull())
throw Base::Exception("Tool shape is null");
std::auto_ptr<BRepAlgoAPI_BooleanOperation> mkBool(makeOperation(BaseShape, ToolShape));
if (!mkBool->IsDone()) {
@@ -81,7 +85,7 @@ App::DocumentObjectExecReturn *Boolean::execute(void)
}
TopoDS_Shape resShape = mkBool->Shape();
if (resShape.IsNull()) {
return new App::DocumentObjectExecReturn("Resulting shape is invalid");
return new App::DocumentObjectExecReturn("Resulting shape is null");
}
Base::Reference<ParameterGrp> hGrp = App::GetApplication().GetUserParameter()
.GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/Part/Boolean");