Commit graph

170 commits

Author SHA1 Message Date
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
Hamilton Kibbe
bc532997ae Add feature support table per #9 2015-02-15 22:00:03 -05:00
Hamilton Kibbe
d63bf0d68a Fix cairo image size 2015-02-15 13:29:50 -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
5e23d07bcb Fix rendering for line with rectangular aperture per #12. Still need to do the same for arcs. 2015-02-13 09:37:27 -05:00
Hamilton Kibbe
8f69c1dfa2 Update line primitive to take aperture parameter
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-12 11:28:50 -05:00
Hamilton Kibbe
41f9475b13 Tests and bugfixes 2015-02-09 17:39:24 -05:00
Hamilton Kibbe
b0c55082b0 Add aperture macro statement tests 2015-02-09 13:57:15 -05:00
Hamilton Kibbe
aea1f38597 Fix write_gerber_value bug 2015-02-08 22:27:24 -05:00
Hamilton Kibbe
a4c8a4cbcf add rest of aperture macro primitives 2015-02-08 21:54:05 -05:00