Fix #1401. Modified custom psets are now immediately available without needing to restart Blender.

This commit is contained in:
Dion Moult
2021-07-29 16:15:31 +10:00
parent c257afbd1c
commit 6bf692b44d
5 changed files with 29 additions and 15 deletions
@@ -5,7 +5,7 @@ import ifcopenshell.util.pset
class Usecase:
def __init__(self, file, **settings):
self.file = file
self.settings = {"pset": None, "name": None, "properties": {}}
self.settings = {"pset": None, "name": None, "properties": {}, "pset_template": None}
for key, value in settings.items():
self.settings[key] = value
@@ -21,9 +21,12 @@ class Usecase:
self.settings["pset"].Name = self.settings["name"]
def load_pset_template(self):
# TODO: add IFC2X3 PsetQto template support
self.psetqto = ifcopenshell.util.pset.get_template("IFC4")
self.pset_template = self.psetqto.get_by_name(self.settings["pset"].Name)
if self.settings["pset_template"]:
self.pset_template = self.settings["pset_template"]
else:
# TODO: add IFC2X3 PsetQto template support
self.psetqto = ifcopenshell.util.pset.get_template("IFC4")
self.pset_template = self.psetqto.get_by_name(self.settings["pset"].Name)
def update_existing_properties(self):
for prop in self.get_properties():