Move to sheets and retain annotations

This has probably been asked before but I’m not finding it with search. I want to rearrange my schematic components between sheets but cut and paste throws away the annotations. Since there are already matching footprints on the PCB, I don’t want to lose that work. is there any way to do this?

Your post is difficult for me to understand.

This seems to go against the recommend best practice, of KiCad, with using Hierarchical sheets in Eeschema for schematic design.

And, without KiCad Version Information and OS information, there are even more unknowns.

Sorry, it’s version 5.1.2 running on Debian Linux.

As for going against recommended practice, I don’t understand. How is it against practice to want to move parts of a schematic from one sheet to another? One sheet got too large, too much stuff on it, and I want to move some of it to a new sheet.

KiCad does not currently support multiple sheets on the Top Hierarchical Level; any other sheet is going to be at at some lower Hierarchical level.

I’m going to edit my first reply to be a little more clear ( i hope).

Multiple top-level sheets? No, I’m not trying to do anything like that. I just want to move a portion of my schematic from one sheet to another.

Sadly KiCads copy paste feature is a bit limited in this regard. It would be nice if there would be an option for pasting with existing annotation, annotation reset or new annotation run. (Similar to how word processors ask about formatting when copying text.)
I made a request for that:


This was also the case since the very early versions of KiCad.
With time, I started to think that it may be difficult for the developers to add an option that keeps the annotations as they were when pasting a saved schematic part.
Since I usually do saving/pasting (among projects of the same field), I have used to re-annotate the pasted parts manually.

Your bug report on launchpad got me looking around over there and I came across this:

That suggests that there exists some mechanism other than cut/paste to move things between sheets. Anyone know what that is?

The blueprint is from 2017.
2017 was before kicad v5 came out. So the “special” function referenced in its description is the old hacky way of doing copy paste in version 4 (one needed to block select, right click -> save block and then use the paste icon in the top toolbar to paste the previously “saved” block. This has been moved to a normal copy paste workflow with version 5. The suggestion how to handle refdes is actually quite similar to what i suggest in the bugreport.)

Oh well, I was hoping there was some way to do this. It occurred to me that a right click -> move block to sheet operation might do the job too and maybe I was being dense and not seeing it.

There are 2 ways of updating the pcb from the schematic related to referenced components:
-by reference: new referenced components will lose their matching footprint.
-by timestamp: the component-footprint association is kept even though a new annotation is made.

The timestamp match method is now called “keep existing symbol to footprint annotation”.
It should also work with components moved from one hierarchical sheet to another.
Make a backup copy of your work before trying.

Does only help if the exact same schematic (or part of the schematic) is reannotated but not if you copy something from one place to another. (The copy gets not only its reference reset but of course a new identifier. I suspect the same happens on cut as i assume that this is implemented in the paste functionality.)

Yeah, tried this (on a backup copy) and it doesn’t work. The annotations are lost and all those parts get moved on the PCB. I’m surprised this issue doesn’t come up more often. When I’m working on a project, I’m constantly moving things around on the schematic. If I have multiple sheets, then that means moving things between sheets. How are they doing that without losing all the work they put in on the circuit board? Unless no-one is using multiple sheets because of this problem.

Yes, the annotation is lost. That’s why I suggested the timestamp matching mode. Anyway, Rene says it doesn’t work either.

I use a lot multiple sheets, specially for repetitive subcircuits. Usually I (almost) finish the schematic before starting the layout. I separate the subcircuits by functional blocks, then little changes are requiered, and they are made into the hierarchical sheet most of the times.

I have added myself
"This bug affects me."

Probably not often a part of the schematic is moved through hierarchy during the pcb refactoring, but I agree this should be addressed because it could mess the pcb heavily and it is a reasonable & useful request…

1 Like

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