mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-09 17:31:45 +00:00
Still cleaning up related to ownership histories. See #1399.
This commit is contained in:
@@ -11,6 +11,8 @@ class Usecase:
|
||||
self.settings[key] = value
|
||||
|
||||
def execute(self):
|
||||
self.settings["person"] = ifcopenshell.api.owner.settings.get_person()
|
||||
self.settings["organisation"] = ifcopenshell.api.owner.settings.get_organisation()
|
||||
if self.file.schema != "IFC2X3":
|
||||
if not self.settings["person"] or not self.settings["organisation"]:
|
||||
return
|
||||
@@ -22,7 +24,7 @@ class Usecase:
|
||||
"OwningUser": user,
|
||||
"OwningApplication": application,
|
||||
"State": "READWRITE",
|
||||
"ChangeAction": self.settings["ChangeAction"] or "ADDED",
|
||||
"ChangeAction": "ADDED",
|
||||
"LastModifiedDate": int(time.time()),
|
||||
"LastModifyingUser": user,
|
||||
"LastModifyingApplication": application,
|
||||
|
||||
@@ -1,33 +1,13 @@
|
||||
# import bpy
|
||||
# import addon_utils
|
||||
def get_person():
|
||||
pass
|
||||
|
||||
|
||||
def get_organisation():
|
||||
pass
|
||||
|
||||
|
||||
settings = {
|
||||
"person": None,
|
||||
"organisation": None,
|
||||
"ApplicationIdentifier": "",
|
||||
"ApplicationFullName": "",
|
||||
"Version": "",
|
||||
"ChangeAction": "NOTDEFINED",
|
||||
}
|
||||
|
||||
|
||||
# settings = {
|
||||
# "person": file.by_id(int(bpy.context.scene.BIMOwnerProperties.user_person)),
|
||||
# "organisation": file.by_id(int(bpy.context.scene.BIMOwnerProperties.user_organisation)),
|
||||
# "ApplicationIdentifier": "BlenderBIM",
|
||||
# "ApplicationFullName": "BlenderBIM Add-on",
|
||||
# "Version": get_application_version(),
|
||||
# }
|
||||
#
|
||||
#
|
||||
# def get_application_version():
|
||||
# return ".".join(
|
||||
# [
|
||||
# str(x)
|
||||
# for x in [
|
||||
# addon.bl_info.get("version", (-1, -1, -1))
|
||||
# for addon in addon_utils.modules()
|
||||
# if addon.bl_info["name"] == "BlenderBIM"
|
||||
# ][0]
|
||||
# ]
|
||||
# )
|
||||
|
||||
@@ -11,9 +11,11 @@ class Usecase:
|
||||
self.settings[key] = value
|
||||
|
||||
def execute(self):
|
||||
self.settings["person"] = ifcopenshell.api.owner.settings.get_person()
|
||||
self.settings["organisation"] = ifcopenshell.api.owner.settings.get_organisation()
|
||||
if not self.settings["element"].OwnerHistory:
|
||||
self.settings["element"].OwnerHistory = create_owner_history.Usecase(self.file, self.settings).execute()
|
||||
return
|
||||
return self.settings["element"].OwnerHistory
|
||||
if len(self.file.get_inverse(self.settings["element"].OwnerHistory)) > 1:
|
||||
old_history = self.settings["element"].OwnerHistory
|
||||
self.settings["element"].OwnerHistory = self.file.create_entity("IfcOwnerHistory")
|
||||
@@ -21,11 +23,11 @@ class Usecase:
|
||||
self.settings["element"].OwnerHistory[i] = attribute
|
||||
user = self.get_user()
|
||||
application = self.get_application()
|
||||
self.settings["element"].OwnerHistory.ChangeAction = self.settings["ChangeAction"]
|
||||
self.settings["element"].OwnerHistory.ChangeAction = "MODIFIED"
|
||||
self.settings["element"].OwnerHistory.LastModifiedDate = int(time.time())
|
||||
self.settings["element"].OwnerHistory.LastModifyingUser = user
|
||||
self.settings["element"].OwnerHistory.LastModifyingApplication = application
|
||||
return self.settings["OwnerHistory"]
|
||||
return self.settings["element"].OwnerHistory
|
||||
|
||||
def get_user(self):
|
||||
for element in self.file.by_type("IfcPersonAndOrganization"):
|
||||
|
||||
Reference in New Issue
Block a user