From 9ac479b5a53b67880a66db32922d7185ebb4aae7 Mon Sep 17 00:00:00 2001 From: "Zheng, Lei" Date: Mon, 14 Jan 2019 08:34:14 +0800 Subject: [PATCH] gui: translate label to name reference in AsmCmdGotoLinked --- gui.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/gui.py b/gui.py index 3be8d07..0ebfab9 100644 --- a/gui.py +++ b/gui.py @@ -710,7 +710,7 @@ class AsmCmdGotoLinked(AsmCmdBase): return subname = sels[0].SubElementNames[0] obj = sels[0].Object.getSubObject(subname,retType=1) - if not isTypeOf(obj,AsmElementLink) and not isTypeOf(obj,AsmElement): + if not isTypeOf(obj,(AsmElementLink,AsmElement)): FreeCADGui.runCommand('Std_LinkSelectLinked') return import Part @@ -725,17 +725,22 @@ class AsmCmdGotoLinked(AsmCmdBase): if isTypeOf(obj,AsmElementLink): subname = subname[:-4] if not isTypeOf(link,AsmElementGroup): - subname.append('3') + subname.append('2') else: subname = subname[:-2] subname[-1] = '2' subname.append(link.Name) - subname = '.'.join(subname+linkSub.split('.')) + prefix = subname + linkSub = linkSub.split('.') + subname = '.'.join(prefix+linkSub) sobj = sels[0].Object.getSubObject(subname,retType=1) if not sobj: logger.error('Cannot find sub object {}.{}', objName(sels[0].Object),subname) return + if not linkSub[-1] and linkSub[-2].startswith('$'): + linkSub[-2] = sobj.Name + subname = '.'.join(prefix+linkSub) FreeCADGui.Selection.pushSelStack() FreeCADGui.Selection.clearSelection() FreeCADGui.Selection.addSelection(sels[0].Object,subname)