Hierarchical sheets tracing

If i had hierarchical schematic diagram, it has, for example 50 sheets of same diagram.
So, when i had edit symbol in any sheet, the according symbols in other 49 sheets are same updated.

After that, i had created PCB from it, and all 50 sheets symbols are collected into 50 groups on PCB sheet. But they are didn’t syncronised while editing.

But they aren’t separated and when i have edit or trace any group, the other groups didn’t changed.

the question is, how to keep the dividing on the sheets by the different flats? so that editing footprints connection in one flat will repeated in the other flats?
(it seems, that i had meet something like this in PCad or Altium, but not sure, i’m not so experienced)

Does i missed something in PCB manual or this feature is just didn’t created yet?

(i had used 5.99 version now)

You have to use the Replicate Layout plugin. This kind of “rooms” feature will probably be part of v7 in the future, but not now.


You have to choose the 5.99 branch from there, the master branch is for v5.1.

1 Like

at the description to this plagin there are warning

With 5.99 versions from Apr 7, 2020 the plugins might not work, as the schematics format changed and some plugins parse, or even change the schematic file.

So, now is the version of 5.99 is more incompatible after 1.5 year of

Replicate layout plugin is the only one of the plugins that work with newest 5.99 releases.

Other plugins have not been tested and the ones relying on parsing (or even editing) schematics files will certainly not work. As I am witing for V6 python API to be publishe, and the API is promised to cover also schematics it makes no sense to port them to 5.99 as they are.

So the plugins certainly not working in 5.99 are: Place footprints, Archive project, Swap pins, Swap units, Save restore layout.


after i had uploaded plugin replicate layout, it becomes a strange things.

  1. switch become after annotation received number #S001, #S002.
    WHILE BEFORE it was S1,S2

  2. after few times, the switches was not appeared in PCB when i make PCB update from schematic.

so, i had removed the replication layout from plugin folder from and nothing happened - the switches didn’t appeared in PCB at all.

  1. i had tried the previous version of my project, but with the same result - switches never appeared in pcb, and in schematic annotation was the same big numbers

Please be aware that significant edits to the post might confuse the readers.

As for the annotation issues. The plugin has no effect on these, as the plugin does not modify the schematics, and modifies the layout only and only when it is run. It does not modify anything when it is just installed.

As for your issues, it would help if you would copy the message produced by KiCad when annotating and/or updating the PCB from schematics.

1 Like

The hash “#” in front of the RefDes (a.k.a “Reference” in KiCad) means that the part will not be on the PCB. (And I think it is also removed from the BOM). So those not showing up (or even being removed during Eeschema / Tools / Update PCB from Schematic [F8] with Options / Delete extra footprints is expected KiCad behavior.

But how the change happened, and the exra zero’s got inserted I don’t know.
There are options to use 3 or 4 digit numbers during Eeschema / Tools / Annotate Schematic:

… but that uses real numbers, not just leading zero’s.

1 Like

because this was happened after i had downlad plugin, so i was afraid that it was influent to all the program and this artefacts.

but this now i had reinstalled to the version 599-12218, and the switches becomes S1, S2 and can find it in PCB after make PCB update.

then i had new time uploaded the plugin, and same nothing happened, and the switches are annotated as usually and it can be found in PCB same, as before.

so the program behavior becomes normal, i had tried to applicate the plugin

and when i select plugin to choose sheets to replicate, it gives the error messageplugin error

it says that list index is out of range, but i had used just sample of hierarchical project and didn’t changed in it nothing, so may be i make something wrong, but a had tried to strictly following by the manual published in repo, but may be missed something else.

i think that was the bug, because it was with this switches only - all other symbols was properly annotated and i used annotation by the default settings. I suppose that it was by the reason, that this switches in standard library was improperly created, so the program doesn’t was able to processed this items.

Yeah, you’ve installed the version of plugin compatible with 5.1.x version of KiCad. This version is in the “master” branch on github. You need 5.99 compatible version which is under “5.99_test” branch on GitHub


never mind. I had installed the properly version from github.

as i read here, it was in branch 5.99.
but now i will download it once more by your link and check
yes, you are right, i had Kicad_action_plugins-master downloaded last time, not …test.

the new experience is that i get another error message, that schematic file doesn’t exist. While it edited in this project.

and after i had rebooted plugin was started. I traced 2 wires in 1st chips, and try to replicate this, so i highlited VD54 and press to plugin, and there wasn’t other sheets choise, so i cant to prompt to which sheets need to replicate.

may be i had missed something else now once more?

suggest, please.

The plugin works only on a KiCad project. This means that you have to have layout file and schematics file and both of them have to have the same name.

You need to select the source hierarchy level. Then you’l be able to choose which destination sheets you want the layout to replicate to.

1 Like

thanks, it almost works! after i prompted tracks and text, the other chips replicated layout and text, but not replicated tracks.

what else i can missed now?

(and i had tried put marks on all points, but the same result)

after that, i had moved CP4 R3 and the appropriate footprints in other chips moved synchronized.

But tracks doesn’t not replicated yet.

by the way, are there difference, which sheet was edited and tracked first - the first original hierarchic sheet or 15th hierarchic sheet?

may be i need 2 find the really first created sheet, and the tracks don’t copy because of this sheet not the original?


There is a bug in 5.99 which prevents the track to show in the canvas after the plugin has been run. You’ll have to close the pcbnew and open it again for tracks to show up

for replicating tracks it need to remove all points, except replicate tracks, and take in mind, that must not move any chips after pcb was updated, the tracks are replicated to the original places, where chips was.
So the chips with K19 was moved left toward the original chips, while the replicated tracks for him was in it’s original place - right side of the connector and MCU footprints.

they replicated symbols layout in the other chips, but the tracks are slightly distorted and shifted,

so that their editing may be will took longer time, than to draw routes from fresh. but i saw the tutorial where tracks was placed precisely. Just they showed how the 5.11 works with this plugin.

I’m not exactly sure what I’m looking at in your latest screenshot, but I do see R20 in the top left corner, with a long ratsnest line going to a single track segment on the right half of the screenshot.

Also, in the upper left corner I see CP16, CP17, VD12, VD13. “R20” don’t fit in that row, are you sure it’s the right resistor?

Did you use the **First free after sheet number x100" method during annotation? I assume it does not matter much for the script, but it makes it easier for mere humans.


It may also help to experiment with simpler examples until you’ve got a bit more experience with the Replicate Layout plugin. For example, make a copy of this project, and then delete most of the sheets in that copy and work with just a handful of pages to be replicated.

don’t worry about resistor number, please. It has been layed in properly layout.
i concerned on chips replication track and layout now, not annotation.
better can you suggest me, why tracks replicated not so clear, and what me to do?

(if u r interesting - the lines goes from R… to the right, just want to connect with gND, so when it will be routed gnd bus over all the board, this line will be removed.)

I can not add much.
I can see that some circuit has been replicated, and that the Replicate layout plugin does “something”. But from a static screenshot there is no telling whether you’ve bumped into a bug, or are using the script in the wrong way.

Maybe it helps a bit if you post a screenshot of the schematic part to be replicated. That gives us a better Idea of what sort of circuit it is.

I only used the Replicate Layout plugin once, and it was just for some experiments and to see what it was and how it worked. It worked fine for me, but that was some time ago. Maybe KiCad V5.1.5. Last time I tried to run the plugin, it was gone, and I did not investigate whether it was some directory issue, or whether I may have uninstalled the script. For those kind of things I’m patiently waiting for the plugin manager in KiCad-nightly V5.99. Just let KiCad handle it with a few mouse clicks from me.

When I used the Replicate Layout plugin, I followed the instructions from the PDF that Dave Thomas made:

1 Like