Reusing layout -- any progress in v6?

So, I’m having today one of those rare “I hate KiCAD” moments. (please don’t be mad at me: if any of you are paying attention / keeping track of my posts, you’d know that I come here to shout about my “I love KiCAD moments” at least three or four times more frequently than “I hate KiCAD moments” … :‒) )

Very frustrating, how useless the workaround for reusing layouts is (the “Append Board” in standalone mode); and that opening file with a text editor, copy-n-pasting and manually fixing everything (to avoid pcbnew closing due to invalid file because of some non-existing net number or things like that) may well be the easier workaround.

Unless I’m missing something or I’m doing something wrong?

I mean, just from the start, just using the standalone mode of pcbnew is a bit of a nightmare… It creates its own project (I have not dared open a PCB file with pcbnew-standalone in the same project’s directory!), etc. Then, have to manually adjust the refdesignators of everything and keep in mind that next time we Update layout from schematics, make sure we indicate “reassociate footprints by refdes” (instead of the default, by timestamp / “internal ID”).

But then, it just massacers the layout. If the layers stackup is different, the maneuver ends up changing layers in the board where I’m appending the other one (I believe it changes things from one layer to another, at least under certain conditions?).

Ok, so, let’s stick to “just reuse very simple blocks” — just top and bottom layers … Ok, yea, seems to work… NOPE!!! Surprise: it just erased the netclass settings (it erased all of the net classes — presumably, it overwrites the set of net classes with the one from the board being appended).

Quite frustrating. (again: am I doing something wrong?)

In the v5.99 that I downloaded maybe a week or two ago, I see that the normal pcbnew does not have the Append Board, and the standalone version does. Not sure whether there have been any changes / fixes. But yea, definitely looks like an area in dire need of substantial improvements.

The best solution to this would probably be something called a “design block”. This is a schematic section and PCB layout section that are linked together, for example an SMPS module with a carefully designed PCB layout. Unfortunately this is not implemented yet.

KiCad creating project files around itself is also a (minor) annoyance for me. Sometimes I open a completely non-related file with KiCad because file associations are set up wrong, which also results in such project files being created. It’s a bit of a help that the PCB files are pretty much independent on their self. You can mail a .kicad_pcb to someone, and they can view and edit it. So as a workaround you can (temporarily) copy such a pcb to an empty directory and then do whatever you want with it.

There is no need anymore for the “Append Board” and for “Standalone” mode. Standard Copy and Paste has improved, and you can open two KiCad projects and then use normal Copy & Paste in the other project.

For Eeschema, there is a Special Paste which preserves the RefDes during copy so you do not have to redo the association (as long as there are no conflicts).

You may also want to read:

[Edit] At some time n the paste full support of copy & paste between KiCad V5 projects has also been implemented. I just tried it and it works.

1 Like

Take a look at Save/Restore action plugin. It currently supports 5.1.x but I plan to port it to V6.

HAAAAAAAAHAHAHAHAHA…!!! The irony!!! :laughing:

This is soooo cool!!! When did that happen?? !!! (I know, you said it: at some point between the initial v5 and now, they did implement it!)

Very cool: I copy in one project; close pcbnew, open a new project, go to pcbnew, and there, I still can paste!!! All the nets get erased (good), and the refdes’es aren’t (I guess this is the only reasonable option). Also, it only works while KiCAD (the “main” application / project browser) is open; if I entirely close KiCAD, the “clipboard” contents disappear. I suppose this is not a big issue, and otherwise I assume this is a trouble-free maneuver? (i.e., it won’t mess with the layers stackup or netclass setup of the target PCB where one pastes?)

Thanks @paulvdh for figuring this out and letting us know! (thanks also for the other bits of info/comments and the link to the KC6 (p)review)

The clipboard is used with normal text objects, and in V6 it uses the S-expression syntax.

I have not tried this, but it may be possible to copy in Eeschema (or PcbEditor (Pcbnew has been renamed for V5.99)) then paste in a text editor, modify it a bit, and copy & Paste it in the other direction.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.