diff --git a/src/bonsai/bonsai/bim/module/pset_template/operator.py b/src/bonsai/bonsai/bim/module/pset_template/operator.py index 78f47d721a..0e735fc136 100644 --- a/src/bonsai/bonsai/bim/module/pset_template/operator.py +++ b/src/bonsai/bonsai/bim/module/pset_template/operator.py @@ -296,7 +296,11 @@ class EditPropTemplate(bpy.types.Operator, tool.PsetTemplate.PsetTemplateOperato enumerators = [getattr(ev, data_type) for ev in prop.enum_values] else: enumerators = None - if (primary_measure_type := active_prop_template.primary_measure_type) == "-": + + template_type = active_prop_template.template_type + primary_measure_type = active_prop_template.primary_measure_type + # Quantities don't use primary measure type. + if primary_measure_type == "-" or template_type.startswith("Q_"): primary_measure_type = None ifcopenshell.api.run( @@ -307,7 +311,7 @@ class EditPropTemplate(bpy.types.Operator, tool.PsetTemplate.PsetTemplateOperato "Name": props.active_prop_template.name, "Description": props.active_prop_template.description, "PrimaryMeasureType": primary_measure_type, - "TemplateType": props.active_prop_template.template_type, + "TemplateType": template_type, "Enumerators": enumerators, }, ) diff --git a/src/bonsai/bonsai/bim/module/pset_template/ui.py b/src/bonsai/bonsai/bim/module/pset_template/ui.py index 27420a87a0..5fe854fb05 100644 --- a/src/bonsai/bonsai/bim/module/pset_template/ui.py +++ b/src/bonsai/bonsai/bim/module/pset_template/ui.py @@ -88,9 +88,12 @@ class BIM_PT_pset_template(Panel): row = self.layout.row(align=True) if self.props.active_prop_template_id and self.props.active_prop_template_id == prop_template["id"]: + active_prop_template = self.props.active_prop_template row.prop(self.props.active_prop_template, "name", text="") row.prop(self.props.active_prop_template, "description", text="") - prop_with_search(row, self.props.active_prop_template, "primary_measure_type", text="") + # Quantities don't use primary measure type. + if active_prop_template.template_type.startswith("P_"): + prop_with_search(row, self.props.active_prop_template, "primary_measure_type", text="") row.prop(self.props.active_prop_template, "template_type", text="") if self.props.active_prop_template.template_type == "P_ENUMERATEDVALUE":