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();