summaryrefslogtreecommitdiff
path: root/gerber/am_read.py
AgeCommit message (Collapse)AuthorFilesLines
2016-01-21Fix a bunch of rendering bugs.Hamilton Kibbe1-2/+5
- 'clear' polarity primitives no longer erase background - Added aperture macro support for polygons - Added aperture macro rendring support - Renderer now creates a new surface for each layer and merges them instead of working directly on a single surface - Updated examples accordingly
2015-04-07Allowance for weird case modifier with no zero after periodPaulo Henrique Silva1-1/+3
2015-03-06Add support for unary minus operator on macro parsingPaulo Henrique Silva1-1/+15
2015-03-05More py3 fixesPaulo Henrique Silva1-3/+3
2015-03-05Fix for py3Paulo Henrique Silva1-1/+1
2015-03-05Fix tests for macros with no variables.Paulo Henrique Silva1-5/+12
All AM*Primitive classes now handles float for all but the code modifiers. This simplifies the reading/parsing.
2015-03-03Add aperture macro parsing and evaluation.Paulo Henrique Silva1-0/+229
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.