A PADSTACK defines the characteristics of a single or multi-layer pad, in the IPC sense of the word.
PCB_LAYER_ID
A quick note on layer IDs:
bool PadHasMeaningfulRoundingRadius(const PAD &aPad, PCB_LAYER_ID aLayer)
Returns true if the pad's rounding ratio is valid (i.e.
void RemoveAllDrillsFromPadstack(PADSTACK &aPadstack)
Remove the primary drill, the secondary and tertiary drills, and any post-machining operations from a...
double GetDefaultIpcRoundingRatio(const PAD &aPad, PCB_LAYER_ID aLayer)
Get a sensible default for a rounded rectangle pad's rounding ratio.
void CheckPad(const PAD &aPad, const UNITS_PROVIDER &aUnitsProvider, bool aForPadProperties, const PAD_CHECK_HANDLER &aErrorHandler)
Run non-board-specific checks on a pad.
std::function< void(const PAD_CHECK_RESULT &)> PAD_CHECK_HANDLER
PAD_CHECK_CODE
A specific pad check finding reason.
@ TRAPEZOID_DELTA_TOO_LARGE
@ ROUNDRECT_RADIUS_NEGATIVE
@ NEGATIVE_MASK_CLEARANCE_TOO_LARGE
@ NEGATIVE_PASTE_MARGIN_TOO_LARGE
@ CUSTOM_SHAPE_NOT_SINGLE_POLYGON
@ PTH_HOLE_LEAVES_NO_COPPER
@ ROUNDRECT_RADIUS_TOO_LARGE
@ NEGATIVE_LOCAL_CLEARANCE
@ PTH_HOLE_NOT_INSIDE_COPPER
A single finding from CheckPad().