@@ -1471,7 +1471,7 @@ def __init__(
14711471 @property
14721472 def _aedt_obj (self ):
14731473 """Return the correct AEDT object based on variable scope."""
1474- if "$" in self ._variable_name and self ._app :
1474+ if self . _variable_name and "$" in self ._variable_name and self ._app :
14751475 return self ._app ._oproject
14761476 elif self ._app :
14771477 return self ._app ._odesign
@@ -1818,9 +1818,10 @@ def circuit_parameter(self) -> bool:
18181818 @property
18191819 def expression (self ) -> str :
18201820 """Raw AEDT expression."""
1821+ expression = self ._expression
18211822 if self ._aedt_obj :
1822- return self ._aedt_obj .GetVariableValue (self ._variable_name )
1823- return None
1823+ expression = self ._aedt_obj .GetVariableValue (self ._variable_name )
1824+ return expression
18241825
18251826 @expression .setter
18261827 def expression (self , value : str ):
@@ -1865,9 +1866,10 @@ def units(self) -> str:
18651866 """Unit string associated with the expression."""
18661867 try :
18671868 evaluated_value = self ._get_prop_evaluated_val ()
1868- _ , self ._units = decompose_variable_value (evaluated_value )
18691869 if evaluated_value is None :
18701870 self ._units = self ._units_fallback ()
1871+ else :
1872+ _ , self ._units = decompose_variable_value (evaluated_value )
18711873 except Exception :
18721874 self ._units = self ._units_fallback ()
18731875 return self ._units
@@ -2063,10 +2065,10 @@ def _value_fallback(self):
20632065
20642066 @pyaedt_function_handler ()
20652067 def _units_fallback (self ):
2066- unit = None
2068+ units = self . _units
20672069 if not is_number (self ._value ):
20682070 _ , unit = decompose_variable_value (self ._value )
2069- self ._units = unit
2071+ self ._units = units
20702072 return self ._units
20712073
20722074
0 commit comments