DirtyPCB seems to be the first small-prototyping-service that allows you to build panels with breaktabs. I had to try this! Soon after this thought I stumbled upon the great question of “how” – here I had all these folders full of gerberfiles for boards.. but the tools to panelize them were all very primitive, expensive, unhandy, unartistic etc… time to fix this!
Down here you can see the progress I’ve made from initial concept to usable tool.
The tool shall be released in (bin + source) full after I’ve gotten the second round of panels back from DirtyPCBs (I am not going to give away a tool that will create unproducable gerbers – I need to doublecheck everything)
Humble beginnings.. Importing outline-gerbers and applying basic rotations
First attempt at automatic frame-polygon generation. – still has sharp edges
Smoothed out frame polygon.
Rounded markers make math easier.
Drillhole location within the circles, outside the outline geometry, but NOT inside the frame polygon. The logic constructs to do this right add up quickly 🙂
First attempt at exporting offsetted gerbers.
Second offset test – fills work too.
Rotating gerbers is a different story alltogether… Pads in gerber files are axis-aligned!
Rebuilding all the pads in to polygon apertures and rotating those works though..
FIrst rotated/merged gerber export! Hopeful!
Tab-geometry – try 1. Note the arc-radius that is needed – the mill used to separate boards is usually something like 2mm in diameter.
Progress on the tabs. Each tab has an adjustable radius.
The purple outline is the first true merged outline for a single panel
Real world tab creation
Testing if export still works..
Next big step – merging all the offsetted/rotated files in one gerber per layer – works!
More crosschecking – all layers seem to merge fine, except drill layers (different file format)
Drills merged in too… now where did all the octagonal pads go?
Octagons turned out to be lost in metric-conversion… Parametrized apertures do not seem to follow the same logic as the rest of gerberfiles when exported from Eagle…
Crosscheck – oshpark preview agrees with my fileformat!
Now that the internals work, time to make this thing in to a more serious looking CAD app.
MDI looks awfully serious 😉
MM-grid makes it even more serious…
And having mouse interaction unlocks the creative use of the tool
Now that the tool has become sortof usable, lets use it! To test the software I have decided to build at least 1 panel full of capacitive touch elements
And this is what it looks like with all the layers enabled
Side by side… Not really sure if the rest of the editing should have more visible than the outline.
Addictive – now that I can stuff panels full of things, I need things to stuff them with! Behold – keychain.
Filling up nicely…
Reasonably final.. Or so I thought..
Progress bars! Proper indication of progress is a must for any lengthy process. I still need to benchmark all this – merging some textfiles should be faster than this.
Addiction confirmed – a full second panel filled with testthings!
The touchpanel revisisted – better layout, controllers for each board, better vias… electronics is never “done”
Rewrote the entire renderer in OpenGL – much faster, nicer looking, etc… Starts to feel like Ive installed a pirated copy of some expensive cad-suite.
Results are in! DirtyPCBs did a great job again!
And the other side…
And the yellow panel.. Dirty dirty DIRTY soldermask (check topleft)
And the other side.
All the parts – great succes!