summaryrefslogtreecommitdiff
path: root/gerber/excellon.py
AgeCommit message (Collapse)AuthorFilesLines
2017-07-04Fix handling of multi-line strings per #66Hamilton Kibbe1-887/+904
2016-11-18Excellon updateHamilton Kibbe1-20/+25
2016-11-06Merge upstream changesHamilton Kibbe1-85/+97
2016-09-24Commit partial merge so I can work on the planeHamilton Kibbe1-10/+9
2016-08-06Manually mere rendering changesHamilton Kibbe1-40/+54
2016-07-17Merge in negative soldermask. Still required further changes to support ↵Garret Fick1-10/+12
negatives for shapes that dont exist in the merge source
2016-07-16Fix most broken tests so that I can safely merge into changes with known ↵Garret Fick1-0/+3
expected test result
2016-07-16Setup .gitignore for Eclipse. Start creating doc stringsGarret Fick1-0/+10
2016-07-11Allow G85 for invalid filesGarret Fick1-1/+1
2016-07-10Workaround for bad excellon files that don't correctly set the modeGarret Fick1-7/+9
2016-06-06Rout mode doesn't need to specify G01 every timeGarret Fick1-1/+12
2016-05-10Offset of drill hit and slotsGarret Fick1-2/+8
2016-04-05Fix converting values for excellon files. Give error for incremental modeGarret Fick1-16/+8
2016-03-27Actually fix the rout rendering to be correctGarret Fick1-3/+7
2016-03-26Correctly render M15 slot holesGarret Fick1-1/+19
2016-03-26Support for the G85 slot statementGarret Fick1-27/+109
2016-03-13Better detection of plated toolsGarret Fick1-17/+44
2016-01-31Add support for more excellon formats. Dont consider line width when ↵Garret Fick1-0/+2
determinging region bounding box
2016-01-28Cleanup, rendering fixes.Hamilton Kibbe1-3/+6
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-21Fix a bunch of rendering bugs.Hamilton Kibbe1-27/+35
- '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 Fick1-3/+6
2015-12-30Support KiCad format statement where FMAT,2 is 2:4 with inchGarret Fick1-0/+1
2015-12-19Allow negative render of soldermask per #50Hamilton Kibbe1-3/+4
Update example code and rendering to show change
2015-12-19Parse misc nc drill filesGarret Fick1-9/+59
2015-12-16Fix drawing arcs. Dont crash for arcs with rectangular apertures. Fix crash ↵Garret Fick1-0/+4
with board size of zero for only one drill
2015-12-02Make the hit accessible from the drawable Hit, fix crash with cario drawing rectGarret Fick1-1/+1
2015-11-15Use Python's universal newlines to open filesPaulo Henrique Silva1-3/+3
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.
2015-11-13Improve Excellon parsing coveragePaulo Henrique Silva1-11/+72
Add some not so used codes that were generating unknown stmt.
2015-10-10Python 3 fixHamilton Kibbe1-1/+5
2015-10-10Allow files to be read from strings per #37Hamilton Kibbe1-11/+39
Adds a loads() method to the top level module which generates a GerberFile or ExcellonFile from a string
2015-07-06Add tool path optimization exampleHamilton Kibbe1-10/+25
Add example demonstrating use of tsp-solver with pcb-tools to optimize tool paths in an excellon file. This is based on @koppi's script in #30
2015-06-11Python 3 fixHamilton Kibbe1-3/+3
remove dict itervalues() calls
2015-06-11Add keys to statements for linking to primitives. Add some API features to ↵Hamilton Kibbe1-24/+96
ExcellonFile, such as getting a tool path length and changing tool parameters. Excellonfiles write method generates statements based on the drill hits in the hits member, so drill hits in a generated file can be re-ordered by re-ordering the drill hits in ExcellonFile.hits. see #30
2015-05-16Add checks to ensure statement unit conversions are idempotentHamilton Kibbe1-0/+3
2015-04-24Fix for #25. Checking was happening at the gerber/excellon file level, but I ↵Hamilton Kibbe1-1/+1
added units checking at the primitive level so the use case shown in the example is covered. Might want to throw a bunch more assertions in the test code (i started doing a few) to cover multiple calls to unit conversion functions
2015-04-07Fix Excellon repeat commandPaulo Henrique Silva1-2/+4
2015-02-18Add offset operationHamilton Kibbe1-0/+14
2015-02-18Python 3 tests passingHamilton Kibbe1-5/+5
2015-02-18Get unit conversion working for Gerber/Excellon filesHamilton Kibbe1-2/+27
Started operations module for file operations/transforms
2015-02-15Add cairo example code, and use example-generated image in readmeHamilton Kibbe1-0/+5
2015-02-15Tests and bugfixesHamilton Kibbe1-6/+23
2015-01-25...oopsHamilton Kibbe1-1/+0
2015-01-25Changed zeros/zero suppression conventions to match file format specsHamilton Kibbe1-15/+17
2015-01-15Add Repeat Hole Stmt and fix UnitStmt parsingPaulo Henrique Silva1-2/+5
* Repeat hole support (with no real parsing, just a copy) * Fix UnitStmt to works even when a ,TZ or ,LZ information is not provided.
2015-01-14Many additions to Excellon parsing/creation.Paulo Henrique Silva1-19/+32
CAUTION: the original code used zero_suppression flags in the opposite sense as Gerber functions. This patch changes it to behave just like Gerber code. * Add metric/inch conversion support * Add settings context variable to to_gerber just like Gerber code. * Add some missing Excellon values. Tests are not entirely updated.
2014-10-26Merge changes from upstreamHamilton Kibbe1-7/+8
2014-10-19Test updateHamilton Kibbe1-11/+8
2014-10-18Refactor renderingHamilton Kibbe1-17/+21