Skip to content

esophagoose/python-gerber

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python Gerber Library

This library provides a simple and elegant parser for Gerber and NC Drill files. It's written in pure Python and supports all Gerber commands, including most deprecated ones.

Example

Setup

pip install python-gerber

Usage

import pygerber.gerber_layer
import pygerber.renderers.svg

pygerber.gerber_layer.GerberLayer()
gl = pygerber.gerber_layer.GerberLayer()
gl.read("<path_to_gerber_file>")

s = pygerber.renderers.svg.SvgLayerRenderer()
s.add_layer(gl)
s.save("<output_path.svg>")

Features

  • Gerber X2 file parser
    • Reading gerber layer
    • Writing gerber layer
  • NC Drill file parser
    • Reading X2 standard files
    • Writing drill files
    • API for drill operations
    • API for rout operations
  • SVG rendering
    • Drill operations
    • Linear rout operations
    • Circular rout operations
    • Gerber flash operations
    • Gerber linear interpolations
    • Gerber circular interpolations

File Structure

.
├── pygerber
│   ├── aperture.py
│   ├── drill_layer.py
│   ├── gerber_layer.py
│   └── renderers
│   │   |   # Renders a Gerber file as an SVG
│   │   └── svg.py
│   └── standards
│       │   # Enums of Gerber file format
│       ├── gerber.py
│       |   # Enums of NC Drill file format
│       └── nc_drill.py
└── tests
    |   # All unit tests for this package
    └── test_package.py  

Running Unit Tests

Place gerber files in the testdata folder and run the unit tests:

pytest

References

About

Python client for viewing Gerber files

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages