No description
Find a file
Paulo Henrique Silva 670d3fbbd7 Add aperture macro parsing and evaluation.
Aperture macros can get complex with arithmetical operations,
variables and variables substitution.

Current pcb-tools code just read each macro block as an independent
unit, this cannot deal with variables that get changed after used.

This patch splits the task in two: first we parse all macro content
and creates a bytecode representation of all operations. This bytecode
representation will be executed when an AD command is issues passing
the required parameters.

Parsing is heavily based on gerbv using a Shunting Yard approach to
math parsing.

Integration with rs274x.py code is not finished as I need to figure out
how to integrate the final macro primitives with the graphical primitives
already in use.
2015-03-03 03:41:55 -03:00
doc doc options 2015-02-18 23:28:19 -05:00
examples Add IPC-D-356 Netlist Parsing 2015-02-20 22:24:34 -05:00
gerber Add aperture macro parsing and evaluation. 2015-03-03 03:41:55 -03:00
.coveragerc add coveralls 2014-09-30 17:49:04 -04:00
.gitignore Merge changes from upstream 2014-10-26 17:20:47 -04:00
.travis.yml Python 3 tests passing 2015-02-18 21:14:30 -05:00
doc-requirements.txt Python 3 tests passing 2015-02-18 21:14:30 -05:00
LICENSE Initial commit 2013-12-17 12:01:34 -08:00
Makefile Add cairo example code, and use example-generated image in readme 2015-02-15 03:29:47 -05:00
README.md Add documentation link to README 2015-02-18 21:28:00 -05:00
requirements.txt Python 3 tests passing 2015-02-18 21:14:30 -05:00
setup.py finish changing the project name 2015-02-18 16:41:56 +01:00
test-requirements.txt Python 3 tests passing 2015-02-18 21:14:30 -05:00

pcb-tools

Travis CI Build Status Coverage Status Documentation Status

Tools to handle Gerber and Excellon files in Python.

Useage Example:

import gerber
from gerber.render import GerberSvgContext

# Read gerber and Excellon files
top_copper = gerber.read('example.GTL')
nc_drill = gerber.read('example.txt')

# Rendering context
ctx = GerberSvgContext()

# Create SVG image
top_copper.render(ctx)
nc_drill.render(ctx, 'composite.svg')

Rendering Examples:

###Top Composite rendering Composite Top Image Source code for this example can be found here.

Documentation:

PCB Tools Documentation