summaryrefslogtreecommitdiff
path: root/gerber/excellon.py
AgeCommit message (Collapse)AuthorFilesLines
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-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-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
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