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
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
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
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
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
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
Garret Fick
fc5d1898f5
Merge pull request #1 from curtacircuitos/master
...
Merge from upstream
2015-11-18 11:38:43 +08:00
Garret Fick
f2b075e338
Regions with arcs would crash if they occured before any command to set the aperture
2015-11-18 11:26:20 +08:00
Hamilton Kibbe
ba82d60cb8
Merge pull request #45 from curtacircuitos/remove-svgwrite-backend
...
Remove svgwrite backend
2015-11-15 22:16:03 -05: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
Paulo Henrique Silva
6e29b9bcae
Use Python's universal newlines to open files
2015-11-15 22:28:56 -02:00
Hamilton Kibbe
ebc8518197
Merge pull request #43 from curtacircuitos/excellon-with-no-tool-definition
...
Add fix to work with excellon with no tool definition.
2015-11-13 11:40:03 -05: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
2208fe2205
Fix issue when a region is created as the first graphical object in a file
...
When regions were the first thing draw there is no current aperture
defined, as regions do not require an aperture, so we use an zeroed
Circle as aperture in this case. Gerber spec says that apertures have
no graphical meaning for regions, so this should be enough.
2015-11-13 04:17:27 -02:00
Paulo Henrique Silva
6d8b5377a8
Merge pull request #42 from curtacircuitos/add-some-missing-excellon-stmts
...
Improve Excellon parsing coverage
2015-11-13 03:38:57 -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
Paulo Henrique Silva
944c832922
Merge pull request #41 from curtacircuitos/read_from_memory
...
Read from memory
2015-10-14 15:37:02 -03: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
b81c9d4bf9
Merge pull request #40 from curtacircuitos/cairo-render-unification
...
Cairo render unification
2015-09-10 15:54:29 -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
c92d2d9ea2
Merge pull request #31 from curtacircuitos/statement_link
...
Add support for tool reordering and drill path optimization example.
2015-07-14 13:32:17 -03: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
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