Paulo Henrique Silva
6e29b9bcae
Use Python's universal newlines to open files
2015-11-15 22:28:56 -02:00
Paulo Henrique Silva
cead702f4d
Add fix to work with excellon with no tool definition.
...
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-13 13:18:50 -02:00
Paulo Henrique Silva
9ca75f991a
Improve Excellon parsing coverage
...
Add some not so used codes that were generating unknown stmt.
2015-11-13 03:31:32 -02:00
Hamilton Kibbe
10d9028e1f
Python 3 fix
2015-10-10 17:02:45 -04:00
Hamilton Kibbe
dd63b169f1
Allow files to be read from strings per #37
...
Adds a loads() method to the top level module which generates a GerberFile or ExcellonFile from a string
2015-10-10 16:51:21 -04:00
Hamilton Kibbe
15254a5bb7
Add tool path optimization example
...
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-07-06 12:13:59 -04:00
Hamilton Kibbe
ec2ca92da6
Python 3 fix
...
remove dict itervalues() calls
2015-06-11 14:00:40 -04:00
Hamilton Kibbe
94f3976915
Add keys to statements for linking to primitives. Add some API features to 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-11 11:20:56 -04:00
Hamilton Kibbe
8ec3077be9
Add checks to ensure statement unit conversions are idempotent
2015-05-16 09:45:34 -04:00
Hamilton Kibbe
390838fc8b
Fix for #25 . Checking was happening at the gerber/excellon file level, but I 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-24 10:54:13 -04:00
Paulo Henrique Silva
b9b20a9644
Fix Excellon repeat command
2015-04-07 18:17:25 -03:00
Hamilton Kibbe
5966d7830b
Add offset operation
2015-02-18 23:13:23 -05:00
Hamilton Kibbe
e71d7a24b5
Python 3 tests passing
2015-02-18 21:14:30 -05:00
Hamilton Kibbe
288ac27084
Get unit conversion working for Gerber/Excellon files
...
Started operations module for file operations/transforms
2015-02-18 04:31:23 -05:00
Hamilton Kibbe
bfe1484160
Add cairo example code, and use example-generated image in readme
2015-02-15 03:29:47 -05:00
Hamilton Kibbe
5cf1fa74b4
Tests and bugfixes
2015-02-15 02:20:02 -05:00
Hamilton Kibbe
939f782728
...oops
2015-01-25 14:22:27 -05:00
Hamilton Kibbe
b495d51354
Changed zeros/zero suppression conventions to match file format specs
2015-01-25 14:19:48 -05:00
Paulo Henrique Silva
0f36084aad
Add Repeat Hole Stmt and fix UnitStmt parsing
...
* 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-15 05:01:40 -02:00
Paulo Henrique Silva
137c73f3e4
Many additions to Excellon parsing/creation.
...
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.
2015-01-14 14:33:00 -02:00
Hamilton Kibbe
254f3e5184
Merge changes from upstream
2014-10-26 17:20:47 -04:00
Hamilton Kibbe
18e3b87625
Test update
2014-10-19 22:23:00 -04:00
Hamilton Kibbe
6d2db67e6d
Refactor rendering
2014-10-18 01:44:51 -04:00
Hamilton Kibbe
8c5c7ec8bb
update docs and example images
2014-10-12 12:38:40 -04:00
Hamilton Kibbe
62c689be17
Doc update
2014-10-11 13:12:21 -04:00
Hamilton Kibbe
ae3bbff8b0
Added excellon format detection
2014-10-10 23:07:51 -04:00
Hamilton Kibbe
f2f411493e
doc update
2014-10-09 22:10:28 -04:00
Hamilton Kibbe
1653ae5cbe
Update readme and example
2014-10-08 09:27:52 -04:00
Hamilton Kibbe
af97dcf2a8
fix excellon render
2014-10-07 22:44:08 -04:00
Hamilton Kibbe
2abb7159be
add tests
2014-10-06 23:52:57 -04:00
Hamilton Kibbe
22a6f87e94
add excellon file write
2014-10-06 18:28:32 -04:00
Hamilton Kibbe
08253b40f6
Update excellon statements/ExcellonFile
2014-10-06 13:11:16 -04:00
Hamilton Kibbe
597427d785
add excellon statements
2014-10-06 08:33:53 -04:00
Hamilton Kibbe
0b8e2e4b8b
added numpydoc
2014-10-01 14:39:32 -04:00
Hamilton Kibbe
1e170ba196
Add travis.yml
2014-09-30 17:17:28 -04:00
Hamilton Kibbe
1cb7856e88
Add CNC base classes and settings class
2014-09-29 13:35:10 -04:00
Hamilton Kibbe
3a5dbcf1e1
added ExcellonFile class
2014-09-28 21:17:13 -04:00
Hamilton Kibbe
695e3d9220
Added excellon support and refactored project
2014-09-28 18:07:15 -04:00
Hamilton Kibbe
43b599106f
Add Excellon support
2014-09-28 13:04:32 -04:00