Blockpad supports units intelligence to make calculations easier to make and review. Everything you need to know about units is covered on this page.
To assign a unit to a number, type the unit text after it.
57 kg, or
The unit text must match the built-in unit stored in the Blockpad library, but Blockpad will often auto correct to what's intended. The dropdown selection will also help.
Composite units can be formed using built-in units and regular operators (*, /, and ^).
12 kg*m/s^2, or
When custom units are used in composite units, the composite units must be wrapped in parentheses.
6 (furlong/fortnight) or
To convert a value to a different unit, the to keyword is used.
In a formula, type in "to desired unit" after the value you wish to convert.
12 kg*m/s^2 to lbf,
20 F to C, or
25000 lbf to kN.
This can be helpful to simplify the units for the results of some equations. For example, 5 joules divided by 2 seconds might give the answer in J/s, but you want the answer in Watt.
When you do math with numbers and units, Blockpad formulas handle the work for you. Units are auto-converted, cancelled, and multiplied as they need to be.
For example, if you add or subtract numbers with two different length units, like feet and meters, Blockpad will auto-convert to the first unit and give the correct result.
Or if you multiply numbers with two different length units, Blockpad auto-converts and multiplies the units appropriately.
Dividing two length units gives you a unitless number.
Finally, if you try to add or subtract numbers and the units aren't compatibe, like force and length units, then Blockpad tells you there's something wrong.
Sometimes numbers need to be unitless for calculations, like when an equation is derived through experimentation. In these cases, the units need to be stripped and added back in order to use units in the rest of the document.
To strip units from a number value, divide the value by the number one with the unit the value is expected to be.
For example, if the variable length is expected in feet,
length/1 ft gives the correct unitless number.
It doesn't matter what units length has (as long as it's compatible with feet);
Blockpad will autoconvert length first, and then the units will cancel out.
To assign units to a unitless number value, multiply that value by the number one with the unit you want it to be.
For example, say the value width is calculated in a way that gives a unitless result,
width = 1 + 2/sqrt(3).
To have width in centimeters, multiply that entire formula by 1 cm -
width = (1 + 2/sqrt(3))*1 cm
The effective seating width of a gasket is calculated with the equation
b = 0.5*sqrt(b_0),
where b_o is expected in inches and the result, b, is also in inches.
To handle this, b_o needs to be divided by 1 inch, and the final equation needs to be multiplied by 1 inch. This way, b_o can have any length unit and Blockpad will automatically convert it to inches, then strip the units. Also, b is now stored in inches, and can be converted to any other compatible unit.
There is one exception to this method: temperature units.
To correctly do this for temperature units,
you need to first convert to what you want, then divide (instead of just divide).
T_2 = 0.5*((T1 to K)/1 K),
T_2 = 0.5*(T1/1 K).
See the temperature difference units
section for more information.
Foot-inch units (e.g. 5ft 8in or 10ft 2.5in) are an acceptable unit type in Blockpad, along with other units that take a similar form (like degree-minute-second or day-hour-minute).
To use these kinds of units, follow the basic layout of number unit number unit number unit, etc..
To convert to this kind of unit, type the units with a space between them after the "to" keyword,
or in the specific case of deg-min-sec, type "to dms".
10 m to ft in,
2.2 day to day hr min,
32.34 deg to dms.
Note that this doesn't work for any and all combination of units.
5m 22cm 5mm doesn't work, and neither does
Only units that are specified in Blockpad as combination units work.
Below is a list.
- ft in
- lb oz
- day hr min
- hr min
- min sec
- deg min sec (dms)
You can create new custom units to use in your equations, either based off of existing units or as base units that stand alone.
To create a new custom unit, start a
then type in
XXX NewUnit = YYY ExistingUnit,
where XXX/YYY is the conversion factor for the units.
1 furlong = 220 yd,
100 centigram = 1 g, or
1 fortnight = 2 week.
Then, use the custom unit just like a regular unit in your equations.
You can also use custom units to define new custom units.
To create a new base custom unit, start a
then type in
1 NewUnit = BaseUnit().
1 person = BaseUnit() or
1 egg = BaseUnit().
Just like with other custom units, use them the same as built-in units, including for creating new custom units.
Also just like with regular Blockpad units, the name and case need to match exactly, or the formula won't work.
There is one case where custom units must be handled differently than built-in units. If custom units are used in a composite units, you must put parentheses around them. (To be more specific, the error only occurs if a custom unit is not the first unit in the composite unit).
One more important thing - unlike regular values, custom units always apply to the entire file, not just the frame they are in. Once a custom unit is defined in the file, it can't be redefined anywhere else.
Blockpad has a few built-in currency units, like usd, cad, and eur. (When you use $, it's treated as usd. E.g. $1 = 1 usd.)
By default, these currencies are incompatible, so you cannot convert from one to the other.
However, you can define custom exchange rates for different currency units, and the respective units will become compatible. So you will be able to convert to and from the different currencies whose relations you define.
The syntax is similar to creating a custom unit:
X currency1 = Y currency2.
1 usd = .94 eur or
1.37 cad = 1 usd.
Because conventional temperature scales have different starting points (0 C ≠ 0 F), there is a fundamental difference between temperature values (e.g. 30 C = 303.15 K) and temperature difference values (e.g. (40 C - 10 C) = 30 K).
Blockpad handles this by having "temperature difference units", ΔF and ΔC.
If you subtract two values in F or C, the result will be in ΔF or ΔC. When ΔF or ΔC are added or subtracted from F or C units, the result will be in F or C. ALso, ΔF or ΔC can be directly applied to values when appropriate.
Note that the ΔF and ΔC are basically the same as absolute temperature units. Because of this 1 ΔF = 1 R and 1 ΔC = 1 K.
Strictly speaking, you should only divide values with temperature difference units or absolute temperature units. So, if Blockpad sees that you are trying to divide using F or C, it will interpret those values as ΔF or ΔC, to try to give you the correct answer.
In the example below, either temperature difference or absolute temperature units should be used as part of the composite unit with Watts. However, if a relative temperature unit (F or C) is used, Blockpad will treat it as a temperature difference unit.
Also, if you try to convert directly from F or C to ΔF or ΔC, Blockpad will give you a one-to-one interpretation. It will not convert the F or C value to absolute temperature.
Note that while this adaptation makes temperature units easier to work with, it can potentially cause interpretation problems. This is because you can use Blockpad conversions to turn 1 C into 1 K, even though that is not correct.
This becomes a problem specifically if you are trying to strip units from temperature values. To account for this, any value that you explicity want to be in K or R should be directly converted with the to keyword inside of the equation, before "stripping" the units.
Blockpad includes psia and psig units (absolute and gauge pressure, respectively). When converting between the two, Blockpad adds 14.69595 to the psig value (or subtracts from the psia value), approximately the atmospheric pressure at sea level.
When you use the regular psi unit, Blockpad treats it as psia.
When adding and subtracting with psig, Blockpad uses Δpsig, which is similar to temperature difference units.
In the SI system, radian values are actually unitless. However, in practice in can be easier to follow equations if radians are labeled and treated as an angular unit.
Blockpad allows for both interpretations, but tends to prefer labeling radians as such. For example, Sin(1.571 rad) and Sin(1.571) will both return the value 1 in Blockpad, but the result for Asin(1) is returned with radians as units.
Note that even though radians are labeled, they are still basically treated as unitless numbers (except in some cases with rpm and Hz units).
So if you test equality with a boolean operation, Blockpad will say unitless 5 and 5 rad are the same. You can also convert radians directly to unitless values with the to keyword, using the word null as the "unit". (In Blockpad a value with "null" units is unitless).
Note that this also means numbers in degrees can be converted to unitless numbers. Blockpad will first convert them to be radians, then unitless.
There is an inherent challenge with interpreting Hz and rpm units.
This is because there are two possible interpretations for each of them:
- angular velocity
- 1 rpm = 1 rev/min = 2pi rad/min
- 1 Hz = 1 rev/s = 2pi rad/s
- 1 rpm = 1/min
- 1 Hz = 1/s
(Yes, the technical SI definition for Hz is s^-1, but many calculations call for the 2pi rad/s definition.)
Blockpad allows for both of these interpretations, and which one the program actually uses depends on the context.
By default, Blockpad will use the interpretation that matches the units that Hz or rpm are converting to, whether directly or as part of an autoconversion. (There is also an option to fix rpm and Hz to a user-specified definition, covered below.)
For example, if using the to keyword on the value 1 rpm, Blockpad will give materially different results depending on if you use to rad/min or to 1/min.
Note that these conversion results are meaningfullly different, since radians are actually unitless numbers. If you test these two results with a boolean operator, they will not be equal, as shown in the example above.
This context-dependent conversion can also happen as part of the autoconversion process that Blockpad does when adding values.
The trickiest occasion this conversion happens is when Blockpad cancels out units.
For example, the equation
Power = Torque * RPM
is used to calculate mechanical power.
In this form, it depends on rpm being interpreted as angular velocity (1 rpm = 1 rev/min = 2pi rad/min).
However, if you do exactly this in Blockpad and convert the final result to kW, the cancellations would end up using the frequency definition of rpm (1 rpm = 1 min^-1) because of how kW are defined. Blockpad would not automatically know to treat rpm as angular velocity, and would give the wrong result.
You have three options to fix this:
- Use the to keyword to "force" rpm into the angular velocity interpretation inside of the equation.
- Continue to treat rpm as 1/min and multiply a corrective factor (2pi).
- "Hard code" the definition of rpm as rev/min, as described below.
- (This option is not shown in the image)
When Blockpad an ambiguous unit like rpm or Hz is converted in Blockpad, the equation will be marked with a blue tag warning.
If you click on that equation, Blockpad will tell you which interpretation it's using and prompt you to confirm that it's correct. When marked correct, the blue tag goes away unless the formula changes.
It can sometimes be helpful to show units conversions steps when working with rpm and Hz, so you can see how Blockpad is handling the unit conversions.
Note that only direct conversions using the to keyword are shown, not autoconversions.
As covered above, Hz and rpm can have different interpretations, and Blockpad uses both depending on context. In Blockpad, these are considered "ambiguous units", and you have the option to "hard code" your desired interpretation of these built-in ambiguous units.
This way, you know for certain what interpretation Blockpad is using in the equations in your file.
Also, when you hard code the definitions for these units, the blue warning tags no longer appear because the conversions are no longer ambiguous.
To hard code an ambiguous unit, treat it like you are defining a custom unit with that name.
So for rpm, start a dynamic equation
and type in
1 rpm = 1 rev/min to hard code the angular velocity definition, or
1 rpm = 1 min^-1 to hard code the frequency definition.
Because rpm and Hz are both ambiguous and can be converted between each other, it's often best practice to hard code them both. See the examples below.
"Angular velocity" definition for both Hz and rpm.
"Frequency" definition for both Hz and rpm.
"Angular velocity" for rpm, but "Frequency" for Hz.
Hz and rpm not hardcoded, for comparison.
The simple pounds unit (lb) is flexible with conversions to mass or force units.
1 lb to kg gives 0.454 kg as the result,
1 lb to N returns 4.448 N.
Pounds force (lbf) and pounds mass (lbm) are not flexible.
Pounds force is only compatible with force units and pounds mass is only compatible with mass units.
1 lbf to kg will give an error.
The compatible function checks if two numbers have compatible units. In a sense, it checks if two numbers with units can be added together or if the units of one number could be converted to the units of the other. You can also think of it as checking if the fundamental dimensions are the same (length, mass/length^3, etc).
The Unit() function tells you what units a value has. It is mostly useful for descriptive labels, where the Compatible() function is mostly useful for logic formulas.
The Unit() function can be used on multiple values or a range of cells, but if they don't all have the same unit it will give an error.
The BaseUnit() function is used to define a custom unit that has no relationship to any built-in units. See the custom unit section above for how to use it.
In the Show Steps property for equations, you have the option to show unit conversions.
When this is turned on, Blockpad will show the unit cancellation process it uses any time the to keyword is used.
This can be a good way to see what's going on "behind the scenes" with Blockpad, and in some tricky cases like rpm and Hz, it can help you ensure Blockpad is doing the calculation like you're expecting it to.
You can set priority units for equations and cells so that calculations auto-convert to those units if they are compatible.
Set priority units for an equation:
- Select the equation.
- Select Value Format in the toolbar.
- Under Priority Units click Add.
- Specify the desired units.
- Click Ok.
- Repeat steps 3-5 for all units desired.
- Click Ok to exit Value Format
Set priority units for all equations in a file:
- In the toolbar, select Styles>Manage Styles.
- Click Add to add another style rule.
- For Container select Frame Document.
- For Object Type select Dynamic Equation.
- Under Properties select Value Format.
- In the new window, select Number on the left.
- Repeat steps 3-5 from above for all units desired.
- Click Ok to exit Value Format
- Close out of the Styles window.
You can make units hidden for value cells and equation results. The values still keep their units for the purpose of calculations, but they aren't displayed.
Hiding units is useful for making large tables of values look cleaner, and it can be used in conjuction with the Unit() function to show what units are used in another cell.
Hide units for a range of cells:
- Select the cell(s).
- Select Value Format in the toolbar.
- In the Number tab, scroll down and check the "Hide units" box.
- Click Ok to exit Value Format
- Customary Units
- SI Units
- Metric Units (Non-SI)
- Time Units
- Angle Units
- Screen Units
- Bit Units
- Currency Units
|nautical mile||nautical mile|
|sf||square foot (ft^2)|
|sy||square yard (yd^2)|
|acre||acre (4840 yd^2)|
|cf||cubic foot (ft^3)|
|cy||cubic yard (yd^3)|
|gal||US gallon (231 in^3)|
|quart||quart (1/4 gal)|
|pint||pint (1/2 quart)|
|cup||cup (1/4 quart)|
|fl oz||fluid ounce (1/8 cup)|
|fl oz FDA||FDA fluid ounce (30 mL)|
|Tbsp||tablespoon (1/2 fl oz)|
|tsp||teaspoon (1/6 fl oz)|
|bbl||Barrel (42 gal)|
|mph||mile per hour|
|knot||knots (1 nautical mile/hr)|
|cfs||cubic foot per second (ft^3/s)|
|cfm||cubic foot per minute (ft^3/min)|
|gpm||US gallon per minute|
|lb||pound (general use)|
|slug||slug mass unit (1 lbf*s^2/ft)|
|kip||kip (1000 lbf)|
|oz||ounce (1/16 lb)|
|ton||US customary ton (2000 lbf)|
|plf||pound per linear foot (lbf/ft)|
|klf||kip per linear foot (kip/ft)|
|psi||pound per square inch (lbf/in^2)|
|psia||absolute pound per square inch (pressure)|
|psig||gauge pound per square inch (pressure)|
|Δpsig||difference gauge pound per square inch|
|ksi||kip per square inch (kip/in^2)|
|psf||pound per square foot (lbf/ft^2)|
|ksf||kip per square foot (kip/ft^2)|
|in Hg||inches mercury (pressure)|
|in H2O||inches water (pressure)|
|pcf||pound per cubic foot (lbf/ft^3)|
|kcf||kip per cubic foot (kip/ft^3)|
|Btu||British thermal unit (thermochemical definition, 1054.3503 J)|
|TR||Ton, cooling (12000 Btu/hr)|
|hp||mechanical horsepower (550 ft*lbf/s)|
|rpm||rotation per minute (1/min or rev/min)|
|lbmol||pound-mol (453.59237 mol)|
|coulomb||Coulomb (electric charge)|
|ohm||Ohm (same as Ω)|
|T||Tesla (magnetic induction)|
|Wb||Weber (magnetic flux)|
|Hz||Hertz (1/s or rev/s)|
|mol||mole (6.02214076*10^23 elementary entities)|
|cc||cubic centimeter (cm^3)|
|kgf||kilogram-force (1 kg*g0)|
|tonne||metric ton (1000 kgf)|
|metric ton||metric ton (1000 kgf)|
|bar||bar (100,000 Pa)|
|mm Hg||millimeters mercury (pressure)|
|g0||gravity/ "g's" (1 g0 = 9.807 m/s^2)|
|gravity||gravity/ "g's" (1 gravity = 9.807 m/s^2)|
|P||Poise (dynamic viscosity, 1 g/cm/s)|
|dyn||dyne (force, 1 g*cm/s^2)|
|Mx||Maxwell (magnetic flux, 1E-08 Wb)|
|cal||"small" calorie (4.184 J)|
|kcal||"large" calorie (1000 cal or 4184 J)|
|ppm||parts per million|
|ppb||parts per billion|
|gmol||gram-mole (1 mol)|
|day hr min sec||day-hour-minute-second|
|day hr min||day-hour-minute|
|hr min sec||hour-minute-second|
|deg min sec||degree-minute-second|
|rev||One revolution (rpm*min)|
|pc||pica (1/6 inch)|
|pt||point (1/72 inch)|
|px||virtual pixel (1/96 inch)|
|dpi||dots per inch|
|dpcm||dots per centimeter|
|dppx||dots per virtual pixel|
|bit||binary digit (information/computing)|
|byte||byte (8 bit)|
|kiB||kilobytes (1024 byte)|
|MiB||megabytes (1024 kiB)|
|GiB||gigabytes (1024 MiB)|
|TiB||terabytes (1024 GiB)|
Note that terms i and j for complex number are inputed like units, as shown, but they define an imaginary number, rather than a literal number with a unit.
|i||the imaginary unit|
|j||the imaginary unit (same as i)|
Note that conversion between currencies is not supported right now.
|$||United States Dollar. Placed in front of the number. Same as usd.|
|usd||United States Dollar|
|nzd||New Zealand Dollar|
Please, let us know if there are units you would like to see in Blockpad.
Table of Contents
- Units basics
- Assign units
- Composite units
- Convert values
- Arithmetic with units
- Strip or add units
- Combination units (foot-inch)
- Custom units
- Special cases
- Temperature difference
- Psi, psia, and psig
- Radians and unitless numbers
- Rpm and Hz
- Fixed rpm and Hz
- Lb, lbf, lbm
- Unit functions
- Unit formatting
- Built-in units