Commit graph

80 commits

Author SHA1 Message Date
Garret Fick
e8327fda79 Manually merge change 5430fa6738 2016-07-20 23:26:51 +08:00
Garret Fick
76a49ec8e7 Manually merge change 6f876edd09 2016-07-20 23:20:15 +08:00
Garret Fick
34f20ee90f Manually merge af5541ac93 2016-07-17 21:04:15 +08:00
Garret Fick
f0585baefa Create first test that renders and validates the the rendered PNG is correct. 2016-07-17 13:14:54 +08:00
Garret Fick
0dded38353 Merge in negative soldermask. Still required further changes to support negatives for shapes that dont exist in the merge source 2016-07-17 10:42:03 +08:00
Garret Fick
9b0d3b1122 Fix issue with chaning region mode via flash. Add options for controlling output from rendered gerber 2016-07-10 15:07:17 +08:00
Garret Fick
ccb6eb7a76 Add support for polygon apertures 2016-06-25 16:46:44 +08:00
Garret Fick
b01c4822b6 Render aperture macros with clear regions 2016-06-25 12:27:28 +08:00
Garret Fick
ea97d9d037 Fix issue with switching between ROUT and normal drill modes 2016-05-28 17:03:40 +08:00
Garret Fick
3fc296918e Use the known macro statement to render. Fix thermal not setting rotation 2016-05-28 13:06:08 +08:00
Garret Fick
c9c1313d59 Fix units statement. Keep track of original macro statement in the AMGroup 2016-05-28 12:36:31 +08:00
Garret Fick
d1d112f2f1 Merge pull request #3 from qaulau/patch-2
Update cairo_backend.py
2016-05-19 23:28:02 +08:00
Garret Fick
74c638c718 Fix issue where did not always switch into the G01 mode after G03 when the point was unchanged 2016-05-19 23:19:28 +08:00
Garret Fick
7fda8eb9f5 Don't render null items 2016-05-08 22:13:08 +08:00
Qau Lau
199a0f3d3c Update cairo_backend.py
If cairo  module import error use cairocffi
2016-04-08 20:02:04 +08:00
Garret Fick
2eac1e427c Fix converting values for excellon files. Give error for incremental mode 2016-04-05 22:40:12 +08:00
Garret Fick
288f49955e Actually fix the rout rendering to be correct 2016-03-27 14:24:11 +08:00
Garret Fick
acde19f205 Support for the G85 slot statement 2016-03-26 15:59:42 +08:00
Garret Fick
d12f6385a4 Basic rendering of excellon works, but still has issues 2016-03-24 00:10:34 +08:00
Garret Fick
97924d188b More robust writing, even for bad files. Remove accidentally added imports 2016-03-05 16:26:30 +08:00
Garret Fick
0f1d1c3a29 Remove some testing code from gerber writer. More implementation for excellon writer - not working yet 2016-03-05 14:56:08 +08:00
Garret Fick
9735547568 Make rendering more robust for bad gerber files 2016-03-05 10:28:38 +08:00
Garret Fick
7f47aea332 Write polygons to macros 2016-03-05 10:04:58 +08:00
Garret Fick
7b88509c4a Make writer resilient to similar macro defs 2016-03-05 09:24:54 +08:00
Garret Fick
20a9af279a More rendering of AMGroup to statements 2016-03-01 00:06:14 +08:00
Garret Fick
223a010831 Fix critical issue with rotatin points (when the angle is zero the y would be flipped). Render AM with outline to gerber 2016-02-27 18:18:04 +08:00
Garret Fick
29c0d82bf5 RS274X backend for rendering. Incompelte still 2016-02-27 15:24:36 +08:00
Garret Fick
96bdd0f59d Keep track of quadrant mode so we can draw full circles 2016-01-31 15:24:57 +08:00
Garret Fick
83ae0670d1 More stability fixes for poorly constructed files 2016-01-08 00:19:47 +08:00
Garret Fick
f61eee807f Render polygon flashes 2015-12-30 18:44:07 +08:00
Garret Fick
96692b2221 Render primitives for some aperture macros 2015-12-30 15:32:44 +08:00
Garret Fick
4a815bf25d First time any macro renders 2015-12-30 14:05:00 +08:00
Hamilton Kibbe
5430fa6738 Python3 fix 2015-12-22 10:18:51 -05:00
Hamilton Kibbe
6f876edd09 Add PCB interface
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-22 02:47:23 -05:00
Hamilton Kibbe
af5541ac93 Allow renderer to write to memory per #38
Some updates to rendering colors/themes
2015-12-20 23:54:20 -05:00
Hamilton Kibbe
60c5906b29 Clean up negative render code 2015-12-20 15:24:20 -05:00
Hamilton Kibbe
1cb269131b Allow negative render of soldermask per #50
Update example code and rendering to show change
2015-12-19 21:54:29 -05:00
Garret Fick
206f4c57ab Fix drawing arcs. Dont crash for arcs with rectangular apertures. Fix crash with board size of zero for only one drill 2015-12-16 18:59:25 +08:00
Garret Fick
d69f50e0f6 Make the hit accessible from the drawable Hit, fix crash with cario drawing rect 2015-12-02 12:44:30 +08:00
Garret Fick
8eede187f3 More fixes to work with cairo 2015-11-23 22:22:30 +08:00
Garret Fick
d5f382f4b4 Render with cairo instead of cairocffi - I would like to make it use either, but for now, using the one that works with wxpython 2015-11-23 16:17:31 +08:00
Paulo Henrique Silva
7e2e469f5e Remove svgwrite backend
We moved the functionality to cairo backend, it can write png and svg and maybe more (pdfs?)
2015-11-15 22:31:42 -02: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
cb2fa34e88 Add support for arcs in regions.
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-08-09 15:11:13 -04:00
Hamilton Kibbe
d4a8705708 Fix windows permission error
per #33
the issue was trying to re-open the temporary file. it works on everything but windows. I've changed it to seek to the beginning and read from the file without re-opening, which should fix the issue.
2015-07-25 09:48:58 -04:00
Hamilton Kibbe
39726e3936 Fix multiple layer issue in cairo-unification branch (see #33) 2015-07-22 22:13:09 -04:00
Paulo Henrique Silva
b3f6ec558c Fix arcs and ackground painting 2015-07-09 04:05:15 -03:00
Paulo Henrique Silva
5aaf18889c Initial patch to unify our render towards cairo
This branch allows a pure cairo based render for both PNG and SVG.

Cairo backend is mostly the same but with improved support for
configurable scale, orientation and inverted color drawing.

API is not yet final.
2015-07-09 03:54:47 -03:00
Hamilton Kibbe
68619d4d5a Fix parsing for multiline ipc-d-356 records 2015-03-05 22:42:42 -05:00
hbc
feb5b3d571 Convert py3k's map object to tuple explicitly. 2015-02-25 09:39:53 +08:00