Body Height#
Code |
CG.003 |
|---|---|
Validator |
|
Applies to |
|
Requirement level |
MUST for |
Tags |
|
Summary#
Every electrical component MUST carry pcba:component:heightMm (the Z extent of the
component in millimetres, greater than zero). The body mesh should also carry a standard USD
extent, which the board-side geometric cross-checks rely on. Together they provide height and
world-bounds ground truth.
This page follows PCBA to USD Input Contract 1.0.2, section 8.
Description#
pcba:component:heightMm is the component’s extent along the board normal (Z),
in millimetres. It is the ground truth for height-related defects — a lifted
part, an incorrectly seated part, or a wrong-height substitution — and lets the
pipeline reason about the tallest features on a board without loading geometry.
The body mesh should additionally carry the standard USD extent attribute (the
local-space bounding box), so world-space bounds are computable through
UsdGeom.BBoxCache in the usual way, and so association-vs-geometry checks (BG.012) and the
contoured-hole derivation (BG.010) have geometry to work from. heightMm is the semantic,
mm-valued height ground truth; extent is the render/loader bounding box. The pipeline does not
infer one from the other.
Fields#
Attribute |
Type |
Req |
Notes |
|---|---|---|---|
|
|
MUST |
Z extent of the component, in mm |
|
|
recommended |
Local-space bounding box on the body mesh; world bounds via |
Why is it required?#
Height is the ground truth for lifted-part and wrong-height defects; without it the pipeline cannot score seating.
A standard USD
extentlets loaders andBBoxCachecompute world bounds without traversing mesh points.Keeping the mm-valued
heightMmseparate from the renderextentavoids unit ambiguity and keeps the defect ground truth explicit.
Example#
def Xform "U7"
{
float pcba:component:heightMm = 1.0
def Mesh "Body"
{
token pcba:mesh:role = "pkg_body"
float3[] extent = [(-3.5, -3.5, 0), (3.5, 3.5, 1.0)]
}
}
How to comply#
Author
pcba:component:heightMmin millimetres on every placed component.Author a correct USD
extenton the body mesh soBBoxCachereturns valid world bounds.Keep
heightMmandextentconsistent along Z.
What the checker proves#
BodyHeightChecker runs on electrical components only: it fails an absent heightMm (a
pcba:prov:heightMm marker downgrades this to a declared gap) and any authored value that is not
greater than zero. It does not check the body mesh extent or compare it with heightMm.