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