mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-09 17:31:45 +00:00
Fix #4504. Extract CAD layers when linking in models.
This commit is contained in:
@@ -124,6 +124,7 @@ class Patcher:
|
||||
elif not isinstance(value, str):
|
||||
value = str(value)
|
||||
properties.append([i, pset_name, prop_name, value])
|
||||
|
||||
material = ifcopenshell.util.element.get_material(element, should_skip_usage=True)
|
||||
if material:
|
||||
name = getattr(material, "Name", getattr(material, "LayerSetName", None)) or "Unnamed"
|
||||
@@ -155,6 +156,10 @@ class Patcher:
|
||||
if getattr(material, "Category"):
|
||||
properties.append([i, "IFC Material", f"Material {idx + 1} Category", item.material.Category])
|
||||
|
||||
layers = ifcopenshell.util.element.get_layers(element)
|
||||
for idx, layer in enumerate(layers):
|
||||
properties.append([i, "IFC Presentation Layer Assignment", f"Layer {idx + 1}", layer.Name])
|
||||
|
||||
relating_type = ifcopenshell.util.element.get_type(element)
|
||||
if relating_type and relating_type != element:
|
||||
relationships.append([i, "IfcRelDefinesByType", id_map[relating_type.id()]])
|
||||
|
||||
Reference in New Issue
Block a user