diff --git a/src/Mod/PartDesign/App/FeatureBoolean.cpp b/src/Mod/PartDesign/App/FeatureBoolean.cpp index 252465cfd9..cfcbd483d4 100644 --- a/src/Mod/PartDesign/App/FeatureBoolean.cpp +++ b/src/Mod/PartDesign/App/FeatureBoolean.cpp @@ -186,7 +186,9 @@ void Boolean::updatePreviewShape() std::vector shapes; for (auto& obj : Group.getValues()) { - shapes.push_back(getTopoShape(obj, Part::ShapeOption::ResolveLink | Part::ShapeOption::Transform)); + auto shape = getTopoShape(obj, Part::ShapeOption::ResolveLink | Part::ShapeOption::Transform); + shape.setPlacement(shape.getPlacement().inverse() * globalPlacement()); + shapes.push_back(shape); } TopoShape result; diff --git a/src/Mod/PartDesign/Gui/ViewProviderBoolean.cpp b/src/Mod/PartDesign/Gui/ViewProviderBoolean.cpp index 0f108afb3a..07f7eb5a79 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderBoolean.cpp +++ b/src/Mod/PartDesign/Gui/ViewProviderBoolean.cpp @@ -166,6 +166,7 @@ void ViewProviderBoolean::updatePreview() } Part::TopoShape toolShape = feature->Shape.getShape(); + toolShape.setPlacement(toolShape.getPlacement().inverse() * feature->globalPlacement()); auto pcToolPreview = new PartGui::SoPreviewShape; updatePreviewShape(toolShape, pcToolPreview);