From 22d5710986582c29262c730e460844cffe9f39e7 Mon Sep 17 00:00:00 2001 From: easyw Date: Wed, 8 Aug 2018 08:58:22 +0200 Subject: [PATCH] make Loop selection command available outside Path WB --- src/Mod/Path/PathCommands.py | 39 ++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/src/Mod/Path/PathCommands.py b/src/Mod/Path/PathCommands.py index 5e756db72a..c4c5c1a0c0 100644 --- a/src/Mod/Path/PathCommands.py +++ b/src/Mod/Path/PathCommands.py @@ -61,27 +61,28 @@ class _CommandSelectLoop: 'CmdType': "ForEdit"} def IsActive(self): - if 'PathWorkbench' == FreeCADGui.activeWorkbench().name(): - if bool(FreeCADGui.Selection.getSelection()) is False: - return False - try: - sel = FreeCADGui.Selection.getSelectionEx()[0] - if sel.Object == self.obj and sel.SubElementNames == self.sub: - return self.active - self.obj = sel.Object - self.sub = sel.SubElementNames - if sel.SubObjects: - self.active = self.formsPartOfALoop(sel.Object, sel.SubObjects[0], sel.SubElementNames) - else: - self.active = False + if bool(FreeCADGui.Selection.getSelection()) is False: + return False + try: + sel = FreeCADGui.Selection.getSelectionEx()[0] + if sel.Object == self.obj and sel.SubElementNames == self.sub: return self.active - except Exception as exc: - PathLog.error(exc) - traceback.print_exc(exc) - return False - return False - + self.obj = sel.Object + self.sub = sel.SubElementNames + if sel.SubObjects: + self.active = self.formsPartOfALoop(sel.Object, sel.SubObjects[0], sel.SubElementNames) + else: + self.active = False + return self.active + except Exception as exc: + PathLog.error(exc) + traceback.print_exc(exc) + return False + def Activated(self): + from PathScripts.PathUtils import loopdetect + from PathScripts.PathUtils import horizontalEdgeLoop + from PathScripts.PathUtils import horizontalFaceLoop sel = FreeCADGui.Selection.getSelectionEx()[0] obj = sel.Object edge1 = sel.SubObjects[0]