mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-23 15:06:25 +00:00
bim.add_pset_template to add psets with unique names for convenience
This commit is contained in:
@@ -20,6 +20,7 @@ import os
|
|||||||
import bpy
|
import bpy
|
||||||
import ifcopenshell
|
import ifcopenshell
|
||||||
import ifcopenshell.api
|
import ifcopenshell.api
|
||||||
|
import ifcopenshell.api.pset_template
|
||||||
import bonsai.bim.schema
|
import bonsai.bim.schema
|
||||||
import bonsai.bim.handler
|
import bonsai.bim.handler
|
||||||
import bonsai.tool as tool
|
import bonsai.tool as tool
|
||||||
@@ -86,9 +87,11 @@ class AddPsetTemplate(bpy.types.Operator, PsetTemplateOperator):
|
|||||||
bl_options = {"REGISTER", "UNDO"}
|
bl_options = {"REGISTER", "UNDO"}
|
||||||
|
|
||||||
def _execute(self, context):
|
def _execute(self, context):
|
||||||
template = ifcopenshell.api.run("pset_template.add_pset_template", IfcStore.pset_template_file)
|
existing_psets = {template.Name for template in self.template_file.by_type("IfcPropertySetTemplate")}
|
||||||
ifcopenshell.api.run("pset_template.add_prop_template", IfcStore.pset_template_file, pset_template=template)
|
name = tool.Blender.ensure_unique_name("New_Pset", existing_psets)
|
||||||
IfcStore.pset_template_file.write(IfcStore.pset_template_path)
|
template = ifcopenshell.api.pset_template.add_pset_template(self.template_file, name=name)
|
||||||
|
ifcopenshell.api.pset_template.add_prop_template(self.template_file, pset_template=template)
|
||||||
|
self.template_file.write(IfcStore.pset_template_path)
|
||||||
bonsai.bim.handler.refresh_ui_data()
|
bonsai.bim.handler.refresh_ui_data()
|
||||||
bonsai.bim.schema.reload(tool.Ifc.get().schema)
|
bonsai.bim.schema.reload(tool.Ifc.get().schema)
|
||||||
context.scene.BIMPsetTemplateProperties.pset_templates = str(template.id())
|
context.scene.BIMPsetTemplateProperties.pset_templates = str(template.id())
|
||||||
|
|||||||
Reference in New Issue
Block a user