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
5cb60d6385
AM group hasn't implemented offset
2016-03-05 11:44:20 +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
02dbc6a51e
Additional bounding box calcuation that considers only actual positions, not the movement of the machine
2016-02-21 10:23:03 +08:00
Garret Fick
4bc7a6345b
Keep aperature macros as single statement. Don't generate regions with no points
2016-02-16 22:24:03 +08:00
Garret Fick
991a3687ef
Handle multiple commands on a single line
2016-02-16 21:57:25 +08:00
Garret Fick
3fce700ef2
Don't throw an exception for missing zero suppress, even though it is wrong
2016-02-15 23:53:52 +08:00
Garret Fick
a765f8aa2c
Fix convertion of units for apertures and regions
2016-02-14 22:06:32 +08:00
Garret Fick
5b93db47cd
Draw thermal aperture macros (as approximation)
2016-02-02 00:11:55 +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
e84f131720
Add support for more excellon formats. Dont consider line width when determinging region bounding box
2016-01-31 14:17:35 +08:00
Hamilton Kibbe
5df38c014f
Cleanup, rendering fixes.
...
fixed rendering of tented vias
fixed rendering of semi-transparent layers
fixed file type detection issues
added some examples
2016-01-28 12:19:03 -05:00
Paulo Henrique Silva
b9f1b106c3
Excellon format detection uses ExcelonFile.bounds now
...
Long term we should have only one .bounds method. But ExcellonParser right
now is not correct for cases with two drills in the same line
(it will report one dimension being zero)
2016-01-25 12:42:12 -02:00
Paulo Henrique Silva
1d9270d809
Fix NameError on Polygon primitive rendering
2016-01-22 03:24:50 -02:00
Hamilton Kibbe
66a0d09e72
Add support for mirrored rendering
...
- The default theme now renders the bottom layers mirrored.
- see https://github.com/curtacircuitos/pcb-tools/blob/master/examples/pcb_bottom.png
for an example.
2016-01-21 04:39:55 -05:00
Hamilton Kibbe
5476da8aa3
Fix a bunch of rendering bugs.
...
- 'clear' polarity primitives no longer erase background
- Added aperture macro support for polygons
- Added aperture macro rendring support
- Renderer now creates a new surface for each layer and merges them instead of working
directly on a single surface
- Updated examples accordingly
2016-01-21 03:57:44 -05:00
Garret Fick
60784dfa21
Skip over a strange excellon statement
2016-01-16 18:33:40 +08:00
Garret Fick
6a99359413
Fix converting polygons to outlines for macros
2016-01-16 12:28:46 +08:00
Garret Fick
83ae0670d1
More stability fixes for poorly constructed files
2016-01-08 00:19:47 +08:00
Paulo Henrique Silva
7a53251463
Merge pull request #53 from curtacircuitos/pcb_interface
...
Add PCB interface
2016-01-05 22:05:19 -02:00
Hamilton Kibbe
6a005436b4
Refactor a little
...
pulled all rendering stuff out of the pcb/layer objects
2016-01-01 12:25:38 -05:00
Garret Fick
f61eee807f
Render polygon flashes
2015-12-30 18:44:07 +08:00
Garret Fick
ff1ad704d5
Work with Diptrace that calls things D3 not D03
2015-12-30 18:10:43 +08:00
Garret Fick
2e42d1a470
Support KiCad format statement where FMAT,2 is 2:4 with inch
2015-12-30 16:11:25 +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
Garret Fick
ca3c682da5
Wrongly using mil def for mm
2015-12-28 11:34:54 +08:00
Garret Fick
cd0ed5aed0
Identify flashes and bounding box without aperture
2015-12-25 14:43:44 +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
Paulo Henrique Silva
d1598b46c9
Merge pull request #52 from curtacircuitos/negative_soldermask
...
Allow negative solder mask rendering per #50 .
2015-12-20 22:15:44 -02:00
Hamilton Kibbe
163a0cd531
Merge branch 'negative_soldermask' of github.com:curtacircuitos/pcb-tools into negative_soldermask
2015-12-20 15:26:39 -05:00
Hamilton Kibbe
60c5906b29
Clean up negative render code
2015-12-20 15:24:20 -05:00
Hamilton Kibbe
a0847ef70d
Update Readme
2015-12-19 21:56:01 -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
4e838df32a
Parse misc nc drill files
2015-12-19 11:44:12 +08: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
Paulo Henrique Silva
2fa585853b
Add test case to start working on a fix
2015-12-06 21:44:09 -02:00
Garret Fick
221f67d8fe
Move the coordinate matching to the beginning since most of the items are coordinates. For large files, this decreases total time by 10-20%
2015-12-03 09:42:45 +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
Paulo Henrique Silva
2e2b4e49c3
Fix AMParamStmt to_gerber to write changes back.
...
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-23 16:04:25 -02: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
Garret Fick
ec1bc61a21
Merge branch 'master' of https://github.com/garretfick/pcb-tools
2015-11-18 11:42:11 +08:00