summaryrefslogtreecommitdiff
path: root/gerber/render/rs274x_backend.py
AgeCommit message (Collapse)AuthorFilesLines
2019-02-03Make primitives with unset level polarity inherit from regionjaseg1-10/+13
This fixes region rendering with programatically generated primitives such that clear level polarity works in an intuitive way. This is useful for e.g. cutouts in regions. Before, the renderer would set level polarity twice, both when starting the region and then again once for each region primitive (line or arc). The problem was that the primitives in a region with "clear" polarity would when constructed with unset polarity default to "dark". Thus the renderer would emit something like LPC (clear polarity) -> G36 (start region) -> LPD (dark polarity) -> {lines...} instead of LPC -> G36 -> {lines...}. After this commit, Line and Arc will retain None as level polarity when created with unset level polarity, and region rendering will override None with the region's polarity. Outside regions, the old dark default remains unchanged. Note on verification: Somehow, gEDA gerbv would still render the broken regions the way one would have intended, but other viewers (KiCAD gerbview, the online EasyEDA one and whatever JLC uses to make their silkscreens) would not.
2018-06-05Fix hard requirement of cairo per #83, and add stubs for required subclass ↵Hamilton Kibbe1-5/+5
methods to GerberContext per #84
2016-11-18Fix rs274x output bugsHamilton Kibbe1-19/+32
2016-11-06Merge upstream changesHamilton Kibbe1-117/+116
2016-08-06Fix multiple problems with the merge. There are still errors, but I will ↵Garret Fick1-0/+8
intentionally leave them because future merges might resolve them
2016-07-24Add more tests for rendering to PNG. Start adding tests for rendering to ↵Garret Fick1-1/+18
Gerber format. Changed definition of no hole to use None instead of 0 so we can differentiate when writing to Gerber format. Makde polygon use hole diameter instead of hole radius to match other primitives
2016-07-24Add many render tests based on the Umaco gerger specification. Fix multiple ↵Garret Fick1-6/+6
rendering bugs, especially related to holes in flashed apertures
2016-07-10Fix issue with chaning region mode via flash. Add options for controlling ↵Garret Fick1-1/+26
output from rendered gerber
2016-06-25Add support for polygon aperturesGarret Fick1-4/+22
2016-05-28Fix issue with switching between ROUT and normal drill modesGarret Fick1-2/+11
2016-05-28Use the known macro statement to render. Fix thermal not setting rotationGarret Fick1-22/+32
2016-05-28Fix units statement. Keep track of original macro statement in the AMGroupGarret Fick1-1/+1
2016-05-19Fix issue where did not always switch into the G01 mode after G03 when the ↵Garret Fick1-0/+2
point was unchanged
2016-03-05More robust writing, even for bad files. Remove accidentally added importsGarret Fick1-0/+3
2016-03-05Remove some testing code from gerber writer. More implementation for ↵Garret Fick1-28/+4
excellon writer - not working yet
2016-03-05Make rendering more robust for bad gerber filesGarret Fick1-2/+14
2016-03-05Write polygons to macrosGarret Fick1-1/+6
2016-03-05Make writer resilient to similar macro defsGarret Fick1-8/+17
2016-03-01More rendering of AMGroup to statementsGarret Fick1-7/+65
2016-02-27Fix critical issue with rotatin points (when the angle is zero the y would ↵Garret Fick1-4/+57
be flipped). Render AM with outline to gerber
2016-02-27RS274X backend for rendering. Incompelte stillGarret Fick1-0/+290