Paste Side#
Code |
BG.008 |
|---|---|
Validator |
|
Applies to |
|
Requirement level |
MUST when paste is supplied — or derivable from the containing layer’s |
Tags |
|
Summary#
When solder paste geometry is supplied, the side of each board_paste deposit MUST be
determinable: either pcba:board:solderLayer (top | bottom) is authored on the deposit,
or it derives from a containing layer prim’s pcba:layer:side.
This page follows PCBA to USD Input Contract 1.0.2, sections 10 and 11.1.
Description#
A paste deposit sits on one face of the board. pcba:board:solderLayer records that face so
the pipeline places the reflowed joint on the correct side and routes the deposit to the
matching top/bottom process stage.
The contract allows one side derivation from layer organization: paste deposits are
normally grouped under side-named paste layers, so when solderLayer is not authored per
deposit the containing layer prim’s pcba:layer:side is an unambiguous source. This is the
only sanctioned use of pcba:layer:side — a component’s or a general mesh’s side comes from
pcba:component:side / pcba:mesh:role, never from the layer it sits under.
This is a conditional MUST: it applies only when paste geometry is present. The contact association is separate and is not relaxed — see Paste Association (BG.007).
Fields#
Attribute |
On |
Type |
Req |
Notes |
|---|---|---|---|---|
|
|
|
MUST when paste supplied — or derivable |
|
|
an ancestor layer prim |
|
the derivable alternative |
Optional descriptive layer metadata; sanctioned as a side source for paste only. |
Why is it required?#
Solder generation must place the reflowed joint on the correct board face.
Top vs bottom selects the matching process stage and defect context.
Allowing the layer derivation matches how exporters already group paste, without inventing a per-deposit attribute.
Example#
def Scope "Top"
{
token pcba:layer:side = "top" # would satisfy BG.008 for children by derivation
def Scope "Paste"
{
def Mesh "paste_U7_1"
{
token pcba:mesh:role = "board_paste"
token pcba:mesh:matClass = "solder"
token pcba:board:solderLayer = "top" # authored explicitly here
string pcba:board:refdes = "U7"
string pcba:board:componentPinNumber = "1"
}
}
}
How to comply#
Author
pcba:board:solderLayeron each suppliedboard_pastedeposit, or group deposits under a layer prim carryingpcba:layer:side.Use only
toporbottom; take the value from the source paste layer.
What the checker proves#
PasteSideChecker fails a board_paste whose authored solderLayer is outside the vocabulary,
and fails one with no solderLayer and no ancestor pcba:layer:side. It does not verify that
the stated side matches the deposit’s geometric position.