WIP implement presentation layers. Nicer UI. See #1222.

This commit is contained in:
Dion Moult
2021-01-25 18:10:18 +11:00
parent 911ff4484f
commit 20ab036016
17 changed files with 403 additions and 332 deletions
@@ -0,0 +1,30 @@
import ifcopenshell
import ifcopenshell.util.date
from blenderbim.bim.ifc import IfcStore
from datetime import datetime
class Data:
is_loaded = False
items = {}
layers = {}
@classmethod
def load(cls, item_id=None):
cls._file = IfcStore.get_file()
if not cls._file:
return
cls.load_layers()
cls.is_loaded = True
@classmethod
def load_layers(cls):
cls.layers = {}
cls.items = {}
for layer in cls._file.by_type("IfcPresentationLayerAssignment"):
data = layer.get_info()
if layer.AssignedItems:
for item in layer.AssignedItems:
cls.items.setdefault(item.id(), []).append(layer.id())
del data["AssignedItems"]
cls.layers[layer.id()] = data