← Back to team overview

kicad-developers team mailing list archive

Re: Panelization of PCB


On Tue, Jun 26, 2012 at 09:47:14PM +0200, Richard wrote:
> I tried to download and install the GerbMerg. But I was not able to
> install it either on my Ubuntu computer nor on a Windows laptop,
> what made me frustrated as I spent hours trying everything to get it
> up and running.

There are a lot of free panelizer around... have you tried *all* of

> So I thought, it could be a realizable job to do that in GerbView.
> Can anybody tell me if that is an idea or is that not of interest.
> Who is responsible for GerbView. Is there something like a quick
> start guide on what has been done up to now.

I personally object to adding CAM features to a CAD program...
panelization is *much more* than just copy and pasting the same board
over and over (otherwise you'll just need the step and repeat gerber
command:D). You need to add various kind of coupons (depending on the
features required), global fiducials, tooling holes, milling/scoring
routes and so on. Never seen an OSS tool with all the needed features...
There is a whole CAM industry out there (I used gerbtool, CAM350 and our
fabricator uses genesys2000, for example) and they have *a lot* of
functions needed beside panelization...

If I wanted to do such kind of tool I would do a separate executable:
a mix of gerbv and pcbnew; the gerbv part for importing the gerbers, and
some functions of pcbnew for tooling and so on.

Alternatively we could add a new kind of object in pcbnew (a
GerberInstance, for example) that would 'stamp' the plots on the current
board with translation, rotation and flipping (yes, flipping is
important! it's used both for better use space with asymmetric board and
in some workflow with components on both sides).

The use case would be like this:
1) Open pcbnew, new board, draw the *panel* edge on the edge layer;
2) Put tooling holes, global fiducials and so on (these could be also
   kept on a 'template' panel board)
3) Define a GerberInstance from the board files (import layers, drill,
   pick and place and maybe IPC356 stuff)
4) Place this instance as required (array, interlocking patterns, or
5) Repeat step 3 and 4 as needed if you want to do a multiboard panel; 
   it happens more often than you would think (for example: main pcb,
   control panel pcb and maybe a separate power supply)
6) Add coupons, texts and stuff: drawing them, appending them or as
7) Plot panel gerbers and drills 
8) Emit IPC356A file containing panelization info (OK, actually
   I haven't finished yet the single board 356 exporter, but the format
   requires subimage separation).
Without step 8 you'll have some serious testing issue, but if you're
using a fat board (i.e. clearances and tracks >0.2mm) maybe you could
avoid testing altogether.

The only thing missing would be fixing the board borders for scoring,
rat bites or whichever separation method you'll want to use... sadly
this would require a full NC editor. However most probably the
fabricator would help with that, since he need to convert anyway the
borders to mill cord.

Lorenzo Marcantonio
Logos Srl

Follow ups