diff --git a/src/ifcblenderexport/data/Pset_FurnitureTypeCommon/monkeyoverride.csv b/src/ifcblenderexport/data/Pset_FurnitureTypeCommon/monkeyoverride.csv new file mode 100644 index 0000000000..1276a61ef2 --- /dev/null +++ b/src/ifcblenderexport/data/Pset_FurnitureTypeCommon/monkeyoverride.csv @@ -0,0 +1 @@ +MainColor,Red diff --git a/src/ifcblenderexport/export.py b/src/ifcblenderexport/export.py index caed981d50..87add97371 100644 --- a/src/ifcblenderexport/export.py +++ b/src/ifcblenderexport/export.py @@ -424,6 +424,8 @@ class IfcParser(): 'location': object.location, 'up_axis': object.matrix_world.to_quaternion() @ Vector((0, 0, 1)), 'forward_axis': object.matrix_world.to_quaternion() @ Vector((1, 0, 0)), + 'psets': ['{}/{}'.format(key, object[key]) for key in + object.keys() if key[0:5] == 'Pset_'], 'class': self.get_ifc_class(object.name), 'representation': self.get_object_representation_name(object), 'attributes': self.get_object_attributes(object) @@ -665,6 +667,11 @@ class IfcExporter(): representation_map = self.file.createIfcRepresentationMap(placement, representation) product['attributes']['RepresentationMaps'] = [representation_map] + if product['psets']: + product['attributes'].update({ 'HasPropertySets': + [self.ifc_parser.psets[pset]['ifc'] for pset in + product['psets']] }) + try: product['ifc'] = self.file.create_entity(product['class'], **product['attributes']) except RuntimeError as e: