Units and number entry
The base units the engine works in, the metric and US customary display, the units you can type into a field, what always stays metric, and the unit rules of the axm command line.
The engine computes in one set of metric base units. Everything else, the unit switch, the units you type into a field and the units of the command line, is conversion at the edge. Knowing where that edge lies avoids the two classic mistakes: a torque entered a thousand times too small or too large, and a bare number read in a unit you did not intend.
Base units
The project file (*.axm.json) and every JSON document the CLI prints hold values in these units, whatever the display setting:
| Quantity | Base unit | Remarks |
|---|---|---|
| Length, diameter, position | mm | bearing clearances also in mm in the file |
| Small lengths | µm | roughness Rz and Ra, misalignment, deviations, tip relief |
| Force | N | |
| Moment on a shaft, shaft-load torque | N·mm | |
| Torque of gears, drives, rotors, keys, fits | N·m | see the caution below |
| Stress, pressure, Young's modulus | MPa | 1 MPa = 1 N/mm² |
| Linear stiffness | N/mm | |
| Tilt stiffness | N·mm/rad | |
| Tilt, slope | arcmin (′) | |
| Helix, pressure and contact angles | ° | |
| Mass | kg | |
| Density | kg/m³ | |
| Temperature | °C | a temperature rise in K |
| Speed | rpm | |
| Kinematic viscosity | mm²/s | dynamic viscosity in mPa·s |
| Life | h |
The base set is a consistent mm–N–MPa system: N/mm² is MPa, N·mm/mm³ is MPa, and a stiffness in N/mm times a displacement in mm is a force in N. Formulas in the theory pages are written in these units unless a page says otherwise.
The unit switch
The top bar has a two-button switch, mm · N and in · lbf. The same choice is under Settings › Display › Units as Metric (mm, N, MPa) or US customary (in, lbf, ksi), and the command palette offers Show US customary units (in, lbf) or Show metric units (mm, N). The choice is a preference of the app and of your account; it is not stored in the project.
US customary display converts each metric unit to one counterpart:
| Metric | US customary | Metric | US customary |
|---|---|---|---|
| mm | in | N·mm | lbf·in |
| µm | mil | N·m | lbf·ft |
| m | ft | MPa | ksi |
| N | lbf | N/mm | lbf/in |
| kN | kip | kN/mm, N/µm | klbf/in |
| kg | lb | N·mm/rad | lbf·in/rad |
| kg/m³ | lb/ft³ | °C | °F |
| W, kW | hp | K (a difference) | °F (× 1.8, no offset) |
| m/s | ft/min | g·mm (unbalance) | oz·in |
| kg·m² | lb·ft² | mm², mm⁴ | in², in⁴ |
Speeds (rpm), angles (arcmin and °), lives (h), percentages, viscosities (mm²/s, mPa·s) and dimensionless factors are shown the same way in both systems. A temperature difference, such as a margin or a rise, converts by the factor 1.8 alone: a 50 K margin reads 90 °F, not 122 °F.
The switch never changes a result. It changes how numbers are shown and how a bare number you type is read; the engine still solves the metric file.
Typing values with units
Every numeric field accepts a number with an optional unit, for example 120mm, 2 in, 3kN, 49.4 N·m or 30 ksi. The value is committed on Enter or when the field loses focus; Escape restores the current value. The rules are:
- A bare number, or a number with the unit the field shows, is in that unit. With in · lbf selected,
2in a length field is 2 in. - A number with another unit of the field's kind is converted. In a length field that shows mm,
2 inbecomes 50.8 mm; in a µm field the same2 inbecomes 50 800 µm. - A unit that does not belong to the field's kind, or text that is not a number, marks the field invalid with the message "Enter a number, optionally with a unit". Nothing is changed until you correct it.
Units are matched without regard to case, spaces, the multiplication dot, *, . and -, so N·m, N*m, N.m and Nm are the same. Use a decimal point; thousands separators are not read (type 25000, not 25,000). Exponents work: 12e-6 in an expansion field.
The kind of a field follows from its metric unit. The units each kind accepts:
| Field unit (kind) | Accepted units |
|---|---|
| mm (length) | mm, cm, m, in, ft, mil, thou, µm (also um) |
| µm (small length) | µm, nm, mm, mil, thou, in |
| N (force) | N, kN, lbf, kip, klbf |
| N·mm (moment) and N·m (torque) | N·mm, N·m, kN·m, lbf·in, lbf·ft, kip·in, kip·ft |
| N/mm (stiffness) | N/mm, kN/mm, N/µm, N/m, lbf/in, klbf/in, kip/in, lbf/mil |
| N·mm/rad (tilt stiffness) | N·mm/rad, N·m/rad, kN·m/rad, N·mm/mrad, N·m/mrad, kN·m/mrad, lbf·in/rad, lbf·ft/rad, lbf·in/mrad, lbf·ft/mrad, kip·ft/mrad |
| MPa (stress) | MPa, N/mm², GPa, kPa, Pa, bar, psi, ksi, Msi |
| arcmin (tilt) | arcmin or ′ (typed '), arcsec or ″, deg or °, rad, mrad |
| ° (angle) | °, deg, arcmin, rad, mrad |
| °C (temperature) | °C, °F, K |
| K (temperature difference) | K, °C, °F |
| kg (mass) | kg, g, t, lb, oz |
| kg/m³ (density) | kg/m³, kg/dm³, g/cm³, lb/ft³, lb/in³ |
| mm² (area) | mm², cm², m², in², ft² |
| W (power) | W, kW, MW, hp |
Examples: 70 °F in a temperature field is 21.1 °C; 0.1° in a tilt field is 6′; 250 kN/mm in a stiffness field is 250 000 N/mm; 1.124 kip in a force field is 5000 N to four figures.
Torque: N·mm on shafts, N·m elsewhere
Two torque units are in use, chosen so that the typical input is a convenient number:
- Shaft loads take Torque, Moment xy and Moment xz in N·mm, like the rest of the shaft model. A 49.4 N·m coupling torque is 49 400 N·mm. The field accepts
49.4 N·mand converts it. - Gear pairs (pinion torque), planetary sets (sun torque), worm pairs (wheel torque), belt and chain drives, motor rotors, keys and splines, and fits take their torque in N·m.
- Bolted joints take the torque about the bolt axis MY and the working moment MB in N·mm. The text output shows the tightening torque in N·m (83.59 N·m for the bolted-bracket template), while the JSON field
tighteningTorqueholds the same value in N·mm (83 593 N·mm). - Bearing seal torque is in N·mm.
When a gear pair is mounted on shafts, the app converts its N·m into the N·mm of the shaft loads itself; you never convert between the two by hand except when you type a bare number into a field of the other unit.
What always stays metric
- The project file and its JSON, including
axm applyand--patchdocuments. - Every
--jsonoutput of the CLI, whatever--unitsor theunitssetting say. - Oil viscosity in mm²/s (and mPa·s), speeds in rpm, angles, lives in h.
Reports follow the display: a report created with US customary units selected shows US customary units throughout.
Units on the command line
CLI arguments accept units in the same way: --at 120mm, --length 0.12m, --fy -3kN, --torque 49.4Nm, --axial-stiffness 250kN/mm. The CLI also knows ft, mil, kip, lbf·ft, kip·ft, psi, ksi, kip/in, lb/in³, lb, g, °F and K. A number with a unit is converted whatever else is set.
What a bare number means depends on how you ask for imperial units:
| Command | A bare --fy -1124 is read as |
|---|---|
axm load update p.axm.json L1 --fy -1124 | −1124 N (base units) |
axm load update p.axm.json L1 --fy -1124 --units imperial | −1124 lbf |
axm load update p.axm.json L1 --fy -1124 --units imperial --json | −1124 N: --json always reads base units |
any command with units set to imperial by axm config | −1124 N: the setting changes the display only |
With an explicit --units imperial and no --json, bare numbers are read in the unit the text output shows for that quantity: in, mil for bearing clearances, lbf, lbf·in for moments, lbf·ft for gear and drive torques, lbf/in, lbf·in/rad, ksi, lb/ft³, lb and °F. The rule exists so that a script or agent that always passes --json can never be surprised by a user's display setting.
axm solve shaft.axm.json --units imperial # text output in in, lbf, lbf·ft, ksi
axm config set units imperial # the same display by default
axm load add shaft.axm.json --at 7.874in --fy -1.124kip --json