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):