diff --git a/src/Mod/PartDesign/Gui/Command.cpp b/src/Mod/PartDesign/Gui/Command.cpp index 30fe30336..9b5096786 100644 --- a/src/Mod/PartDesign/Gui/Command.cpp +++ b/src/Mod/PartDesign/Gui/Command.cpp @@ -1843,8 +1843,11 @@ void CmdPartDesignBoolean::activated(int iMsg) if (!pcActiveBody) return; Gui::SelectionFilter BodyFilter("SELECT PartDesign::Body COUNT 1.."); - std::string bodyString(""); + openCommand("Create Boolean"); + std::string FeatName = getUniqueObjectName("Boolean"); + doCommand(Doc,"App.activeDocument().addObject('PartDesign::Boolean','%s')",FeatName.c_str()); + if (BodyFilter.match()) { std::vector bodies; std::vector >::iterator i = BodyFilter.Result.begin(); @@ -1854,16 +1857,10 @@ void CmdPartDesignBoolean::activated(int iMsg) bodies.push_back(j->getObject()); } } - bodyString = PartDesignGui::buildLinkListPythonStr(bodies); + std::string bodyString = PartDesignGui::buildLinkListPythonStr(bodies); + doCommand(Doc,"App.activeDocument().%s.Bodies = %s",FeatName.c_str(),bodyString.c_str()); } - openCommand("Create Boolean"); - - std::string FeatName = getUniqueObjectName("Boolean"); - - doCommand(Doc,"App.activeDocument().addObject('PartDesign::Boolean','%s')",FeatName.c_str()); - if (!bodyString.empty()) - doCommand(Doc,"App.activeDocument().%s.Bodies = %s",FeatName.c_str(),bodyString.c_str()); finishFeature(this, FeatName, nullptr, false); }