On 22/11/19 23:14, Andy Peters wrote:

On Nov 22, 2019, at 2:30 PM, Dino Ghilardi <[email protected]> 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     : [email protected]
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to