WIP port address and role editing to owner module. See #1222.

This commit is contained in:
Dion Moult
2021-01-08 20:53:51 +11:00
parent 2e85a80fc8
commit 84de1f1b09
18 changed files with 541 additions and 185 deletions
@@ -0,0 +1,40 @@
from blenderbim.bim.ifc import IfcStore
class Data:
is_loaded = False
people = {}
addresses = {}
roles = {}
@classmethod
def load(cls):
file = IfcStore.get_file()
if not file:
return
cls.people = {}
for person in file.by_type("IfcPerson"):
data = person.get_info()
roles = []
if data["Roles"]:
for role in data["Roles"]:
roles.append(role.id())
data["Roles"] = roles
addresses = []
if data["Addresses"]:
for address in data["Addresses"]:
addresses.append(address.id())
data["Addresses"] = addresses
data["is_engaged"] = bool(person.EngagedIn)
cls.people[person.id()] = data
for address in file.by_type("IfcAddress"):
cls.addresses[address.id()] = address.get_info()
for role in file.by_type("IfcActorRole"):
cls.roles[role.id()] = role.get_info()
cls.is_loaded = True