mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-12 02:23:34 +00:00
Fix inability to export due to truncated object names
This commit is contained in:
@@ -406,7 +406,7 @@ class IfcParser():
|
||||
type_product = obj.BIMObjectProperties.relating_type
|
||||
if type_product \
|
||||
and self.is_a_type(self.get_ifc_class(type_product.name)):
|
||||
reference = self.get_type_product_reference(type_product.name)
|
||||
reference = self.get_type_product_reference(self.get_name_attribute(type_product))
|
||||
self.rel_defines_by_type.setdefault(reference, []).append(self.product_index)
|
||||
|
||||
if product['has_boundary_condition']:
|
||||
@@ -1070,7 +1070,7 @@ class IfcParser():
|
||||
|
||||
def get_type_product_reference(self, name):
|
||||
return [p['attributes']['Name']
|
||||
for p in self.type_products].index(self.get_ifc_name(name))
|
||||
for p in self.type_products].index(name)
|
||||
|
||||
def get_ifc_class(self, name):
|
||||
return name.split('/')[0]
|
||||
@@ -1082,6 +1082,12 @@ class IfcParser():
|
||||
self.ifc_export_settings.logger.error(
|
||||
'Name "{}" does not follow the format of "IfcClass/Name"'.format(name))
|
||||
|
||||
def get_name_attribute(self, obj):
|
||||
name = obj.BIMObjectProperties.attributes.get('Name')
|
||||
if name:
|
||||
return name.string_value
|
||||
return self.get_ifc_name(obj.name)
|
||||
|
||||
def is_a_spatial_structure_element(self, class_name):
|
||||
return class_name in [
|
||||
'IfcBuilding',
|
||||
|
||||
Reference in New Issue
Block a user