From bf5589e2d64d1709043d8c146c4d234249b6a851 Mon Sep 17 00:00:00 2001 From: wandererfan Date: Sat, 2 Jun 2018 09:31:48 -0400 Subject: [PATCH] Position DPGI Dimensions correctly in Dxf file --- src/Mod/TechDraw/App/AppTechDrawPy.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/Mod/TechDraw/App/AppTechDrawPy.cpp b/src/Mod/TechDraw/App/AppTechDrawPy.cpp index 1f3a249366..69da4b3e2c 100644 --- a/src/Mod/TechDraw/App/AppTechDrawPy.cpp +++ b/src/Mod/TechDraw/App/AppTechDrawPy.cpp @@ -608,8 +608,19 @@ private: if (dvp == nullptr) { continue; } - double parentX = dvp->X.getValue(); - double parentY = dvp->Y.getValue(); + double grandParentX = 0.0; + double grandParentY = 0.0; + if (dvp->isDerivedFrom(TechDraw::DrawProjGroupItem::getClassTypeId())) { + TechDraw::DrawProjGroupItem* dpgi = static_cast(dvp); + TechDraw::DrawProjGroup* dpg = dpgi->getPGroup(); + if (dpg == nullptr) { + continue; + } + grandParentX = dpg->X.getValue(); + grandParentY = dpg->Y.getValue(); + } + double parentX = dvp->X.getValue() + grandParentX; + double parentY = dvp->Y.getValue() + grandParentY; Base::Vector3d parentPos(parentX,parentY,0.0); std::string sDimText = dvd->getFormatedValue(); char* dimText = &sDimText[0u]; //hack for const-ness