How can I separate drawing PCB and printing process? [Layout Arrays]


After drawing a pbc layout and satisfying the result, I often copy and paste the drawing. But when I need an update in the pcb, I have to delete all copies, change what is needed and re-copy-and-paste.

Is there any way to automate this?

Note: “Append board” is not useful here, because it doesn’t refresh as the original drawing is changed.

With ‘drawing’ you’re referring to a finished layout?

And with ‘need an update in the pcb, I have to delete all copies, change what is needed and re-copy-and-paste’ you’re talking about copies of a layout in pcbnew for a little panel?

Yes, I meant the finished layout.

I’m not sure if I correctly understand what you asked. When I finished the layout and ready to manufacture the PCB, I select whole pcb layout, duplicate it, and place it right next to previous one. So, as we use toner transfer technique, we can print more than one layout per paper, which saves paper and time.

So If I can draw a layout, select it, right click and “make it a component”, then copy and paste that component. If I need a change, I would then change one of them and rest will update itself. This is how I see SketchUp handles this behaviour.

Would you mind watching only 3 minutes of this video, from 2:45 to 5:10:

I’m aware of ‘array’ functions in CAD programs… KiCAD doesn’t have this for complete, finished layouts.
KiCAD is for making 1 pcb from 1 schematic.

KiCAD allows you to attach finished layouts from other projects, but I don’t think that those copied layouts adjust to changes in the original files where the copies came from - have not tried that feature yet…
The copy block function won’t update the copies either, as you already found out.

PS: usually the fab houses will be able to create a panel for you from the gerbers at no extra cost. Did you try that yet? I remember this being an option with pcbpool in Europe for example.

I just searched the net to get what is “panelizing”, I found this page: Is it what you meant? If so, panelizing is what I exactly need, but not in this form. This form needs to get the coordinates manually and this is very open to a human error.

Okay, I understand, KiCad won’t do that either.