From 959b2fef0aaa2fc8b775fbd021dad475bab5980f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9as=20Livet?= <andreas.livet@stormshield.eu>
Date: Thu, 24 Nov 2022 17:39:40 +0100
Subject: [PATCH] Part name used in sub assembly are now properly display

Step view have CoerceView set to True by default
---
 ahb_cmd_new_step.py        | 1 +
 ahb_techdraw_extensions.py | 4 +++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/ahb_cmd_new_step.py b/ahb_cmd_new_step.py
index 59ffa3c..cca5ac2 100644
--- a/ahb_cmd_new_step.py
+++ b/ahb_cmd_new_step.py
@@ -63,6 +63,7 @@ class AHB_New_Step:
 		
 		view = doc.addObject('TechDraw::DrawViewPart', 'View')
 		view.Perspective = False
+		view.CoarseView = True
 		view.addProperty("App::PropertyString", "Assembly_handbook_PreviousStepView", "Assembly_handbook")
 		if prev_view is None:
 			try:
diff --git a/ahb_techdraw_extensions.py b/ahb_techdraw_extensions.py
index fdebe50..b0756f2 100644
--- a/ahb_techdraw_extensions.py
+++ b/ahb_techdraw_extensions.py
@@ -366,6 +366,8 @@ class TechDrawExtensions:
 			return None
 	
 	def isPartLink(self, obj):
+		if obj is None:
+			return False
 		if obj.TypeId == 'App::Link':
 			return True
 		if obj.TypeId == 'Part::FeaturePython' and hasattr(obj, 'LinkedObject'): # variant link
@@ -374,7 +376,7 @@ class TechDrawExtensions:
 		
 	def getPartDisplayName(self, obj):
 		if self.isPartLink(obj):
-			linked_obj = obj.LinkedObject
+			linked_obj = obj.SourceObject if hasattr(obj, 'SourceObject') else obj.LinkedObject
 			if 'Assembly_handbook_PartDisplayName' in linked_obj.PropertiesList:
 				return linked_obj.Assembly_handbook_PartDisplayName
 			else: