Commit graph

180 commits

Author SHA1 Message Date
Paulo Henrique Silva
80cdaf075e Merge pull request #26 from curtacircuitos/unit_conversion_fix
Fix for #25. Check units at the primitive level
2015-04-24 13:34:26 -03: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
a3cce62be7 Fix Gerber generation for coord blocks with implicit op code 2015-04-23 13:38:01 -03:00
Paulo Henrique Silva
0c54a20263 Fix AM statement test 2015-04-14 23:31:15 -03:00
Paulo Henrique Silva
51c630ab77 AMStatement are used as is when gerbers are generated 2015-04-14 23:27:11 -03:00
Paulo Henrique Silva
d6bb61eec6 Fix issue where D01 and D03 are implicit.
Based on code from @rdprescott.
2015-04-13 16:55:03 -03:00
Paulo Henrique Silva
d7ce97b180 (really) Fix parsing for AM macros with zero modifiers 2015-04-07 18:55:12 -03:00
Paulo Henrique Silva
1ea7e14ba5 Fix CoordStmt with missing i/j offsets 2015-04-07 18:28:03 -03:00
Paulo Henrique Silva
50c01d4635 Fix CommentStmt for multi-line comments 2015-04-07 18:27:31 -03:00
Paulo Henrique Silva
d1c74317c8 Add some deprecated but still found statements 2015-04-07 18:26:33 -03:00
Paulo Henrique Silva
bbfa66eb38 Small change on __str__ for SF Statement 2015-04-07 18:25:44 -03:00
Paulo Henrique Silva
9ab4ec360c Fix parsing for AM macros with zero modifiers 2015-04-07 18:24:47 -03:00
Paulo Henrique Silva
b93804ed9a Add unspecified FS D leading zeros format
FS D leading zero format (probably form Direct) is an unspecified
coordinate format where all numbers are specified with both leading
and trailing zeros.
2015-04-07 18:22:02 -03:00
Paulo Henrique Silva
b9b20a9644 Fix Excellon repeat command 2015-04-07 18:17:25 -03:00
Paulo Henrique Silva
820d8aa903 Allowance for weird case modifier with no zero after period 2015-04-07 13:25:53 -03:00
Hamilton Kibbe
45372cfff3 fix tests 2015-03-06 17:00:40 -05:00
Hamilton Kibbe
b5ce83beae add rest of altium-supported ipc-d-356 statements 2015-03-06 16:47:12 -05:00
Paulo Henrique Silva
f6dbe87c03 Add support for unary minus operator on macro parsing 2015-03-06 15:00:16 -03:00
Hamilton Kibbe
68619d4d5a Fix parsing for multiline ipc-d-356 records 2015-03-05 22:42:42 -05:00
Hamilton Kibbe
c40683b6a2 Merge pull request #23 from curtacircuitos/macro-parse-eval
Add aperture macro parsing and evaluation.
2015-03-05 13:33:49 -05:00
Paulo Henrique Silva
21fdb9cb57 More py3 fixes 2015-03-05 15:13:59 -03:00
Paulo Henrique Silva
adc1ff6d72 Fix for py3 2015-03-05 14:58:36 -03:00
Paulo Henrique Silva
a13b981c1c Fix tests for macros with no variables.
All AM*Primitive classes now handles float for all but the code
modifiers. This simplifies the reading/parsing.
2015-03-05 14:43:30 -03:00
Paulo Henrique Silva
670d3fbbd7 Add aperture macro parsing and evaluation.
Aperture macros can get complex with arithmetical operations,
variables and variables substitution.

Current pcb-tools code just read each macro block as an independent
unit, this cannot deal with variables that get changed after used.

This patch splits the task in two: first we parse all macro content
and creates a bytecode representation of all operations. This bytecode
representation will be executed when an AD command is issues passing
the required parameters.

Parsing is heavily based on gerbv using a Shunting Yard approach to
math parsing.

Integration with rs274x.py code is not finished as I need to figure out
how to integrate the final macro primitives with the graphical primitives
already in use.
2015-03-03 03:41:55 -03:00
Hamilton Kibbe
c542493b9b Merge pull request #22 from pklaus/python3
Updating gerber/__main__.py for Python3
2015-02-28 10:22:08 -05:00
Philipp Klaus
f74d9fcdf1 sys.stderr.write() instead of print >> sys.stderr, "..." 2015-02-28 15:48:35 +01:00
Paulo Henrique Silva
2590eefc96 Merge pull request #21 from bcho/hotfix/py3k-map-object
Convert py3k's map object to tuple explicitly.
2015-02-24 22:51:45 -03:00
hbc
feb5b3d571 Convert py3k's map object to tuple explicitly. 2015-02-25 09:39:53 +08:00
Paulo Henrique Silva
b8dcc86cb4 Merge pull request #20 from curtacircuitos/ipc-d-356
Add IPC-D-356 Netlist Parsing
2015-02-21 02:48:55 -02:00
Hamilton Kibbe
b3e0ceb5c3 Add IPC-D-356 Netlist Parsing 2015-02-20 22:24:34 -05:00
Paulo Henrique Silva
dbe93f77e5 Fix floating point equality test 2015-02-20 14:19:43 -02:00
Paulo Henrique Silva
2ea9b8ad97 Fix size test, board is slight out of origin, so size does change now that we properly handle non-zero origins 2015-02-20 14:06:45 -02:00
Paulo Henrique Silva
5d764a6890 Fix GerberFile.bounds when board origin is negative 2015-02-20 13:58:08 -02:00
Hamilton Kibbe
d830375c4c Fix arc width per comment in #12 2015-02-20 10:07:26 -05:00
Hamilton Kibbe
b3e816466c doc options 2015-02-18 23:28:19 -05:00
Hamilton Kibbe
4db7302485 Doc update 2015-02-18 23:23:53 -05:00
Hamilton Kibbe
5966d7830b Add offset operation 2015-02-18 23:13:23 -05:00
Paulo Henrique Silva
4b92e1b59d Merge pull request #19 from curtacircuitos/python3
Python 3 tests passing
2015-02-19 00:36:26 -02:00
Hamilton Kibbe
67f2af2015 Add documentation link to README 2015-02-18 21:28:00 -05:00
Hamilton Kibbe
e71d7a24b5 Python 3 tests passing 2015-02-18 21:14:30 -05:00
Paulo Henrique Silva
8e4fc55504 Merge pull request #17 from pklaus/name_fix
finish changing the project name
2015-02-18 13:51:45 -02:00
Philipp Klaus
12bd69cbdc finish changing the project name 2015-02-18 16:41:56 +01:00
Paulo Henrique Silva
ca5044224c Merge pull request #16 from pklaus/relative-imports
Fixing more relative import statements
2015-02-18 13:29:38 -02:00
Paulo Henrique Silva
ae19376c40 Merge pull request #15 from pklaus/dependencies
adding dependency cairocffi
2015-02-18 13:28:05 -02:00
Philipp Klaus
ed7d9ceb34 accidentially changed import order in 7ace94b 2015-02-18 16:14:46 +01:00
Philipp Klaus
e6fa61c82b Fixing more relative import statements 2015-02-18 16:14:46 +01:00
Philipp Klaus
7ace94b023 Make gerber.render a package & fix more relative import statements 2015-02-18 15:44:57 +01:00
Philipp Klaus
0e98a3f0d4 Python3 needs print() 2015-02-18 14:42:10 +01:00
Philipp Klaus
14bfc6e2cb adding dependency cairocffi 2015-02-18 14:39:04 +01: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