198 function _length_unit_name_1d
201 ) = u ==
"pm" ?
"picometer"
202 : u ==
"nm" ?
"nanometer"
203 : u ==
"um" ?
"micrometer"
204 : u ==
"mm" ?
"millimeter"
205 : u ==
"cm" ?
"centimeter"
206 : u ==
"dm" ?
"decimeter"
208 : u ==
"km" ?
"kilometer"
209 : u ==
"thou" ?
"thou (thousandth)"
210 : u ==
"mil" ?
"mil (thousandth)"
234 d == 1 ? _length_unit_name_1d( u )
235 : d == 2 ? str( _length_unit_name_1d( u ),
"^2" )
236 : d == 3 ? str( _length_unit_name_1d( u ),
"^3" )
241 d == 1 ? _length_unit_name_1d( u )
242 : d == 2 ? str(
"square ", _length_unit_name_1d( u ) )
243 : d == 3 ? str(
"cubic ", _length_unit_name_1d( u ) )
258 function _length_unit_mm2
262 ) = to ==
"pm" ? ( v * 1000000000.0 )
263 : to ==
"nm" ? ( v * 1000000.0 )
264 : to ==
"um" ? ( v * 1000.0 )
266 : to ==
"cm" ? ( v / 10.0 )
267 : to ==
"dm" ? ( v / 100.0 )
268 : to ==
"m" ? ( v / 1000.0 )
269 : to ==
"km" ? ( v / 1000000.0 )
270 : to ==
"thou" ? ( v / 0.0254 )
271 : to ==
"mil" ? ( v / 0.0254 )
272 : to ==
"in" ? ( v / 25.4 )
273 : to ==
"ft" ? ( v / 304.8 )
274 : to ==
"yd" ? ( v / 914.4 )
275 : to ==
"mi" ? ( v / 1609344.0 )
289 function _length_unit_2mm
293 ) = let( factor = _length_unit_mm2( 1, from ) )
294 (factor == undef) ? undef : v / factor;
318 : (to ==
"mm") ? _length_unit_2mm( v, from )
319 : _length_unit_mm2( _length_unit_2mm( v, from ), to );
346 (d != 1 && is_list(v)) ? undef
348 : d == 1 ? _length_1d(v, from, to)
350 : let( c = _length_1d(v, from, to) )
352 : d == 3 ? pow( c, 3 )
380 (d != 1 && is_list(v)) ? undef
382 : d == 1 ? _length_1d(v, from, to)
383 : d == 2 ? _length_1d(sqrt(v), from, to)
384 : d == 3 ? _length_1d(pow(v, 1/3.0), from, to)
408 function l_mm(v, d=1) =
length(v=v, from=
"mm", d=d);
417 function l_in(v, d=1) =
length(v=v, from=
"in", d=d);
function length(v, from=length_unit_default, to=length_unit_base, d=1)
Convert a length value from one unit to another, with optional dimensional scaling.
function length_unit_name(u=length_unit_default, d=1, w=false)
Return the name for a length unit identifier with dimension.
function length_inv(v, from=length_unit_base, to=length_unit_default, d=1)
Recover a linear length from an area or volume value, then convert units.
function l_mm(v, d=1)
Shorthand length conversion for millimeters.
function l_in(v, d=1)
Shorthand length conversion for inches.