Pcbnew DRC API reports violations that are not reported by GUI
Description
Invoking DRC via Python API reports clearance errors that are not shown when DRC is run via Pcbnew.
Steps to reproduce
- Clone https://github.com/joric/nrfmicro (I am not the author of the board, therefore, I don't include it as I don't have a permission to do so)
- Open
nrfmicro.kicad_pcb
it in Pcbnew. - Run DRC, observe no violations are reported.
- Create the following Python script:
import pcbnew
board = pcbnew.LoadBoard("nrfmicro.kicad_pcb")
pcbnew.WriteDRCReport(board, "out.txt", pcbnew.EDA_UNITS_MILLIMETRES, True)
- Observe, that the file "out.txt" has number of violations shown:
** Drc report for /tmp/nrfmicro/hardware/nrfmicro.kicad_pcb **
** Created on 2022-01-03 09:53:28 **
** Found 25 DRC violations **
[clearance]: Clearance violation (netclass 'Default' clearance 0.2000 mm; actual 0.1995 mm)
Rule: netclass 'Default'; Severity: error
@(29.6425 mm, 37.4158 mm): Via [GND] on F.Cu - B.Cu
@(30.4424 mm, 38.0153 mm): Track [POWER_PIN] on F.Cu, length 1.4714 mm
[clearance]: Clearance violation (netclass 'Default' clearance 0.2000 mm; actual 0.1995 mm)
Rule: netclass 'Default'; Severity: error
@(29.6610 mm, 24.5960 mm): Track [GND] on B.Cu, length 6.5478 mm
@(25.3216 mm, 25.5784 mm): Track [VBUS] on B.Cu, length 0.8243 mm
[clearance]: Clearance violation (netclass 'Default' clearance 0.2000 mm; actual 0.1995 mm)
Rule: netclass 'Default'; Severity: error
@(29.6610 mm, 24.5960 mm): Track [GND] on B.Cu, length 6.5478 mm
@(25.9045 mm, 24.9955 mm): Track [VBUS] on B.Cu, length 3.5910 mm
[clearance]: Clearance violation (netclass 'Default' clearance 0.2000 mm; actual 0.1995 mm)
Rule: netclass 'Default'; Severity: error
@(29.6610 mm, 24.5960 mm): Track [GND] on B.Cu, length 6.5478 mm
@(29.4955 mm, 24.9955 mm): Track [VBUS] on B.Cu, length 0.8832 mm
[clearance]: Clearance violation (netclass 'Default' clearance 0.2000 mm; actual 0.1995 mm)
Rule: netclass 'Default'; Severity: error
@(31.6607 mm, 38.4248 mm): Track [RESET] on F.Cu, length 1.3738 mm
@(30.4524 mm, 38.0253 mm): Track [POWER_PIN] on F.Cu, length 0.0141 mm
[clearance]: Clearance violation (netclass 'Default' clearance 0.2000 mm; actual 0.1995 mm)
Rule: netclass 'Default'; Severity: error
@(31.6607 mm, 38.4248 mm): Track [RESET] on F.Cu, length 1.3738 mm
@(32.5370 mm, 36.9834 mm): Track [POWER_PIN] on F.Cu, length 1.4734 mm
[clearance]: Clearance violation (netclass 'Default' clearance 0.2000 mm; actual 0.1995 mm)
Rule: netclass 'Default'; Severity: error
@(31.6607 mm, 38.4248 mm): Track [RESET] on F.Cu, length 1.3738 mm
@(31.4952 mm, 38.0253 mm): Track [POWER_PIN] on F.Cu, length 1.0428 mm
[clearance]: Clearance violation (netclass 'Default' clearance 0.2000 mm; actual 0.1995 mm)
Rule: netclass 'Default'; Severity: error
@(34.4066 mm, 34.2255 mm): Track [RESET] on F.Cu, length 2.0790 mm
@(32.5370 mm, 35.5233 mm): Track [POWER_PIN] on F.Cu, length 1.4602 mm
[clearance]: Clearance violation (netclass 'Default' clearance 0.2000 mm; actual 0.1995 mm)
Rule: netclass 'Default'; Severity: error
@(30.2769 mm, 38.4148 mm): Track [RESET] on F.Cu, length 3.4741 mm
@(30.4424 mm, 38.0153 mm): Track [POWER_PIN] on F.Cu, length 1.4714 mm
[clearance]: Clearance violation (netclass 'Default' clearance 0.2000 mm; actual 0.1995 mm)
Rule: netclass 'Default'; Severity: error
@(30.2769 mm, 38.4148 mm): Track [RESET] on F.Cu, length 3.4741 mm
@(28.9710 mm, 38.0153 mm): Track [POWER_PIN] on F.Cu, length 0.8358 mm
[clearance]: Clearance violation (netclass 'Default' clearance 0.2000 mm; actual 0.1995 mm)
Rule: netclass 'Default'; Severity: error
@(32.9365 mm, 35.6956 mm): Track [RESET] on F.Cu, length 1.4534 mm
@(32.5370 mm, 36.9834 mm): Track [POWER_PIN] on F.Cu, length 1.4734 mm
[clearance]: Clearance violation (netclass 'Default' clearance 0.2000 mm; actual 0.1995 mm)
Rule: netclass 'Default'; Severity: error
@(32.9365 mm, 35.6956 mm): Track [RESET] on F.Cu, length 1.4534 mm
@(32.5370 mm, 35.5233 mm): Track [POWER_PIN] on F.Cu, length 1.4602 mm
[clearance]: Clearance violation (netclass 'Default' clearance 0.2000 mm; actual 0.1995 mm)
Rule: netclass 'Default'; Severity: error
@(32.9365 mm, 37.1489 mm): Track [RESET] on F.Cu, length 1.8043 mm
@(32.5370 mm, 36.9834 mm): Track [POWER_PIN] on F.Cu, length 1.4734 mm
[clearance]: Clearance violation (netclass 'Default' clearance 0.2000 mm; actual 0.1995 mm)
Rule: netclass 'Default'; Severity: error
@(32.9365 mm, 37.1489 mm): Track [RESET] on F.Cu, length 1.8043 mm
@(31.4952 mm, 38.0253 mm): Track [POWER_PIN] on F.Cu, length 1.0428 mm
[clearance]: Clearance violation (netclass 'Default' clearance 0.2000 mm; actual 0.1995 mm)
Rule: netclass 'Default'; Severity: error
@(32.9365 mm, 37.1489 mm): Track [RESET] on F.Cu, length 1.8043 mm
@(32.5370 mm, 35.5233 mm): Track [POWER_PIN] on F.Cu, length 1.4602 mm
[clearance]: Clearance violation (netclass 'Default' clearance 0.2000 mm; actual 0.1995 mm)
Rule: netclass 'Default'; Severity: error
@(30.2869 mm, 38.4248 mm): Track [RESET] on F.Cu, length 0.0141 mm
@(30.4424 mm, 38.0153 mm): Track [POWER_PIN] on F.Cu, length 1.4714 mm
[clearance]: Clearance violation (netclass 'Default' clearance 0.2000 mm; actual 0.1995 mm)
Rule: netclass 'Default'; Severity: error
@(30.2616 mm, 40.3200 mm): Track [VBUS] on F.Cu, length 1.5376 mm
@(30.1587 mm, 38.8333 mm): Track [BLUE_LED] on F.Cu, length 3.7915 mm
[clearance]: Clearance violation (netclass 'Default' clearance 0.2000 mm; actual 0.1995 mm)
Rule: netclass 'Default'; Severity: error
@(29.1744 mm, 39.2328 mm): Track [VBUS] on F.Cu, length 3.0318 mm
@(26.3672 mm, 38.8333 mm): Track [BLUE_LED] on F.Cu, length 1.9704 mm
[clearance]: Clearance violation (netclass 'Default' clearance 0.2000 mm; actual 0.1995 mm)
Rule: netclass 'Default'; Severity: error
@(29.1744 mm, 39.2328 mm): Track [VBUS] on F.Cu, length 3.0318 mm
@(30.1587 mm, 38.8333 mm): Track [BLUE_LED] on F.Cu, length 3.7915 mm
[clearance]: Clearance violation (netclass 'Default' clearance 0.2000 mm; actual 0.1995 mm)
Rule: netclass 'Default'; Severity: error
@(22.3195 mm, 26.8000 mm): Via [VBAT] on F.Cu - B.Cu
@(21.7200 mm, 34.1027 mm): Track [/P0.06] on B.Cu, length 9.0534 mm
[clearance]: Clearance violation (netclass 'Default' clearance 0.2000 mm; actual 0.1995 mm)
Rule: netclass 'Default'; Severity: error
@(22.4750 mm, 34.0098 mm): Via [VBAT] on F.Cu - B.Cu
@(22.2893 mm, 34.6720 mm): Track [/P0.06] on B.Cu, length 0.8052 mm
[clearance]: Clearance violation (netclass 'Default' clearance 0.2000 mm; actual 0.1995 mm)
Rule: netclass 'Default'; Severity: error
@(27.9700 mm, 25.5955 mm): Via [DATA+] on F.Cu - B.Cu
@(28.5695 mm, 25.9401 mm): Track [DATA-] on F.Cu, length 0.5929 mm
[clearance]: Clearance violation (netclass 'Default' clearance 0.2000 mm; actual 0.1995 mm)
Rule: netclass 'Default'; Severity: error
@(32.4481 mm, 28.4525 mm): Track [DATA+] on B.Cu, length 4.9642 mm
@(32.8476 mm, 28.2420 mm): Track [POWER_PIN] on B.Cu, length 5.0085 mm
[clearance]: Clearance violation (netclass 'Default' clearance 0.2000 mm; actual 0.1995 mm)
Rule: netclass 'Default'; Severity: error
@(32.4481 mm, 28.4525 mm): Track [DATA+] on B.Cu, length 4.9642 mm
@(32.8476 mm, 33.2505 mm): Track [POWER_PIN] on B.Cu, length 0.9892 mm
[clearance]: Clearance violation (netclass 'Default' clearance 0.2000 mm; actual 0.1995 mm)
Rule: netclass 'Default'; Severity: error
@(30.9276 mm, 26.9320 mm): Track [DATA+] on B.Cu, length 2.1503 mm
@(32.8476 mm, 28.2420 mm): Track [POWER_PIN] on B.Cu, length 5.0085 mm
** Found 0 unconnected pads **
** Found 0 Footprint errors **
** End of Report **
KiCad Version
Application: KiCad PCB Editor
Version: 6.0.0-d3dd2cf0fa~116~ubuntu20.04.1, release build
Libraries:
wxWidgets 3.0.4
Platform: Linux 5.11.0-43-generic x86_64, 64 bit, Little endian, wxGTK, regolith, x11
wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.24
Boost: 1.71.0
OCC: 7.5.2
Curl: 7.68.0
ngspice: 31
Compiler: GCC 9.3.0 with C++ ABI 1013
Build settings:
KICAD_USE_OCC=ON
KICAD_SPICE=ON