idf-parser

Crates.ioidf-parser
lib.rsidf-parser
version0.1.2
created_at2025-04-07 12:34:53.691563+00
updated_at2025-07-01 13:05:52.173392+00
descriptionA parser for the IDF (Intermediate Data Format) used for interchange of PCB design data.
homepage
repositoryhttps://github.com/Vanellus-Technologies/idf-parser
max_upload_size
id1624061
size475,649
Laurence Cullen (Laurence-Cullen)

documentation

README

idf-parser

Crates.io Documentation example workflow

Rust library for parsing Intermediate Data Format files used in PCB design.

The IDF specification describes three file types:

  • Board file .emn: Contains the board outline and component placement.
  • Panel file .emn: Contains the panel outline and board placement.
  • Library file .emp: Contains the component library.

Example usage:

use idf_parser::parse_board_file;
use idf_parser::parse_library_file;

let board = parse_board_file("src/test_files/board.emn").unwrap();
let panel = parse_board_file("src/test_files/panel.emn").unwrap();
let library = parse_library_file("src/test_files/library.emp").unwrap();

Currently, this only supports the IDF 3.0 format, given its wide adoption with version 4.0 being a newer standard that is not widely used yet.

IDF v 3.0 file specification

Limitations

  • Only the IDF 3.0 format is supported.
  • Only tested with a small number of IDF files,

Requests

If you are interested in contributing the following would be very helpful:

  • If you have an IDF file that does not parse correctly, please open an issue with the file attached.
  • Assist in implementation of the IDF 4.0 and 2.0 formats.

Maintainers

Laurence Cullen: laurence@vanellus.tech
Vanellus Technologies

Commit count: 9

cargo fmt