From 63161ef039497d989eeeb7eb5de7fd46d3508ea0 Mon Sep 17 00:00:00 2001 From: wobrschalek Date: Tue, 2 Dec 2025 16:17:45 -0800 Subject: [PATCH] evaluate expressions so that negative values are correctly read --- src/geometry_api/geometry_api.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/geometry_api/geometry_api.py b/src/geometry_api/geometry_api.py index 02dcd32..3de3d53 100644 --- a/src/geometry_api/geometry_api.py +++ b/src/geometry_api/geometry_api.py @@ -510,10 +510,12 @@ def _collect_attr(e, vals): expression = next(iter(au.owned_elements), None) if isinstance(expression, (syside.LiteralRational, syside.LiteralInteger)): vals[au.name] = float(expression.value) + elif expression is not None and isinstance(expression, syside.Expression): + compiler = syside.Compiler() + result, report = compiler.evaluate(expression) + vals[au.name] = float(result) elif isinstance(expression, syside.LiteralString): vals[au.name] = str(expression.value) - - def visit(el, parent_component=None, level=0): indent = " " * level