From 0e81e76f7dd9b596e58d5b0dfd67a11339c9c3ed Mon Sep 17 00:00:00 2001 From: paul lee Date: Fri, 12 Feb 2021 09:59:28 +0800 Subject: [PATCH] [Draft.draftutils.groups] get_windows() to support Links FC Forum Discussion - https://forum.freecadweb.org/viewtopic.php?f=23&t=55438 --- src/Mod/Arch/ArchSectionPlane.py | 2 +- src/Mod/Draft/draftutils/groups.py | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/Mod/Arch/ArchSectionPlane.py b/src/Mod/Arch/ArchSectionPlane.py index 9aa8818b2e..23b10f7460 100644 --- a/src/Mod/Arch/ArchSectionPlane.py +++ b/src/Mod/Arch/ArchSectionPlane.py @@ -379,7 +379,7 @@ def getSVG(source, drafts.append(o) elif not o.isDerivedFrom("App::DocumentObjectGroup"): nonspaces.append(o) - if Draft.getType(o) == "Window": + if Draft.getType(o) == "Window": # (Draft.getType(o.getLinkedObject()) == "Window") or (Draft. windows.append(o) objs = nonspaces diff --git a/src/Mod/Draft/draftutils/groups.py b/src/Mod/Draft/draftutils/groups.py index ba190541a8..d8fd3761ac 100644 --- a/src/Mod/Draft/draftutils/groups.py +++ b/src/Mod/Draft/draftutils/groups.py @@ -146,9 +146,8 @@ def get_windows(obj): if utils.get_type(obj) in ("Wall", "Structure"): for o in obj.OutList: out.extend(get_windows(o)) - for i in obj.InList: - if (utils.get_type(i) == "Window" + if (utils.get_type(i.getLinkedObject()) == "Window" or utils.is_clone(obj, "Window")): if hasattr(i, "Hosts"): if obj in i.Hosts: @@ -158,8 +157,7 @@ def get_windows(obj): if hasattr(i, "Host"): if obj == i.Host: out.append(i) - - elif (utils.get_type(obj) in ("Window", "Rebar") + elif (utils.get_type(obj.getLinkedObject()) in ("Window", "Rebar") or utils.is_clone(obj, ["Window", "Rebar"])): out.append(obj)