From 6c4e4b35af68145e9d19d33c44f586d87ec060a7 Mon Sep 17 00:00:00 2001 From: wandererfan Date: Tue, 5 Jun 2018 12:31:58 -0400 Subject: [PATCH] Ensure Correct Scale in DrawViewSection - when the Source View for a Section is a Projection Group item, need to use the Scale property from the parent Projection Group. --- src/Mod/TechDraw/Gui/Command.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Mod/TechDraw/Gui/Command.cpp b/src/Mod/TechDraw/Gui/Command.cpp index 208921e6f9..4b7f9cc92f 100644 --- a/src/Mod/TechDraw/Gui/Command.cpp +++ b/src/Mod/TechDraw/Gui/Command.cpp @@ -334,6 +334,7 @@ void CmdTechDrawNewViewSection::activated(int iMsg) TechDraw::DrawViewPart* dvp = static_cast(*baseObj.begin()); std::string BaseName = dvp->getNameInDocument(); std::string PageName = page->getNameInDocument(); + double baseScale = dvp->getScale(); Gui::WaitCursor wc; openCommand("Create view"); @@ -344,13 +345,13 @@ void CmdTechDrawNewViewSection::activated(int iMsg) App::DocumentObject *docObj = getDocument()->getObject(FeatName.c_str()); TechDraw::DrawViewSection* dsv = dynamic_cast(docObj); if (!dsv) { - throw Base::Exception("CmdTechDrawNewViewSection DSV not found\n"); + throw Base::Exception("CmdTechDrawNewViewSection DVS not found\n"); } dsv->Source.setValues(dvp->Source.getValues()); doCommand(Doc,"App.activeDocument().%s.BaseView = App.activeDocument().%s",FeatName.c_str(),BaseName.c_str()); - doCommand(Doc,"App.activeDocument().%s.Scale = App.activeDocument().%s.Scale",FeatName.c_str(),BaseName.c_str()); doCommand(Doc,"App.activeDocument().%s.ScaleType = App.activeDocument().%s.ScaleType",FeatName.c_str(),BaseName.c_str()); doCommand(Doc,"App.activeDocument().%s.addView(App.activeDocument().%s)",PageName.c_str(),FeatName.c_str()); + doCommand(Doc,"App.activeDocument().%s.Scale = %0.6f",FeatName.c_str(),baseScale); Gui::Control().showDialog(new TaskDlgSectionView(dvp,dsv)); updateActive();