PCB tooling written in Haskell. This library provides Gerber RS-274X and Excellon parser, as well as some other useful programs generally used in PCB Milling hobby industry, locally in Brno hackerspace base48.cz.
Rounds diameters of the holes to available drills. Current strategy is regular rounding.
drillmerge --drills 0.8,0.9,1.0,1.1,1.2,1.4,2.0,3.0 --tolerance 0.1 drill.drl
Suggested features:
--drills 0.8,0.9..1.4,2.0,3.0
- ability to define whether to round up or down for each drill
--drills 1.0,1.4,2.0+,3.0-
(or whatever better)
Mock-up parsing gerber file and drawing to file. Uses diagrams.
stack exec -- drawgerber --width=400 -o test.pdf
Currently has some perfomance issues O(2^n)
:/
A generator of sample random gerber files for testing performance.
stack exec -- generategerber --count 200 generated/sample1.gbr
pcb2gcode alternative (with fixed thermals!), not quite done, will come after drawgerber outputs valid diagrams for all edge cases
Install stack and run stack install
- Try LBNF complete Alex/Happy parser with EBNF grammar
- Attoparsec parser for Gerber format
- Understand monads
- Use monads
- Gerber interpreter/exporter
- Excellon parser / interpreter
- drillmerge
- Outliner & G-Code generator
- Aperture macros
- Polygon definition
- Circular interpolation mode