PD: Correctly handle single solid rule for loft with and without base
This commit is contained in:
@@ -234,6 +234,9 @@ App::DocumentObjectExecReturn *Loft::execute()
|
||||
result = shapes.front();
|
||||
|
||||
if(base.isNull()) {
|
||||
if (!isSingleSolidRuleSatisfied(result.getShape())) {
|
||||
return new App::DocumentObjectExecReturn(QT_TRANSLATE_NOOP("Exception", "Result has multiple solids: that is not currently supported."));
|
||||
}
|
||||
Shape.setValue(getSolid(result));
|
||||
return App::DocumentObject::StdReturn;
|
||||
}
|
||||
@@ -258,11 +261,11 @@ App::DocumentObjectExecReturn *Loft::execute()
|
||||
catch(Standard_Failure&) {
|
||||
return new App::DocumentObjectExecReturn(QT_TRANSLATE_NOOP("Exception", "Failed to perform boolean operation"));
|
||||
}
|
||||
boolOp = this->getSolid(boolOp);
|
||||
TopoShape solid = getSolid(boolOp);
|
||||
// lets check if the result is a solid
|
||||
if (boolOp.isNull())
|
||||
if (solid.isNull()) {
|
||||
return new App::DocumentObjectExecReturn(QT_TRANSLATE_NOOP("Exception", "Resulting shape is not a solid"));
|
||||
|
||||
}
|
||||
// store shape before refinement
|
||||
this->rawShape = boolOp;
|
||||
boolOp = refineShapeIfActive(boolOp);
|
||||
|
||||
Reference in New Issue
Block a user