Units: Difference between revisions
(Removed Unit_Management_System_Proposal link. Page was deleted.) |
|||
(81 intermediate revisions by 16 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> |
|||
Here some reading about units: |
|||
{{TOCright}} |
|||
<translate> |
|||
<!--T:1--> |
|||
Some reading about units: |
|||
*[http://en.wikipedia.org/wiki/Metrology Metrology] |
|||
*[http://en.wikipedia.org/wiki/International_System_of_Units SI system] |
*[http://en.wikipedia.org/wiki/International_System_of_Units SI system] |
||
*[http://en.wikipedia.org/wiki/Imperial_units Imperial units] |
*[http://en.wikipedia.org/wiki/Imperial_units Imperial units] |
||
*[http://en.wikipedia.org/wiki/SI_derived_unit SI derived units] |
*[http://en.wikipedia.org/wiki/SI_derived_unit SI derived units] |
||
*[http://en.wikipedia.org/wiki/Degree_%28angle%29 angle units] |
*[http://en.wikipedia.org/wiki/Degree_%28angle%29 angle units] |
||
*[https://github.com/3drepo/occt/blob/master/src/UnitsAPI/Units.dat unit implemented in OCC] |
|||
== Examples == <!--T:2--> |
|||
</translate> |
|||
{{Code|code= |
|||
# -- some examples of the FreeCAD unit translation system -- |
|||
# make a shortcut for the examples |
|||
pq = FreeCAD.Units.parseQuantity |
|||
# 10 meters in internal numbers |
|||
pq('10 m') |
|||
# doing math |
|||
pq('3/8 in') |
|||
# combined stuff |
|||
pq('100 km/h') |
|||
# transfer to other units |
|||
pq('100 km/h')/tu('m/s') |
|||
# derived units (Ohm) |
|||
pq('m^2*kg*s^-3*A^-2') |
|||
# or |
|||
pq('(m^2*kg)/(A^2*s^3)') |
|||
# angles |
|||
pq('2*pi rad') # full circle |
|||
# as gon |
|||
pq('2*pi rad') / tu('gon') |
|||
# more imperial |
|||
tu('1ft (3+7/16)in') |
|||
# or |
|||
pq('1\' (3+7/16)"') # the ' we have to escape because of python |
|||
# trigonometry |
|||
pq('sin(pi)') |
|||
# Using translated units as parameters, this command will create a 50.8mm x 20mm x 10mm box |
|||
b = Part.makeBox(pq('2in'), pq('2m')/100, 10) |
|||
}} |
|||
<translate> |
|||
== Supported units == <!--T:79--> |
|||
<!--T:4--> |
|||
A complete list of all supported units can be [[Expressions#Units |found here]]. |
|||
== |
== See Also == <!--T:76--> |
||
<!--T:78--> |
|||
# -- some examples of the FreeCAD unit translation system -- |
|||
* The [[Expressions#Units|Expressions]] page for a list of all known units. |
|||
# make a shortcut for the examples |
|||
* The documentation of [[Quantity|Quantity]]. |
|||
tu = App.translateUnit |
|||
* The [[Std_UnitsCalculator|Std UnitsCalculator]] tool. |
|||
# 10 meters in internal numbers |
|||
tu('10 m') |
|||
# doing math |
|||
tu('3/8 in') |
|||
# combined stuff |
|||
tu('100 km/h') |
|||
# transfer to other units |
|||
tu('100 km/h')/tu('m/s') |
|||
# derived units (Ohm) |
|||
tu('m^2*kg*s^-3*A^-2') |
|||
# or |
|||
tu('(m^2*kg)/(A^2*s^3)') |
|||
# angles |
|||
tu('2*pi rad') # full circle |
|||
# as gon |
|||
tu('2*pi rad') / tu('gon') |
|||
== supported units == |
|||
Here the defined units in FreeCAD so far. It's easy to add an own one. The definition is here[http://free-cad.svn.sourceforge.net/viewvc/free-cad/trunk/src/Base/UnitsApi.l?view=markup]. |
|||
"mm" 1.0; // millimeter (internal standard length) |
|||
"m" 1000.0; // meter |
|||
"cm" 10.0; // centimeter |
|||
"dm" 100.0; // decimeter |
|||
"km" 1000000.0; // kilometer |
|||
"in" 25.4; // inch |
|||
"fo" 304.8; // foot |
|||
"th" 0.0254; // thou |
|||
"yr" 914.4; // yard |
|||
"kg" 1.0; // kilogram (internal standard mass) |
|||
"g" 0.001; // gram |
|||
"mg" 0.000001; // milligram |
|||
"t" 1000.0; // ton |
|||
"lb" 0.45359237; // pound |
|||
"oz" 0.45359237; // ounce |
|||
"st" 6.35029318; // Stone |
|||
"cwt" 50.80234544;// hundredweights |
|||
"deg" 1.0; // degree (internal standard angle) |
|||
"rad" 180/M_PI; // radian |
|||
"gon" 360.0/400.0;// gon |
|||
"s" 1.0; // second (internal standard time) |
|||
"min" 60.0; // minute |
|||
"h" 3600.0; // hour |
|||
"A" 1.0; // Ampere (internal standard electric current) |
|||
"K" 1.0; // Kelvin (internal standard thermodynamic temperature) |
|||
"cd" 1.0; // Candela (internal standard luminous intensity) |
|||
"mol" 1.0; // Mole (internal standard amount of substance) |
|||
</translate> |
|||
"ml" 1.0; // microliter mm^3 (derived standard volume) |
|||
{{Powerdocnavi{{#translation:}}}} |
|||
"l" 1000000.0; // Liter dm^3 |
Latest revision as of 14:04, 4 June 2022
Some reading about units:
Examples
# -- some examples of the FreeCAD unit translation system --
# make a shortcut for the examples
pq = FreeCAD.Units.parseQuantity
# 10 meters in internal numbers
pq('10 m')
# doing math
pq('3/8 in')
# combined stuff
pq('100 km/h')
# transfer to other units
pq('100 km/h')/tu('m/s')
# derived units (Ohm)
pq('m^2*kg*s^-3*A^-2')
# or
pq('(m^2*kg)/(A^2*s^3)')
# angles
pq('2*pi rad') # full circle
# as gon
pq('2*pi rad') / tu('gon')
# more imperial
tu('1ft (3+7/16)in')
# or
pq('1\' (3+7/16)"') # the ' we have to escape because of python
# trigonometry
pq('sin(pi)')
# Using translated units as parameters, this command will create a 50.8mm x 20mm x 10mm box
b = Part.makeBox(pq('2in'), pq('2m')/100, 10)
Supported units
A complete list of all supported units can be found here.
See Also
- The Expressions page for a list of all known units.
- The documentation of Quantity.
- The Std UnitsCalculator tool.
Power user documentation
- FreeCAD scripting: Python, Introduction to Python, Python scripting tutorial, FreeCAD Scripting Basics
- Modules: Builtin modules, Units, Quantity
- Workbenches: Workbench creation, Gui Commands, Commands, Installing more workbenches
- Meshes and Parts: Mesh Scripting, Topological data scripting, Mesh to Part, PythonOCC
- Parametric objects: Scripted objects, Viewproviders (Custom icon in tree view)
- Scenegraph: Coin (Inventor) scenegraph, Pivy
- Graphical interface: Interface creation, Interface creation completely in Python (1, 2, 3, 4, 5), PySide, PySide examples beginner, intermediate, advanced
- Macros: Macros, How to install macros
- Embedding: Embedding FreeCAD, Embedding FreeCADGui
- Other: Expressions, Code snippets, Line drawing function, FreeCAD vector math library (deprecated)
- Hubs: User hub, Power users hub, Developer hub