summaryrefslogtreecommitdiff
path: root/gerber/tests
AgeCommit message (Collapse)AuthorFilesLines
2015-12-22Add PCB interfaceHamilton Kibbe1-0/+33
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-19Allow negative render of soldermask per #50Hamilton Kibbe2-23/+24
Update example code and rendering to show change
2015-11-23Fix AMParamStmt to_gerber to write changes back.Paulo Henrique Silva1-2/+2
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-15Use Python's universal newlines to open filesPaulo Henrique Silva2-5/+5
2015-11-13Improve Excellon parsing coveragePaulo Henrique Silva1-0/+50
Add some not so used codes that were generating unknown stmt.
2015-10-10Allow files to be read from strings per #37Hamilton Kibbe2-9/+42
Adds a loads() method to the top level module which generates a GerberFile or ExcellonFile from a string
2015-09-10Merge pull request #40 from curtacircuitos/cairo-render-unificationHamilton Kibbe1-20/+14
Cairo render unification
2015-08-09Add support for arcs in regions.Hamilton Kibbe1-20/+14
This fixes the circular cutout issue described in #32. Regions were previously stored as a collection of points, now they are stored as a collection of line and arc primitives.
2015-06-11Add keys to statements for linking to primitives. Add some API features to ↵Hamilton Kibbe1-2/+15
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-06-01Fix IPC-D-356 parser. Handle too-long reference designators exported by ↵Hamilton Kibbe1-0/+10
eagle per #28.
2015-05-21Fix multiline read of mixed statements (%XXX*% followed by DNN*)Paulo Henrique Silva2-0/+17
We now check if there is a %XXX*% command inside the line before considering it a multiline statement.
2015-05-21Fix ADD statement parsing for concatened statements.Paulo Henrique Silva1-3458/+1
ADDxxx param statements were too greedy on the mofidiers and were matching more than it should in cases where there are no newlines after the statement like: '%ADD12C,0.305*%%LPD*%', in a single line. The '%' was not exluded form modifiers so it got confused with the %LPD*% concatened. top_copper.GTL example was changed to be in a single line now with no spaces at all and it works well.
2015-05-20Add support for PCBmodE generated files.Paulo Henrique Silva1-0/+18
PCBmodE uses a standard but probably undefined behaviour issue on Gerber where it defines circle apertures with a single modifier but leaves a trilling 'X' after it. 'X' is modifiers separator but when there is only one modifier the behaviour is undefined. For parsing we are just ignoring blank modifiers. Test updated to catch this case.
2015-05-16Add checks to ensure statement unit conversions are idempotentHamilton Kibbe2-14/+254
2015-04-27Allow 3 digits on Excellon tool selectionPaulo Henrique Silva1-0/+3
Fritzing uses more than 2 digits for tool in their Excellons. To comply with that, I check specifically for 3 or less digits and use as tool number, more than that we treat as the standard (2 for tool and 2 for compensation index)
2015-04-26Refactor primitive unit conversion and add regression coverage to testsHamilton Kibbe1-24/+310
2015-04-24Fix for #25. Checking was happening at the gerber/excellon file level, but I ↵Hamilton Kibbe1-38/+77
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-14Fix AM statement testPaulo Henrique Silva1-2/+2
2015-04-07Small change on __str__ for SF StatementPaulo Henrique Silva1-1/+1
2015-04-07Fix Excellon repeat commandPaulo Henrique Silva1-1/+1
2015-03-06fix testsHamilton Kibbe1-9/+13
2015-03-05Fix parsing for multiline ipc-d-356 recordsHamilton Kibbe3-3/+4
2015-03-05Fix tests for macros with no variables.Paulo Henrique Silva1-5/+11
All AM*Primitive classes now handles float for all but the code modifiers. This simplifies the reading/parsing.
2015-02-21Merge pull request #20 from curtacircuitos/ipc-d-356Paulo Henrique Silva2-0/+230
Add IPC-D-356 Netlist Parsing
2015-02-20Add IPC-D-356 Netlist ParsingHamilton Kibbe2-0/+230
2015-02-20Fix floating point equality testPaulo Henrique Silva1-2/+2
2015-02-20Fix size test, board is slight out of origin, so size does change now that ↵Paulo Henrique Silva1-2/+2
we properly handle non-zero origins
2015-02-18Add offset operationHamilton Kibbe3-64/+216
2015-02-18Python 3 tests passingHamilton Kibbe3-5/+6
2015-02-18Make gerber.render a package & fix more relative import statementsPhilipp Klaus4-4/+4
2015-02-18Get unit conversion working for Gerber/Excellon filesHamilton Kibbe7-21/+388
Started operations module for file operations/transforms
2015-02-15Add cairo example code, and use example-generated image in readmeHamilton Kibbe1-0/+2
2015-02-15Tests and bugfixesHamilton Kibbe4-25/+314
2015-02-13Fix rendering for line with rectangular aperture per #12. Still need to do ↵Hamilton Kibbe1-11/+24
the same for arcs.
2015-02-12Update line primitive to take aperture parameterHamilton Kibbe1-22/+22
This fixes the exception referenced in #12. Still need to add rendering code for rectangle aperture lines and arcs. Rectangle strokes will be drawn as polygons by the rendering backends.
2015-02-09Tests and bugfixesHamilton Kibbe2-14/+165
2015-02-09Add aperture macro statement testsHamilton Kibbe2-2/+261
2015-02-08Fix write_gerber_value bugHamilton Kibbe1-0/+3
2015-02-02Added some Aperture Macro Primitives. Moved AM primitives to seperate fileHamilton Kibbe1-0/+77
2015-02-02testsHamilton Kibbe4-38/+201
2015-02-02More tests and bugfixesHamilton Kibbe4-19/+144
2015-02-01Added primitives and testsHamilton Kibbe2-7/+136
2015-01-26merge upstream changesHamilton Kibbe1-1/+1
2015-01-26Added some testsHamilton Kibbe3-0/+123
2015-01-25Changed zeros/zero suppression conventions to match file format specsHamilton Kibbe3-13/+41
2015-01-23Fix tests for leading zero suppressionHamilton Kibbe1-6/+6
2015-01-14Many additions to Excellon parsing/creation.Paulo Henrique Silva1-9/+26
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-11-10Bunch of small fixes to improve Gerber read/write.Paulo Henrique Silva3-11/+18
2014-10-28Add arc rendering and testsHamilton Kibbe2-2/+88
2014-10-19Test updateHamilton Kibbe13-23/+14270