KiCad, Altium, Eagle and more
px.FromKiCad reads a printed circuit board as planex2d shapes, one per layer. The copper layers come with their faces named by net and their drill holes cut out, the board outline becomes a face, and every other layer holds what KiCad prints there. Given a stackup, FromKiCad builds the whole board in 3D instead. The faces can then be measured, combined with other geometry, meshed by netgen or exported like any other planex2d shape.
planex2d reads KiCad’s own format, .kicad_pcb, itself. A board from another program is first converted by kicad-cli pcb import, the command line tool of KiCad 10 or later, and then read in the same way, so every board goes through the same call and comes back in the same form. FromKiCad finds the tool through the environment variable PLANEX_KICAD_CLI, on the PATH, or where KiCad installs it on macOS and Windows. Without it, a board from another program raises an error that
names the missing tool. Reading KiCad boards needs no KiCad installation. kicad-cli pcb import has no option for mapping layers, so each importer assigns the layers of the other program to KiCad’s layers by itself.
KiCad’s importers write the copper zones of a converted board without their fill. FromKiCad therefore fills every zone of the converted copy with kicad-cli pcb drc --refill-zones before reading it, with the zone settings and clearances as KiCad imported them. The copper pours of a converted board are KiCad’s fills, which can differ slightly from those the other program computed, for example where its clearance rules have no exact equivalent in KiCad. Items on layers that KiCad could not
map are taken out of the copy first, since KiCad does not load a board with them, and the board file itself is never changed. If the fill fails, FromKiCad warns with kicad-cli’s message. A KiCad board is read as it was saved, and zones left unfilled there produce a warning.
Program |
Board file |
|---|---|
KiCad 9 and later |
|
Altium Designer, Altium CircuitStudio, Altium CircuitMaker |
|
SolidWorks PCB |
|
Eagle 6 and later |
|
Cadence Allegro |
|
PADS |
|
EasyEDA Standard |
|
EasyEDA Professional |
|
CADSTAR |
|
Fabmaster |
|
P-CAD 200x |
|
gEDA PCB, Lepton EDA |
|
In this section





