Tools › Mechanical Design › Mass Properties › Mass Properties from BOM


Mass Properties from BOM

Mass, centre of gravity and inertia tensor of an assembly from its bill of materials: each row is a part with a quantity, a shape (point mass, box, solid cylinder, tube, solid sphere, hollow sphere, plate or an entered tensor), its mass or its density with the dimensions, the direction of its long axis and the position of its centroid in the assembly frame. Each part's inertia tensor about its own centroid comes from the closed forms of the handbook tables, is rotated to the chosen axis and moved to the assembly centre of gravity by the parallel-axis theorem; the page reports the total mass, the centre of gravity, the tensor about the centre of gravity and about the frame origin, the principal moments and axes from a Jacobi eigen-solve, the radii of gyration, each part's share of the mass and of the three moments, the sensitivity of the centre of gravity to each part, an optional mass-uncertainty bound by root-sum-square, and a two-view drawing of the parts with the centre of gravity marked. Masses, lengths, densities and moments of inertia go through the unit selector (lb, in, lb/in³, lb·in² or kg, mm, kg/m³, kg·m²). The default is a five-part assembly with round numbers, a base plate, a housing given by its density, two cylinders and a pair of connectors as point masses, which the test script checks against the closed forms, the parallel-axis theorem and an independent numpy evaluation.

  • Point mass, box, cylinder, tube, sphere, hollow sphere, plate or an entered tensor; mass or density with the dimensions; quantity per row

  • Total mass, centre of gravity, inertia tensor about the centre of gravity and the frame origin with the products of inertia

  • Principal moments and axes (Jacobi), radii of gyration, each part's share of the mass and of Ixx, Iyy, Izz

  • Centre-of-gravity sensitivity to each part, root-sum-square mass and CG bounds from per-part uncertainties, two-view drawing

Mass Properties from BOM


Unit System: /

/

Bill of Materials (one part per row; lb is pound mass; dimensions a, b, c by shape, see the tooltips; advanced mode adds the uncertainty and own-tensor columns)

1
2
3
4
5
×

Mass Properties from BOM

Shapes, Axes, Parallel-Axis Theorem and Principal Axes

What the tool does

A bill of materials lists parts with their masses and where they sit. The mass properties of the assembly, its total mass, its centre of gravity and its inertia tensor, follow from that list by three steps that every dynamics text gives (Hibbeler 2016, Chapter 21; Meriam and Kraige 2012, Appendix B): the inertia tensor of each part about its own centroid from a closed form, the rotation of that tensor into the assembly axes, and the parallel-axis theorem that moves it to the common reference point. The page carries the three steps through for every row, sums them, and then reports what a weights engineer or a dynamics model needs: the tensor about the centre of gravity and about the frame origin, the principal moments and axes, the radii of gyration, the share of each part, the sensitivity of the centre of gravity to each part and, when per-part uncertainties are entered, root-sum-square bounds on the mass and the centre of gravity.

The frame and the sign conventions

The assembly frame is any right-handed set of axes x, y, z the analyst chooses; the position of each part's centroid is entered in it. The inertia tensor about a point is

I = [[Ixx, −Pxy, −Pxz], [−Pxy, Iyy, −Pyz], [−Pxz, −Pyz, Izz]]

with the moments of inertia Ixx = ∫(y² + z²) dm, Iyy = ∫(x² + z²) dm, Izz = ∫(x² + y²) dm and the products of inertia Pxy = ∫x y dm, Pxz = ∫x z dm, Pyz = ∫y z dm (Hibbeler 2016, Section 21.1). The page prints the products with the sign of the integral, as the textbooks do; the tensor tables show them with the minus sign, as the tensor is written. A CAD system that prints "Ixy" as an off-diagonal term of the tensor is printing −Pxy; when such a tensor is entered as an "own tensor" row, the sign must be reversed for the three product cells.

Shapes and their dimensions

Every shape has an own axis, local axis 1: the symmetry axis of a cylinder, tube or sphere, the side a of a box, the normal of a plate. The row's "axis" names the assembly direction of that local axis, and the other two local axes follow the cycle x → y → z → x, so that the rotation from local to assembly axes is a cyclic permutation and always a proper rotation. For a box with axis y, for instance, a lies along y, b along z and c along x. The closed forms used, all for a homogeneous body about its own centroid (Hibbeler 2016, inside back cover; Meriam and Kraige 2012, Table D/4), are:

  • Point mass: no own tensor; it contributes through the parallel-axis term alone. Its radius of gyration about the centre of gravity is its distance from it.
  • Box a × b × c: I1 = m (b² + c²)/12 about the axis along a, I2 = m (a² + c²)/12, I3 = m (a² + b²)/12; volume a b c.
  • Solid cylinder, diameter a, length c: I1 = m r²/2 about the axis, I2 = I3 = m (3 r² + c²)/12 across it, r = a/2; volume π r² c.
  • Tube, outer diameter a, inner diameter b, length c: I1 = m (ro² + ri²)/2, I2 = I3 = m [3 (ro² + ri²) + c²]/12; volume π (ro² − ri²) c. A thin-walled cylindrical shell is a tube with b close to a (I1 → m r²).
  • Solid sphere, diameter a: I = 2 m r²/5 about every axis; volume 4 π r³/3.
  • Hollow sphere, outer diameter a, inner diameter b: I = 2 m (ro⁵ − ri⁵)/[5 (ro³ − ri³)], which is the solid sphere for b = 0 and tends to the thin shell value 2 m r²/3 as b → a; volume 4 π (ro³ − ri³)/3.
  • Plate a × b, thickness c along the axis (the normal): I1 = m (a² + b²)/12 about the normal, I2 = m (b² + c²)/12 about the in-plane axis along a, I3 = m (a² + c²)/12 about the one along b. These are the box formulas with the thickness kept, so a thick plate is exact and a thin one reduces to the handbook's thin-plate forms m (a² + b²)/12, m b²/12, m a²/12.
  • Own tensor: the six values about the part's centroid in axes parallel to the assembly frame, for a part whose tensor a CAD system or a vendor sheet already gives. The tool checks that the principal values are non-negative and satisfy I1 + I2 ≥ I3, the condition any distribution of mass must meet.

A density, where entered, replaces the mass column by ρ V with V the volume of the shape; a point mass and an own tensor have no volume and must be given a mass. A quantity n above 1 means n identical parts whose combined centroid is at the entered position: the mass and the own tensor are multiplied by n, but the spread of the n parts about that point is not represented, so parts whose spacing matters are entered as separate rows.

Centre of gravity and the parallel-axis theorem

With M = Σ ni mi, the centre of gravity is rG = Σ ni mi ri/M. The tensor of a part about a point displaced by d from its centroid is IC + m [(d·d) E − d dT] (Hibbeler 2016, eq. 21-5; Goldstein, Poole and Safko 2002, Section 5.3), which in components adds m (dy² + dz²) to Ixx and m dx dy to Pxy. The tool applies it with di = ri − rG to obtain the tensor about the centre of gravity, part by part, and prints each part's own tensor, its transfer term and their sum in a table so that a hand check of any row is immediate. The tensor about the frame origin follows from the one about G by the same theorem applied once to the whole mass at rG; it is the tensor a multibody or flight-dynamics model needs when its body reference point is not the centre of gravity. Moving the reference point can only increase the moments of inertia: the centre of gravity is the point about which they are least.

Principal moments and axes

The tensor is real and symmetric, so it has three real eigenvalues, the principal moments I1 ≤ I2 ≤ I3, and three mutually perpendicular eigenvectors, the principal axes, about which the products of inertia vanish (Goldstein, Poole and Safko 2002, Section 5.4). The tool finds them by the Jacobi rotation method (Press et al. 2007, Section 11.1), a sequence of plane rotations that annihilates the off-diagonal terms, which for a 3 × 3 tensor is exact to machine precision and never fails. The axes are reported as unit vectors (direction cosines) with their angles to x, y and z, ordered to form a right-handed set; when every product of inertia about G is already zero the assembly axes are themselves principal and the table shows the identity. The principal moments of any physical body satisfy I1 + I2 ≥ I3 (each moment is a sum of two of the three second moments of mass), and the page flags an entered tensor that breaks the rule.

Radii of gyration

k = √(I/M) is the distance from the axis at which the whole mass, concentrated, would have the same moment of inertia (Hibbeler 2016, Section 17.1). It is reported about the three assembly axes through G and about the three principal axes. Radii are the convenient way to compare the inertia of assemblies of different mass, and the form in which handbooks tabulate the inertia of standard components.

Contributions and sensitivities

Each part's share of the mass is ni mi/M; its share of a moment about G is (own + transfer)i/IG, so a light part far out can dominate a moment through its transfer term m d². The sensitivity table gives, for each part, the change of the centre of gravity per unit of mass added at the part's centroid, ∂rG/∂mi = (ri − rG)/M; the shift of the centre of gravity if the part were left out, −ni mi (ri − rG)/(M − ni mi); and the fraction ni mi/M by which the centre of gravity follows a displacement of the part. These are the numbers a weight-control engineer uses to decide which part's mass or location must be tracked most closely (Society of Allied Weight Engineers 2015).

Mass uncertainty

When a row carries a ± % figure, its mass uncertainty is δmi = ui ni mi. Treating the parts as independent, the uncertainty of the total mass is the root-sum-square √Σ δmi² and the uncertainty of each coordinate of the centre of gravity is √Σ (δmi di/M)², the first-order propagation of independent errors (Taylor 1997, Chapter 3); the moments of inertia about G are bounded by √Σ (ui Ci)², with Ci the part's total contribution, on the approximation that the centre of gravity stays put. The arithmetic sum Σ δmi is printed beside the mass bound as the worst case. Whether the entered percentage is a standard deviation or a tolerance is for the analyst to say; the arithmetic is the same.

Units

Masses, lengths, densities and moments of inertia go through the unit selector: pounds mass, inches, lb/in³ and lb·in² in USCS; kilograms, millimetres, kg/m³ and kg·m² in SI. The factors are exact: 1 lb = 0.45359237 kg, 1 in = 0.0254 m, so 1 lb·in² = 2.926397 × 10−4 kg·m² and 1 lb/in³ = 27,679.9 kg/m³ (Thompson and Taylor 2008). The pound here is the pound mass; a weight in pounds force at standard gravity has the same number. Slug·ft², the unit of a dynamics model written in pounds force, is 32.174 lb·ft² = 4,633 lb·in².

Worked example on the page

The default assembly is a base plate 10 × 6 × 0.5 in of 3 lb with its normal along z at (0, 0, 0.25) in; a housing 5 × 4 × 2 in given by a density of 0.1 lb/in³ (4 lb) at (0, 0, 1.5); two cylinders of 2 in diameter and 4 in length, 2 lb each, with their axes along z at (∓3.5, 0, 2.5); and two connectors of 0.5 lb as point masses at (0, −2, 4). The total mass is 12 lb and the centre of gravity (0, −0.1667, 1.7292) in. About the centre of gravity Ixx = 40.036, Iyy = 104.370, Izz = 102.333 lb·in² with Pyz = −4.542 lb·in² and the other products zero (the assembly is symmetric about the y–z plane); about the origin Ixx = 76.25, Iyy = 140.25, Izz = 102.667 lb·in². The principal moments are 40.036, 98.697 and 108.006 lb·in², the first along x and the other two in the y–z plane at 38.7° from the z axis. The test script checks every closed form above, the rotations, the parallel-axis theorem, the eigen-solve and the unit factors, and this assembly against an independent numpy evaluation (References/Mass-Properties/massprop_check.py).

Limits of the tool

  • Shapes are homogeneous and axis-aligned with the frame: a part inclined to the assembly axes must be entered as an own tensor (rotate its tensor in the CAD system, or enter it in the principal axes of a frame that is aligned).
  • A quantity above 1 lumps identical parts at one point; it does not reproduce the inertia of a pattern of parts about their common centroid.
  • No tapered, conical, toroidal or half shapes; those come from a CAD system as own tensors, or are approximated by the shapes above.
  • The uncertainty bounds are first order in the part masses and treat the part positions as exact.
  • Products of inertia of the shapes themselves are zero by their symmetry; only an own-tensor row and the parallel-axis terms produce products.



References

Hibbeler, R. C. (2016). Engineering Mechanics: Dynamics, 14th ed. Pearson, Hoboken, NJ.

Meriam, J. L., and Kraige, L. G. (2012). Engineering Mechanics: Dynamics, 7th ed. Wiley, Hoboken, NJ.

Goldstein, H., Poole, C., and Safko, J. (2002). Classical Mechanics, 3rd ed. Addison-Wesley, San Francisco, CA.

Press, W. H., Teukolsky, S. A., Vetterling, W. T., and Flannery, B. P. (2007). Numerical Recipes: The Art of Scientific Computing, 3rd ed. Cambridge University Press, Cambridge.

Taylor, J. R. (1997). An Introduction to Error Analysis, 2nd ed. University Science Books, Sausalito, CA.

Society of Allied Weight Engineers (2015). Weight Engineers Handbook, 2015 ed. Society of Allied Weight Engineers, Los Angeles, CA.

Thompson, A., and Taylor, B. N. (2008). Guide for the Use of the International System of Units (SI). NIST Special Publication 811, National Institute of Standards and Technology, Gaithersburg, MD.


DISCLAIMER: The methods and calculation on aNOWysis.com are provided as means to educate the reader. There is no warranty, expessed or implied, as to the relevance or accuracy of the methods or calculations. All calculations should be checked by a qualified analyst for appropriateness and accuracy. We will not be held liable for any damages, injuries or deaths caused by using methods or calculations from this site.