IPC-2581 export is invalid when board contains duplicate annotations
Description
The exporter identifies footprints as CMP_<sanitized refdes>
but has no logic to detect duplication that can result because KiCad does not require footprints to have unique reference designators. The resulting IPC-2581 files fail validation due to having multiple component definitions with the same refDes
.
KiCad Version
Application: KiCad PCB Editor arm64 on arm64
Version: 7.99.0-3834-g2674a2a294-dirty, debug build
Libraries:
wxWidgets 3.2.4
FreeType 2.13.2
HarfBuzz 8.3.0
FontConfig 2.14.2
Platform: macOS Sonoma Version 14.1.2 (Build 23B92), 64 bit, Little endian, wxMac
wxWidgets: 3.2.4 (wchar_t,wx containers)
Boost: 1.82.0
OCC: 7.7.2
Curl: 8.1.2
ngspice: 37
Compiler: Clang 15.0.0 with C++ ABI 1002
Build settings:
KICAD_STDLIB_DEBUG=OFF
KICAD_STDLIB_LIGHT_DEBUG=OFF
KICAD_SANITIZE_ADDRESS=OFF
KICAD_SANITIZE_THREADS=OFF