summaryrefslogtreecommitdiff
path: root/gerber/excellon.py
AgeCommit message (Collapse)AuthorFilesLines
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
2015-12-19Allow negative render of soldermask per #50Hamilton Kibbe1-3/+4
Update example code and rendering to show change
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
2014-10-12update docs and example imagesHamilton Kibbe1-1/+2
2014-10-11Doc updateHamilton Kibbe1-6/+22
2014-10-10Added excellon format detectionHamilton Kibbe1-5/+150
2014-10-09doc updateHamilton Kibbe1-2/+2
2014-10-08Update readme and exampleHamilton Kibbe1-12/+4
2014-10-07fix excellon renderHamilton Kibbe1-33/+29
2014-10-06add testsHamilton Kibbe1-2/+1
2014-10-06add excellon file writeHamilton Kibbe1-14/+9
2014-10-06Update excellon statements/ExcellonFileHamilton Kibbe1-42/+54
2014-10-06add excellon statementsHamilton Kibbe1-108/+20
2014-10-01added numpydocHamilton Kibbe1-0/+6
2014-09-30Add travis.ymlHamilton Kibbe1-3/+18
2014-09-29Add CNC base classes and settings classHamilton Kibbe1-14/+77
2014-09-28added ExcellonFile classHamilton Kibbe1-46/+87
2014-09-28Added excellon support and refactored projectHamilton Kibbe1-0/+165
2014-09-28Add Excellon supportHamilton Kibbe1-0/+180