diff --git a/src/Mod/Draft/draftutils/gui_utils.py b/src/Mod/Draft/draftutils/gui_utils.py index d0010e3132..c4255a2911 100644 --- a/src/Mod/Draft/draftutils/gui_utils.py +++ b/src/Mod/Draft/draftutils/gui_utils.py @@ -939,14 +939,25 @@ def get_bbox(obj, debug=False): return App.BoundBox(xmin, ymin, zmin, xmax, ymax, zmax) -# Code by Yorik van Havre. +# Code by Yorik van Havre (adapted). def find_coin_node(parent, nodetype): + if not hasattr(parent, "getNumChildren"): + return None for i in range(parent.getNumChildren()): if isinstance(parent.getChild(i), nodetype): return parent.getChild(i) return None +def find_coin_node_by_name(parent, name): + if not hasattr(parent, "getNumChildren"): + return None + for i in range(parent.getNumChildren()): + if parent.getChild(i).getName() == name: + return parent.getChild(i) + return None + + # Code by Chris Hennes (chennes). # See https://forum.freecad.org/viewtopic.php?p=656362#p656362. # Used to fix https://github.com/FreeCAD/FreeCAD/issues/10469.