mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-10 09:48:32 +00:00
Import representation items for curve representations too
https://i.imgur.com/TeITxa0.png
This commit is contained in:
@@ -2307,7 +2307,10 @@ class ImportRepresentationItems(bpy.types.Operator, tool.Ifc.Operator):
|
||||
|
||||
tool.Loader.load_settings()
|
||||
|
||||
for item_id in set(obj.data["ios_item_ids"]):
|
||||
data = obj.data
|
||||
assert data
|
||||
item_ids = data["ios_item_ids"] if "ios_item_ids" in data else data["ios_edges_item_ids"]
|
||||
for item_id in set(item_ids):
|
||||
item = tool.Ifc.get().by_id(item_id)
|
||||
item_mesh = bpy.data.meshes.new(f"Item/{item.is_a()}/{item_id}")
|
||||
item_mesh.BIMMeshProperties.ifc_definition_id = item_id
|
||||
|
||||
@@ -940,6 +940,12 @@ class Loader(bonsai.core.tool.Loader):
|
||||
vertices = [[v[i], v[i + 1], v[i + 2]] for i in range(0, len(v), 3)]
|
||||
edges = [[e[i], e[i + 1]] for i in range(0, len(e), 2)]
|
||||
mesh.from_pydata(vertices, edges, [])
|
||||
# TODO: remove error handling after we update build in Bonsai.
|
||||
try:
|
||||
edges_item_ids = ifcopenshell.util.shape.get_edges_representation_item_ids(geometry).tolist()
|
||||
except AttributeError:
|
||||
edges_item_ids = []
|
||||
mesh["ios_edges_item_ids"] = edges_item_ids
|
||||
|
||||
mesh["ios_materials"] = [m.instance_id() for m in geometry.materials]
|
||||
mesh["ios_material_ids"] = geometry.material_ids
|
||||
|
||||
Reference in New Issue
Block a user