summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-02-27RS274X backend for rendering. Incompelte stillGarret Fick4-4/+403
2016-02-21Additional bounding box calcuation that considers only actual positions, not ↵Garret Fick1-0/+15
the movement of the machine
2016-02-16Keep aperature macros as single statement. Don't generate regions with no pointsGarret Fick1-3/+16
2016-02-16Handle multiple commands on a single lineGarret Fick1-3/+22
2016-02-15Don't throw an exception for missing zero suppress, even though it is wrongGarret Fick1-3/+4
2016-02-14Fix convertion of units for apertures and regionsGarret Fick1-4/+4
2016-02-02Draw thermal aperture macros (as approximation)Garret Fick2-4/+84
2016-01-31Keep track of quadrant mode so we can draw full circlesGarret Fick3-4/+8
2016-01-31Add support for more excellon formats. Dont consider line width when ↵Garret Fick3-3/+15
determinging region bounding box
2016-01-28Cleanup, rendering fixes.Hamilton Kibbe26-231/+401
fixed rendering of tented vias fixed rendering of semi-transparent layers fixed file type detection issues added some examples
2016-01-25Excellon format detection uses ExcelonFile.bounds nowPaulo Henrique Silva1-2/+2
Long term we should have only one .bounds method. But ExcellonParser right now is not correct for cases with two drills in the same line (it will report one dimension being zero)
2016-01-22Fix NameError on Polygon primitive renderingPaulo Henrique Silva1-1/+1
2016-01-21Add support for mirrored renderingHamilton Kibbe3-12/+18
- The default theme now renders the bottom layers mirrored. - see https://github.com/curtacircuitos/pcb-tools/blob/master/examples/pcb_bottom.png for an example.
2016-01-21Fix a bunch of rendering bugs.Hamilton Kibbe33-939/+1771
- '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
2016-01-16Skip over a strange excellon statementGarret Fick2-3/+31
2016-01-16Fix converting polygons to outlines for macrosGarret Fick1-1/+3
2016-01-08More stability fixes for poorly constructed filesGarret Fick2-4/+8
2016-01-05Merge pull request #53 from curtacircuitos/pcb_interfacePaulo Henrique Silva20-503/+2438
Add PCB interface
2016-01-01Refactor a littleHamilton Kibbe5-74/+68
pulled all rendering stuff out of the pcb/layer objects
2015-12-30Render polygon flashesGarret Fick3-3/+32
2015-12-30Work with Diptrace that calls things D3 not D03Garret Fick1-3/+3
2015-12-30Support KiCad format statement where FMAT,2 is 2:4 with inchGarret Fick2-0/+5
2015-12-30Render primitives for some aperture macrosGarret Fick3-5/+56
2015-12-30First time any macro rendersGarret Fick5-0/+125
2015-12-28Wrongly using mil def for mmGarret Fick1-1/+1
2015-12-25Identify flashes and bounding box without apertureGarret Fick1-3/+133
2015-12-22Python3 fixHamilton Kibbe1-2/+2
2015-12-22Add PCB interfaceHamilton Kibbe20-472/+2413
this incorporates some of @chintal's layers.py changes PCB.from_directory() simplifies loading of multiple gerbers the PCB() class should be pretty helpful going forward... the context classes could use some cleaning up, although I'd like to wait until the freecad stuff gets merged, that way we can try to refactor the context base to support more use cases
2015-12-20Allow renderer to write to memory per #38Hamilton Kibbe5-11/+35
Some updates to rendering colors/themes
2015-12-20Merge pull request #52 from curtacircuitos/negative_soldermaskPaulo Henrique Silva13-120/+283
Allow negative solder mask rendering per #50.
2015-12-20Merge branch 'negative_soldermask' of github.com:curtacircuitos/pcb-tools ↵Hamilton Kibbe1-0/+1
into negative_soldermask
2015-12-20Clean up negative render codeHamilton Kibbe1-76/+69
2015-12-19Update ReadmeHamilton Kibbe1-0/+1
2015-12-19Allow negative render of soldermask per #50Hamilton Kibbe12-106/+275
Update example code and rendering to show change
2015-12-19Parse misc nc drill filesGarret Fick5-12/+300
2015-12-16Fix drawing arcs. Dont crash for arcs with rectangular apertures. Fix crash ↵Garret Fick3-4/+18
with board size of zero for only one drill
2015-12-06Add test case to start working on a fixPaulo Henrique Silva1-1/+4
2015-12-03Move the coordinate matching to the beginning since most of the items are ↵Garret Fick1-9/+8
coordinates. For large files, this decreases total time by 10-20%
2015-12-02Make the hit accessible from the drawable Hit, fix crash with cario drawing rectGarret Fick3-3/+4
2015-11-23Fix AMParamStmt to_gerber to write changes back.Paulo Henrique Silva2-3/+3
AMParamStmt was not calling to_gerber on each of its primitives on his own to_gerber method. That way primitives that changes after reading, such as when you call to_inch/to_metric was failing because it was writing only the original macro back.
2015-11-23More fixes to work with cairoGarret Fick1-9/+8
2015-11-23Render with cairo instead of cairocffi - I would like to make it use either, ↵Garret Fick1-7/+8
but for now, using the one that works with wxpython
2015-11-18Merge branch 'master' of https://github.com/garretfick/pcb-toolsGarret Fick5-137/+4
2015-11-18Merge pull request #1 from curtacircuitos/masterGarret Fick5-137/+4
Merge from upstream
2015-11-18Regions with arcs would crash if they occured before any command to set the ↵Garret Fick1-2/+2
aperture
2015-11-15Merge pull request #45 from curtacircuitos/remove-svgwrite-backendHamilton Kibbe5-137/+4
Remove svgwrite backend
2015-11-15Remove svgwrite backendPaulo Henrique Silva5-137/+4
We moved the functionality to cairo backend, it can write png and svg and maybe more (pdfs?)
2015-11-15Use Python's universal newlines to open filesPaulo Henrique Silva6-11/+11
2015-11-13Merge pull request #43 from curtacircuitos/excellon-with-no-tool-definitionHamilton Kibbe1-1/+18
Add fix to work with excellon with no tool definition.
2015-11-13Add fix to work with excellon with no tool definition.Paulo Henrique Silva1-1/+18
I found out that Proteus generate some strange Excellon without any tool definition. Gerbv renders it correctly and after digging in I found the heuristic that they use to "guess" the tool diameter. This change replicates this behavior on pcb-tools.