So, as per my latest EMC video I have a 4 layer board with planes in the inner two layer. How do I swap these to the outer layers?
I can’t see a way to change the stackup layers.
I can’t even see an easy way to manually copy and paste all the traces from one layer to another. Highlighting gets all the pads and vias etc, I just want the copper traces in order to copy/paste them to another layer.
What am I missing?
Thanks.
At least in the nightlies there are a couple of other ways to select and move traces without footprints.
Use the High contrast display mode from the left side toolbar before selecting to limit the selection to one layer.
Option 1: select everything. Context menu -> Select -> Filter Selection. Select only tracks.
Option 2: use the right side Layers Manager -> Items -> unselect footprints etc. what you don’t want to see or select.
When only tracks are selected, open the context menu -> Properties. There you can change the layer of all the selected tracks. Unfortunately the same doesn’t work for zones, you have to change them one by one.
If you want to move planes only you have to select and edit each individual plane’s properties (they are just copper zones in KiCad). In the zone properties window you can simply change it’s layer. (Trivial if you only have two planes. Tedious if you have multiple isolated zones.) See this screen shot of the zone settings editor:
I have a week old nightly installed, but I think the 5.0.2 release should look similar.
See eelik’s answer if you want to move traces. I’ve used his option 1 to good effect before. Note, you may need to temporarily bump up the layer count to give you another copper layer to move the first set of traces to. Think of the temporarily added layer(s) as another peg in the tower of hanoi game. (I linked to the wiki page for you just in case the game isn’t as well known Down Under.) Once done, reduce the layer count back to what you want.
BTW, as a teaser for the upcoming feature for 6.0, the “object inspector” might also be able to do it. See the donation campaign video https://www.youtube.com/watch?v=uhcMGQ32Xw0 from 0:37 onwards. It’s only a couple of seconds but if you slow the video down to 0.25 x speed you can see how it would work. I expect it would work with traces and zones at the same time, or at least with all zones at the same time.
Because the feature has already been coded I expect it to appear soon after 5.1 release when 6.0 developement starts in git master. I’m waiting eagerly for it, the object inspector can be a swiss army knife for many things.
In the meantime I have been experimenting a bit.
I first renamed the layer F.Cu to “CuFroLoBo” with:
Pcbnew / Setup / Layers Setup
Then I closed PcbNew, opened the xxx.kicad_pcb file in a text editor and looked for “CuFroLoBo”.
In the board I opened this string has 419 occurences.
I exchanged the layer order in the top of the file (which is why CuFroLoBo is on an inner layer in the screenschot above) but this has unwanted side effects for (SMD) pads and all footprints should only be on the outer 2 layers. This is a too short a shortcut.
It seems very doable though to change only layer of what you want to change this way.
Also: This particular board started as a 2 layer board, and (I assume) not much effort has (yet) been put into the zones. They might be easily deleted and re-created.
A better question may be: “How do you move all the tracks from the outer layers to the inner layers”.
The segments of a KiCad PCB look like this in the xxx.Kicad_pcb file:
Zones seem to have a single reference to the layer on which they reside.
I cant seem to paste some decent pre-formatted text, but they are easy to spot in the .kicad_pcb file.
(zone (net 8) (net_name GND) (layer CuFroLoBo) (tstamp 0) (hatch edge 0.508)
After a bit of experimenting I found a way to change multiple tracks from multiple nets and layers to a new layer. And it’s pretty trivial once you know how.
1). Make some extra layers: Pcbnew / Setup / Layer Setup / Copper Layers (Set to 10 or so).
2). Hide all non relevant layers in the Layer Manager (Window on the Right) to reduce clutter.
3). Drag a big window and select everything you want to move to another layer.
4). [RMB] / Select / Filter selection. Turn of “Zones”
5). [RMB] / Properties / Layer (or press "e"dit)
You can now move all selected traces and vias to one of the layers by selecting it from the drop down menu:
Notes:
This "e"dit function is not available if a zone is part of the selection.
In the “Layer Manager” / Items tab you can make more stuff invisible so it does not get selected.
[RMB] = Right Mouse Button for popup menu selection.
Traces + Vias can be edited in bulk, but Zones only seem to be editable one at a time.
This brings up a menu in which all traces and zones of one or multiple layers can be moved to other layers.
At first I thought the zones were not moved to the new layers, but after pressing “b” to re-generate the zone boundaries the color of the zones also changed to the proper color for the new layer.
This does detach all trace ends from SMD pads because the components stay on the old layer, but this is as I would expect this to work. (Especially when moving an outer layer to an inner layer).
When exchanging Top & Bottom layers, SMD resistors & capacitors can easily be "f"lipped manually to the other side, for SMD IC’s the traces are not re-usable anyway.
With the layer swap function any copper layer can be moved to any other copper layer, or layers can be swapped by moving Top to bottom and Bottom to Top simultaneously. Non-copper layers can also be moved to other non-copper layers.
The “Move and Swap Layers…” dialog looks like:
No need for a Bummer. It’s (almost) just as trivial in KiCad
Such “advanced” functions are sometimes hard to find, just like for example convenient cleanup functions for removing dangling tracks which can be done with: