From 262a218b6bb85f2f635779a299f8b1625a988111 Mon Sep 17 00:00:00 2001 From: wmayer Date: Sat, 6 Apr 2024 02:09:20 +0200 Subject: [PATCH] Part: fix Part_RefineShape and Part_Section --- src/Mod/Part/Gui/Command.cpp | 2 +- src/Mod/Part/Gui/CommandSimple.cpp | 27 ++++++++++++++------------- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/src/Mod/Part/Gui/Command.cpp b/src/Mod/Part/Gui/Command.cpp index 4ef844b170..0821411a01 100644 --- a/src/Mod/Part/Gui/Command.cpp +++ b/src/Mod/Part/Gui/Command.cpp @@ -925,7 +925,7 @@ void CmdPartSection::activated(int iMsg) doCommand(Doc,"App.activeDocument().%s.Tool = App.activeDocument().%s",FeatName.c_str(),ToolName.c_str()); doCommand(Gui,"Gui.activeDocument().hide('%s')",BaseName.c_str()); doCommand(Gui,"Gui.activeDocument().hide('%s')",ToolName.c_str()); - doCommand(Gui,"Gui.activeDocument().%s.LineColor = Gui.activeDocument().%s.ShapeAppearance.DiffuseColor",FeatName.c_str(),BaseName.c_str()); + doCommand(Gui,"Gui.activeDocument().%s.LineMaterial = Gui.activeDocument().%s.ShapeAppearance[0]",FeatName.c_str(),BaseName.c_str()); updateActive(); commitCommand(); } diff --git a/src/Mod/Part/Gui/CommandSimple.cpp b/src/Mod/Part/Gui/CommandSimple.cpp index b53392b85e..16e9936fe0 100644 --- a/src/Mod/Part/Gui/CommandSimple.cpp +++ b/src/Mod/Part/Gui/CommandSimple.cpp @@ -28,10 +28,11 @@ #include #include +#include #include #include #include -#include +#include #include #include #include @@ -368,19 +369,19 @@ void CmdPartRefineShape::activated(int iMsg) openCommand(QT_TRANSLATE_NOOP("Command", "Refine shape")); std::for_each(objs.begin(), objs.end(), [](App::DocumentObject* obj) { try { - doCommand(Doc,"App.ActiveDocument.addObject('Part::Refine','%s').Source=" - "App.ActiveDocument.%s\n" - "App.ActiveDocument.ActiveObject.Label=" - "App.ActiveDocument.%s.Label\n" - "Gui.ActiveDocument.%s.hide()\n", - obj->getNameInDocument(), - obj->getNameInDocument(), - obj->getNameInDocument(), - obj->getNameInDocument()); + App::DocumentObjectT objT(obj); + Gui::cmdAppDocumentArgs(obj->getDocument(), "addObject('Part::Refine','%s')", + obj->getNameInDocument()); + Gui::cmdAppDocumentArgs(obj->getDocument(), "ActiveObject.Source = %s", + objT.getObjectPython()); + Gui::cmdAppDocumentArgs(obj->getDocument(), "ActiveObject.Label = %s.Label", + objT.getObjectPython()); + Gui::cmdAppObjectHide(obj); - copyVisual("ActiveObject", "ShapeAppearance", obj->getNameInDocument()); - copyVisual("ActiveObject", "LineColor", obj->getNameInDocument()); - copyVisual("ActiveObject", "PointColor", obj->getNameInDocument()); + auto newObj = App::GetApplication().getActiveDocument()->getActiveObject(); + Gui::copyVisualT(newObj->getNameInDocument(), "ShapeAppearance", obj->getNameInDocument()); + Gui::copyVisualT(newObj->getNameInDocument(), "LineColor", obj->getNameInDocument()); + Gui::copyVisualT(newObj->getNameInDocument(), "PointColor", obj->getNameInDocument()); } catch (const Base::Exception& e) { Base::Console().Warning("%s: %s\n", obj->Label.getValue(), e.what());