← Back to team overview

kicad-developers team mailing list archive

Re: Back annotate references from PCB


Hi Dino,
I would say "back annotation" and "geographical annotation" are just
different things. We with Brian plan to implement both of them.
Basically when you want to get references from board and apply them to
corresponding schematic, that back annotation. If you re-annotate
footprints in PCB according it's position that's geographical
annotation. I think we will do geographical annotation, which will
call back annotation straight away.
Sometimes there's a reason to have back-annotation without
geographical annotation: once I was asked by our designer "to rename
that, that and that one connector", for it would correspond his wires
numbers and documentation. Of course you can still do it manually, but
if back annotation will be implemented, why not to let user call it

On Sat, 23 Nov 2019 at 01:33, Dino Ghilardi <dino.ghilardi@xxxxxxxx> wrote:
> On 22/11/19 23:14, Andy Peters wrote:
> >
> >> On Nov 22, 2019, at 2:30 PM, Dino Ghilardi <dino.ghilardi@xxxxxxxx> wrote:
> >>
> >> Just my two cents on this.
> >>
> >> Considering that the actual "manual work-around" to do the "back annotation" now can be:
> >>
> >> -Open pcbnew and eeschema at the same time
> >> -Select the component you want to rename on pcbnew
> >> -the right symbol gets highlighted (but not selected) automatically in eeschema
> >> -select the highlighted component in eeschema, press "U" shortcut (edit reference)
> >> -change the reference in the dialog
> >> -press F8 to update the pcb
> >>
> >> A possible approach is to use this sequence of operations (...future python script?).
> >>
> >> Since the mechanism to find the correct symbol on eeschema seems yet implemented, probably the only missing parts would be to implement is
> >>
> >> Enable from pcbnew the command "select the highlighted component and/or open the "edit reference" dialog.
> >>
> >> Drawbacks:
> >> -Requires eeschema and pcbnew open at the same time (may be this is not a  a problem since we also have DRC that opens eeschema when run).
> >> -Requires to check that schematic and layout are synchronized before starting the back-annotation (probably needed also for all the other implementations).
> >> -For bigger schematics the full-update via F8 can become slow, so as a future improvement, after a first working implementation could be a way to update only the modified field.
> >
> > I have done manual back-annotation because automated back-annotation (what Brian Piccioni is doing) didn’t exist.
> >
> > I’m in the habit of doing “geographical re-annotation” after a layout has completed. This is where the layout is scanned and, say, the resistor most near the upper left is numbered R1, the resistor to its right is then R2, and so on. This is purely an aid for the human assembler and the human debugging the design. It’s not really interesting for automated assembly.
> >
> > You can do this manually, on a small design, using the approach you suggest, but for anything complex (my last board was 165 mm x 125 mm with about 150 capacitors, a hundred resistors, and a bunch of ICs) it’s impossible.
> >
> > So it really needs to be automated. The options, as I see them, are few and simple: origin, direction (increasing in X or increasing in Y) and an option to not re-annotate a part (maybe don’t change the reference designators for connectors). The logic of the sorting is straightforward, but it’s a task best left to the machines.
> >
> > -a
> --------------------------------------------------------------------------------------------------
> I agree,
>     my comment was more "low level": to automate the high level
> "origin-direction-etc... the first step would be having the lower part
> "up-and-running", then build the fully automated part on that.
> P.S.: I like the term "geographical annotation" more than "back
> annotation" for this feature.
> Another possible approach I can think about is adding "board
> geographical (re)annotation in eeschema "annotate schematic" tool: if
> eeschema can "ask" the position to pcbnew it also can re-annotate the
> components according to position.
> Since pcbnew does not move components if only the reference changes in
> eeschema, this could be also a solution.
> Drawback: probably this approach is less intuitive to the user that
> expects to be able to change references in pcbnew.
> Cheers,
> Dino.
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp

Follow ups