audit_find_acute_angles
Detect same-net track pairs forming sub-90° interior corners on signal layers, flagging acute-angle DFM violations before fab DRC rejects the board.
Instructions
Find pairs of same-net tracks meeting at < 90° interior angle.
Classic fab DFM check: at an acute corner the etchant pools and over-etches the inside of the bend -- the trace narrows or breaks during fabrication. Most fab houses reject sub-90° corners on critical-thickness traces in their automated DRC, but the rejection comes back days into the schedule; catching it on the desk is much cheaper.
Algorithm (pure geometry, no rule dependency):
Walk every track on signal layers
At each endpoint, spatial-iterate for other tracks on the SAME net sharing that endpoint
Build direction vectors AWAY from the shared point
Dot product positive → interior angle < 90° → acute
Capped at 100 violations to keep responses manageable on dense boards. Per-violation: net, layer, x_mils / y_mils of the corner, and the actual angle in degrees.
Pattern: SDK-derived. The Altium IPCB_AcuteAngleRule
exists but isn't always enabled by default and its
violations only surface during DRC; this audit runs
independently of rule state.
Returns:
Dict with {checked, violations, items[]} where each
item carries {net, layer, x_mils, y_mils, angle_deg}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||