mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-10-02 21:12:07 +00:00
WIP port address and role editing to owner module. See #1222.
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user