Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
Adds a loads() method to the top level module which generates a GerberFile or ExcellonFile from a string
|
|
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.
|
|
Got a bunch of metric files with no MOMM but only G71, this
should be pretty mush harmless.
|
|
We now check if there is a %XXX*% command inside the line before
considering it a multiline statement.
|
|
ADDxxx param statements were too greedy on the mofidiers and were
matching more than it should in cases where there are no newlines after
the statement like:
'%ADD12C,0.305*%%LPD*%', in a single line. The '%' was not exluded form
modifiers so it got confused with the %LPD*% concatened.
top_copper.GTL example was changed to be in a single line now with no
spaces at all and it works well.
|
|
|
|
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
|
|
|
|
Based on code from @rdprescott.
|
|
|
|
|
|
FS D leading zero format (probably form Direct) is an unspecified
coordinate format where all numbers are specified with both leading
and trailing zeros.
|
|
|
|
All AM*Primitive classes now handles float for all but the code
modifiers. This simplifies the reading/parsing.
|
|
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.
|
|
|
|
|
|
Started operations module for file operations/transforms
|
|
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.
|
|
|
|
* Add support to convert between metric/impertial
* AM primitives are now properly created and can be
converted between metric/imperial.
(only Outline primitive is supported, no rendering yet)
|
|
|
|
* Modify the way we parse parameters to allow more than
one parameter in a single line as in the following example:
%FSLAX55Y55*MOIN*%
%IR0*IPPOS*OFA0.00000B0.00000*MIA0B0*SFA1.00000B1.00000*%
(this is from OrCAD 16 default output)
* Add missing deprecated parameters.
* Change API to use given FileSettings on output. This allows
us to use pcb-tools to convert between FS formats.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|