From 85ae25cd3ce3c069cee98f0e7da711c8c48f7e9f Mon Sep 17 00:00:00 2001 From: Ryan Schultz Date: Tue, 24 Feb 2026 11:04:14 -0600 Subject: [PATCH] Import BoxAlignment into alignment props on edit enable When enabling text editing, align_vertical and align_horizontal were not populated from the existing IFC BoxAlignment value, causing them to revert to their Blender property defaults. Generated with the assistance of an AI coding tool. --- src/bonsai/bonsai/tool/drawing.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/bonsai/bonsai/tool/drawing.py b/src/bonsai/bonsai/tool/drawing.py index 864568c835..503c3e54f7 100644 --- a/src/bonsai/bonsai/tool/drawing.py +++ b/src/bonsai/bonsai/tool/drawing.py @@ -1185,7 +1185,7 @@ class Drawing(bonsai.core.tool.Drawing): ifc_literals = cls.get_text_literal(obj, return_list=True) assert isinstance(ifc_literals, list) - for ifc_literal in ifc_literals: + for i, ifc_literal in enumerate(ifc_literals): literal_props = props.literals.add() bonsai.bim.helper.import_attributes(ifc_literal, literal_props.attributes) @@ -1196,6 +1196,16 @@ class Drawing(bonsai.core.tool.Drawing): literal_props.box_alignment = box_alignment_mask # pyright: ignore[reportAttributeAccessIssue] literal_props.ifc_definition_id = ifc_literal.id() + if i == 0: + if position_string == "center": + props.align_vertical = "middle" + props.align_horizontal = "middle" + else: + parts = position_string.split("-") + if len(parts) == 2: + props.align_vertical = parts[0] + props.align_horizontal = parts[1] + from bonsai.bim.module.drawing.data import DecoratorData text_data = DecoratorData.get_text_data(obj)