diff --git a/src/Mod/PartDesign/App/Feature.cpp b/src/Mod/PartDesign/App/Feature.cpp index ccab83071e..cc8653067d 100644 --- a/src/Mod/PartDesign/App/Feature.cpp +++ b/src/Mod/PartDesign/App/Feature.cpp @@ -352,6 +352,9 @@ Part::TopoShape Feature::getBaseTopoShape(bool silent) const throw Base::ValueError("Base feature's shape is not a solid"); } } + else if (!result.hasSubShape(TopAbs_SOLID)) { + result.setShape(TopoDS_Shape()); + } return result; } diff --git a/src/Mod/PartDesign/App/FeatureBase.cpp b/src/Mod/PartDesign/App/FeatureBase.cpp index a55039dee4..996a6a5115 100644 --- a/src/Mod/PartDesign/App/FeatureBase.cpp +++ b/src/Mod/PartDesign/App/FeatureBase.cpp @@ -70,9 +70,6 @@ App::DocumentObjectExecReturn* FeatureBase::execute() } auto shape = Part::Feature::getTopoShape(BaseFeature.getValue(), Part::ShapeOption::ResolveLink | Part::ShapeOption::Transform); - if (!shape.countSubShapes(TopAbs_SOLID)) { - shape = shape.makeElementSolid(); - } if (shape.isNull()) { return new App::DocumentObjectExecReturn( QT_TRANSLATE_NOOP("Exception", "BaseFeature has an empty shape"));