
Export GenCAD
oshwhub-official1v1.0.29
Export PCB to GenCAD (.cad) format for PCB manufacturing and test data exchange.
Details
Changelog
Historical versions
Comments
Export GenCAD
oshwhub-official1Details
Changelog
Historical versions
Comments
Export GenCAD
An EasyEDA Pro extension that exports PCB designs to GenCAD (.cad) file format for PCB manufacturing and test data exchange.
Features
- Exports PCB to GenCAD 1.4 standard format
- Parses footprint source data (elibz2/elibu format) for accurate pad geometry and silkscreen outlines
- Supports native GenCAD CIRCLE and ARC commands (not approximated with line segments)
- Handles pad rotation angles correctly
- Outputs TEXT (Designator/Value) with original PCB attributes: coordinates, rotation, mirror, font size
- Caches footprint data to avoid redundant parsing
- Exports board outline (supports Polyline, Fill, and Line sources)
- Exports pad stack definitions with automatic deduplication
- Exports complete component, pin, net, trace, and via information
- Automatic coordinate conversion: EasyEDA internal units (mil) to inches
Usage
- Open a PCB document in EasyEDA Pro
- Click the PCB header menu Export GenCAD → Export GenCAD (.cad)...
- The
.cadfile will be generated and downloaded automatically - The
.cadfile you can preview atOnline GernCAD Viewer
Output Format
The generated .cad file follows the GenCAD 1.4 format specification with the following sections:
| Section | Description |
|---|---|
$HEADER | Program name, version, units (INCH), origin |
$BOARD | Board outline (LINE) |
$PADS | Pad geometry definitions (ROUND / RECTANGULAR / OBLONG) |
$PADSTACKS | Pad stack definitions with per-layer pad assignments |
$TRACKS | Track width definitions |
$SHAPES | Component shapes (silkscreen outline + pin locations) |
$COMPONENTS | Component placement (coordinates, rotation, layer, TEXT attributes) |
$DEVICES | Device type descriptions |
$SIGNALS | Net connectivity (NODE) |
$ROUTES | Trace routing paths and vias |
$LAYERS | Copper layer definitions |
$END | File terminator |
Project Structure
src/
├── index.ts # Main logic: data collection, GenCAD generation, file export
├── footprintParser.ts # Parses elibz2/elibu footprint files (ZIP + JSON)
└── footprintExtractor.ts # Extracts pad and silkscreen data from parsed primitives
Development
npm install
npm run compile # Compile TypeScript and bundle to dist/
npm run build # Compile + package as .eext extension
Other commands:
npm run lint # ESLint check
npm run fix # ESLint auto-fix
Tech Stack
- TypeScript
- esbuild (bundling)
- JSZip (parsing footprint ZIP archives)
- @jlceda/pro-api-types (EasyEDA Pro extension API types)
Requirements
- Node.js >= 20.17.0
- EasyEDA Pro >= 3.2.0
License
1.0.28
- fix: 修复多层焊盘(TH)在预览器中隐藏单层后整体消失的问题,PIN 正确引用 PADSTACK
- fix: 使用实际铜层数量输出 PADSTACK,不再输出未使用的内层
- fix: 长圆形焊盘使用 POLYGON + ARC/LINE 描述,修正圆弧方向为 CCW
- fix: 修复多层焊盘钻孔直径未正确提取的问题(elibu hole.width)
- feat: SHAPE 使用封装名而非位号,相同封装去重输出
- docs: 更新 README
1.0.0
初始版本,支持导出 PCB 为 GenCAD (.cad) 格式文件。

暂无数据
Type
Other
Keyword
ToolExportGenCADManufacturing
Extension Info
| Version | v1.0.29 |
| Author | EasyEDA |
| Published at | 2026-06-16 03:07:35 |
| Name | export-gencad |
| UUID | 32d0d0812f004f08a707b81ff309ab0c |
| Works with | ^3.2.0 |
| Report | Report abuse |
Comment