The Units struct provides access to system global variables and some methods to get and set the System Units scale, type, and Display Units.
System Globals:
units.DisplayType
Gets/sets the current unit display type as a <name>
.
Valid unit display types are:
#Generic #Metric #US #custom
units.MetricType
Gets/sets the current metric unit display type as a <name>
.
Valid metric unit display types are:
#Millimeters #Centimeters #Meters #Kilometers
units.USType
Gets/sets the current US standard unit display type as a <name>
.
Valid US standard unit display types are:
#Frac_In #Dec_In #Frac_Ft #Dec_Ft #Ft_Frac_In #Ft_Dec_In
units.USFrac
Gets/sets the current US fraction display type as a <name>
.
Valid US fraction display types are:
#Frac_1_1 #Frac_1_2 #Frac_1_4 #Frac_1_8 #Frac_1_10 #Frac_1_16 #Frac_1_32 #Frac_1_64 #Frac_1_100
units.CustomName
Gets/sets the current custom unit name as a <string>
.
units.CustomValue
Gets/sets the current custom unit value as a <float>
.
units.CustomUnit
Gets/sets the current custom unit type as a <name>
.
Valid custom unit display types are:
#Inches #Feet #Miles #Millimeters #Centimeters #Meters #Kilometers
units.SystemScale
Gets/sets the current system unit scale value as a <float>
.
This is the value shown in Customize Units Setup > System Units Setup > System Units Scale group.
units.SystemType
Gets/sets the current system unit scale type as a <name>
.
This is the unit shown in Customize > Units Setup > System Units Setup > System Units Scale group.
Valid system unit scale types are:
#Inches #Feet #Miles #Millimeters #Centimeters #Meters #Kilometers
Methods:
units.formatValue <float>
Returns a <string>
value representing the <float>
in the current unit scale.
This method can cause a string overflow, especially when the units are set to miles or kilometers.
If an overflow occurs a run-time error is thrown.
EXAMPLE
units.DisplayType = #Generic -->#Generic units.SystemType = #inches -->#inches units.formatValue 123.45 -->"123.45" units.DisplayType = #Metric -->#metric units.MetricType = #meters -->#meters units.formatValue 123.45 -->"3.136m" units.MetricType = #centimeters -->#centimeters units.formatValue 123.45 -->"313.563cm" units.DisplayType = #US -->#us units.USType = #ft_Frac_In -->#ft_Frac_In units.formatValue 123.45 -->"10'3 14/32"" units.USType = #Dec_Ft -->#dec_Ft units.formatValue 123.45 -->"10.287'" units.DisplayType = #Custom --#custom units.formatValue 123.45 -->"0.016FL"
units.decodeValue <string>
Parses <string>
using the current unit settings and returns a <float>
.
A run-time error is thrown if an error occurs in the parsing of the string.
This is the inverse function of units.formatValue()
described above.
The back and forth conversion of values can lead to precision loss due to rounding errors.
EXAMPLE
units.DisplayType = #Generic -->#Generic units.decodeValue "3.136m" -->123.465 units.decodeValue "313.563cm" -->123.45 units.decodeValue "10'3 14/32\"" -->123.438 units.decodeValue "10.287'" -->123.444 units.decodeValue "0.016FL" -->126.72