KiCad PCB EDA Suite
Loading...
Searching...
No Matches
pads Directory Reference

Files

 pads_binary_parser.cpp
 
 pads_binary_parser.h
 
 pads_layer_mapper.cpp
 
 pads_layer_mapper.h
 
 pads_parser.cpp
 
 pads_parser.h
 
 pcb_io_pads.cpp
 
 pcb_io_pads.h
 
 pcb_io_pads_binary.cpp
 
 pcb_io_pads_binary.h
 

Detailed Description

This plugin imports PADS PowerPCB ASCII (.asc) files into KiCad.

Supported Features

Board Elements

Via Types

Footprints

Command Line Usage

kicad-cli pcb import --format pads input.asc -o output.kicad_pcb

Options

Known Limitations

  1. Copper Pours: Complex pour shapes may not import perfectly. Zone fills should be regenerated in KiCad after import.
  2. Design Rules: PADS design rules are not imported. Default KiCad DRC rules will apply to imported boards.
  3. Net Classes: PADS net classes are imported but may need adjustment for KiCad's net class system.
  4. Schematic Link: Only PCB data is imported; schematic must be recreated or imported separately.

File Format Support

Supported Versions

Unit Systems

Developer Notes

Architecture

The importer consists of three main components:

  1. PCB_IO_PADS (pcb_io_pads.cpp) - Plugin interface implementing PCB_IO
  2. PADS_PARSER (pads_parser.cpp) - Parses ASCII format sections
  3. Layer Mapping - Maps PADS layer numbers to KiCad layer IDs

Extending the Parser

To add support for new PADS features:

  1. Identify the section keyword in the ASCII format (e.g., *PARTDECAL*)
  2. Add a parsing method in PADS_PARSER class
  3. Map parsed data to appropriate KiCad objects
  4. Add unit tests in qa/tests/pcbnew/

Testing

# Run PADS importer tests
cd build
ctest -R pads -V
# Run QA visual regression tests
KICAD_CLI=./build/kicad/kicad-cli python -m pytest qa/tests/cli/test_pads_importer.py -v

Test Data

Test files are located in qa/data/pcbnew/plugins/pads/: