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