Gerber files from expressPCB generated PDF’s

Over the past few weeks I’ve been conversing with Don Julien, a programmer who dedicates himself to updating the open-source program ‘pdf2gerb’ // … pdf2gerb is a text based ‘PERL’ instruction set that’s meant for converting PDF vector graphics language files to Gerber “Numerical Drilling” (CNC driver) ones // the brainchild of Matthew Swann … (!)

“… in essence, the instructions that are meant to drive a printer are similar in nature to those used for driving an automated CNC machine”

makes sense to me ! … and as I had sudden access to a friend’s CNC machine myself, I wanted to see if the PDF output generated by expressPCB in tandem with a print-2-PDF application like PDFcreator could produce constantly reliable file sets ‘as is’ // … ie., with no edits, and running on the more common ‘XP’ platform (I think Mathew is a Mac dude) …

Don was able to detect a coding snag that prevented things from working perfectly with my examples // … two revs later the code is now able to select between 2.3 and 2.4 (0.1 thou) Gerber drill formats … to me this is a useful feature to add as not all CNC machine owners have upgraded their machine’s coding to the latest format … (like ours was …)

three PDF “layer” files are print-created from within expressPCB // this produces true (simple) vector files … I combine top and bottom layers into a top.pdf file, in order to produce copper text in the end, then the bottom.pdf only (without text, logos, etc .) and then the silk.pdf layer … the program code and three object files are piped to a compiler to produce seven Gerber output files … from here a visual confirmation of translation accuracy to the new format can be made using a Gerber file viewer such as “viewPlot” …

the files are then sent away for “mecanofacturing” // … (*!*)
>> that’s it !! well done guys … and amazing //

-> Mathew Swann’s ‘pdf2gerb’ website

-> pdf2gerb16e // latest rev. from Don Julien

-> strawberryPERL

-> viewPlot

Leave a Reply

Your email address will not be published. Required fields are marked *