From a9a4c6049fedd754c9c8a67e5780261b144ce401 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sun, 12 Feb 2023 15:02:41 +1100 Subject: [PATCH] Fix bug where you couldn't duplicate text annotations. --- src/blenderbim/blenderbim/core/root.py | 7 ++++--- src/blenderbim/blenderbim/tool/geometry.py | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/blenderbim/blenderbim/core/root.py b/src/blenderbim/blenderbim/core/root.py index 3bf4171fa1..72ee8e9eaa 100644 --- a/src/blenderbim/blenderbim/core/root.py +++ b/src/blenderbim/blenderbim/core/root.py @@ -32,9 +32,10 @@ def copy_class(ifc, collector, geometry, root, obj=None): root.copy_representation(element, new) new_representation = root.get_element_representation(new, root.get_representation_context(representation)) data = geometry.duplicate_object_data(obj) - geometry.change_object_data(obj, data, is_global=True) - geometry.rename_object(data, geometry.get_representation_name(new_representation)) - geometry.link(new_representation, data) + if data: + geometry.change_object_data(obj, data, is_global=True) + geometry.rename_object(data, geometry.get_representation_name(new_representation)) + geometry.link(new_representation, data) root.assign_body_styles(new, obj) collector.assign(obj) if root.is_opening_element(new): diff --git a/src/blenderbim/blenderbim/tool/geometry.py b/src/blenderbim/blenderbim/tool/geometry.py index 231295fb47..0a5adcba8c 100644 --- a/src/blenderbim/blenderbim/tool/geometry.py +++ b/src/blenderbim/blenderbim/tool/geometry.py @@ -72,7 +72,8 @@ class Geometry(blenderbim.core.tool.Geometry): @classmethod def duplicate_object_data(cls, obj): - return obj.data.copy() + if obj.data: + return obj.data.copy() @classmethod def get_cartesian_point_coordinate_offset(cls, obj):