diff --git a/src/Mod/TechDraw/App/DrawViewPart.cpp b/src/Mod/TechDraw/App/DrawViewPart.cpp
index 71264c2ed2..c3b04c7eb2 100644
--- a/src/Mod/TechDraw/App/DrawViewPart.cpp
+++ b/src/Mod/TechDraw/App/DrawViewPart.cpp
@@ -86,6 +86,7 @@
#include
#include
#include
+#include
#include "DrawUtil.h"
#include "DrawViewSection.h"
@@ -193,7 +194,10 @@ std::vector DrawViewPart::getShapesFromObject(App::DocumentObject*
std::vector result;
App::GroupExtension* gex = dynamic_cast(docObj);
if (docObj->getTypeId().isDerivedFrom(Part::Feature::getClassTypeId())) {
- result.push_back(static_cast(docObj)->Shape.getShape().getShape());
+ Part::Feature* pf = static_cast(docObj);
+ Part::TopoShape ts = pf->Shape.getShape();
+ ts.setPlacement(pf->globalPlacement());
+ result.push_back(ts.getShape());
} else if (gex != nullptr) {
std::vector objs = gex->Group.getValues();
std::vector shapes;
@@ -219,7 +223,7 @@ TopoDS_Shape DrawViewPart::getSourceShapeFused(void) const
BRepAlgoAPI_Fuse mkFuse(fusedShape, aChild);
// Let's check if the fusion has been successful
if (!mkFuse.IsDone()) {
- Base::Console().Error("DVp - Fusion failed\n");
+ Base::Console().Error("DVp - Fusion failed - %s\n",getNameInDocument());
return baseShape;
}
fusedShape = mkFuse.Shape();