From 7bea3d9d101c081a2aa4c5443428fbf139dd9117 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Wed, 10 Sep 2025 14:56:14 +0500 Subject: [PATCH] Annotation types - use natural sorting, make 'Untyped' appear always on top --- src/bonsai/bonsai/bim/module/drawing/data.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/bonsai/bonsai/bim/module/drawing/data.py b/src/bonsai/bonsai/bim/module/drawing/data.py index 095e9b68a4..31143577a3 100644 --- a/src/bonsai/bonsai/bim/module/drawing/data.py +++ b/src/bonsai/bonsai/bim/module/drawing/data.py @@ -25,6 +25,7 @@ import ifcopenshell.util.unit import bonsai.tool as tool from pathlib import Path from typing import Any, Union +from natsort import natsorted def refresh(): @@ -480,9 +481,9 @@ class AnnotationData: if tool.Drawing.is_annotation_object_type(relating_type, object_type): relating_types.append(relating_type) - results = [("0", "Untyped", "")] - results.extend([(str(e.id()), e.Name or "Unnamed", e.Description or "") for e in relating_types]) - results.sort(key=lambda x: x[1].lower()) + results = [(str(e.id()), e.Name or "Unnamed", e.Description or "") for e in relating_types] + results = natsorted(results, key=lambda x: x[1]) + results = [("0", "Untyped", "")] + results return results @classmethod