File Formats¶
WireFrame uses several custom XML-based file formats alongside standard industry formats. This page documents all file types and their structure.
Overview¶
| Format | Extension | Purpose |
|---|---|---|
| Project | .prjxml |
Links schematics, PCBs, and libraries |
| Schematic | .schxml |
Circuit design with components, wires, graphics |
| PCB | .pcbxml |
Board layout with footprints, traces, zones |
| Symbol library | .kicad_sym |
KiCad symbol definitions (native support) |
| Footprint library | .kicad_mod |
KiCad footprint definitions (native support) |
| Gerber | .gbr |
PCB fabrication layers (export) |
| Drill | .drl |
Via and hole data (export) |
| BOM | .csv |
Bill of Materials (export) |
.pdf |
Schematic documentation (export) |
Importable formats from other EDA tools¶
| Format | Extension | Source |
|---|---|---|
| KiCad project | .kicad_pro, .pro |
KiCad 5/6/7/8 |
| KiCad schematic | .kicad_sch |
KiCad 6/7/8 |
| KiCad PCB | .kicad_pcb |
KiCad 6/7/8 |
| Altium project | .PrjPcb |
Altium Designer |
| Altium schematic | .SchDoc |
Altium Designer |
| Altium PCB | .PcbDoc |
Altium Designer |
| Altium symbol library | .SchLib, .IntLib |
Altium Designer |
| Altium footprint library | .PcbLib |
Altium Designer |
| Eagle schematic | .sch |
Eagle / Autodesk (XML, v6+) |
| Eagle board | .brd |
Eagle / Autodesk (XML, v6+) |
| Eagle library | .lbr |
Eagle / Autodesk (XML, v6+) |
Project Files (.prjxml)¶
XML structure:
<WireFrameProject>
<Settings>
<LibFolder>lib</LibFolder>
<!-- additional project-wide settings -->
</Settings>
<Schematics>
<File>relative/path/to/schematic1.schxml</File>
<File>relative/path/to/schematic2.schxml</File>
</Schematics>
<PCBs>
<File>relative/path/to/board1.pcbxml</File>
</PCBs>
<Libraries>
<Library>path/to/symbol-lib.kicad_sym</Library>
<Library>path/to/footprint-lib.kicad_mod</Library>
</Libraries>
</WireFrameProject>
| Element | Description |
|---|---|
<Settings> |
Project-wide configuration (library folder, etc.) |
<Schematics> |
List of schematic file paths (relative to project root) |
<PCBs> |
List of PCB file paths (relative to project root) |
<Libraries> |
Library file paths used by the project |
Path convention
Paths are typically relative to the project root directory (parent of the .prjxml file). This keeps projects portable.
Schematic Files (.schxml)¶
the schematic save function handle:
| Content | Elements |
|---|---|
| Components | placed component entries with ID, symbol reference, position, rotation, pin positions, attributes |
| Wires | Wire lists with points (vertices) and pinAttachments (component pin references) |
| Graphics | Lines, rectangles, circles, arcs, polygons, junctions, harnesses |
| Page settings | Paper size, title block (title, company, revision, date, author), border colors |
Hand-editing
The XML schema is internal and may evolve between versions. Avoid manual editing unless necessary — use the application UI instead.
PCB Files (.pcbxml)¶
the PCB save function handle:
| Content | Elements |
|---|---|
| Footprints | Positions, rotations, layers, pad definitions, graphics, 3D model params |
| Traces | Geometry (polyline points), net names, layers, widths |
| Vias | Position, net, diameter, drill |
| Holes | Position, diameter, plated flag, net |
| Layers | Definitions with visibility and color settings |
| Netlist | Net names and their pin sets |
| Zones | Outlines, cutouts, computed islands |
| Design rules | Net class definitions and assignments |
| Graphics | Board outline, dimensions, silkscreen, fab layer content |
PCB XML may also embed references to library files for footprints and 3D models.
Library Files¶
Symbol libraries (.kicad_sym)¶
WireFrame reads KiCad v6/v7/v8 format symbol files:
- S-expression based format.
- Parsed by the KiCad symbol parser.
- Contains symbol definitions with pins, graphics, texts, and properties.
Footprint libraries (.kicad_mod)¶
WireFrame reads and writes KiCad footprint files:
- S-expression based format.
- Parsed by the KiCad footprint parser.
- Contains pad definitions, graphics, reference text, and 3D model references.
saveToKicadModexports generated footprints back to this format.
KiCad compatibility
WireFrame maintains compatibility with KiCad structures to enable easy reuse of existing libraries and smoother data interchange.
Manufacturing Files¶
Gerber (.gbr)¶
| Property | Value |
|---|---|
| Format | RS-274X |
| Units | Millimeters |
| Coordinate format | 4.4 (integer.decimal) |
| One file per layer | F.Cu, B.Cu, F.SilkS, F.Mask, B.Mask, Edge.Cuts, etc. |
Generated by the Gerber export engine.
Drill (.drl)¶
| Property | Value |
|---|---|
| Format | Excellon NC |
| Content | Via and hole coordinates with drill diameters |
| Separation | Plated and non-plated holes in separate files (or sections) |
BOM (.csv)¶
| Column | Description |
|---|---|
| Designator | Component reference (R1, C1, U1) |
| Value | Electrical value (10kΩ, 100nF) |
| Footprint | Package name (R_0603, LQFP-48) |
| Layer | Board side (Top / Bottom) |
Simple comma-separated format. Generated by the BOM export engine.
PDF Export¶
| Property | Value |
|---|---|
| Content | Schematic pages with components, wires, graphics, title block |
| Format | Vector-based PDF |
| Colors | Converted to black/grey for printing |
| Units | Schematic world units → PDF points (mm → pt) |
| Pages | Single or multi-page depending on design |
Generated by the PDF export engine.
See Also¶
- Projects & Files — how projects organize documents.
- Fabrication & Export — export workflows for Gerber, drill, BOM.
- Config & Session — user configuration file format.