On 14.07.2014 19:59, Dick Hollenbeck wrote:
Specifically in this case, the question should have been asked:
"does the BOARD need to know about the NETLIST, or does the NETLIST need to
know about the
BOARD?'
Dick,
IMHO neither needs to know about the existence of the other.
NETLIST can be extracted from the board by a separate entity (say,
BOARD_NETLISTER). Same for the schematic netlist.
BOARD can be updated by looking at the differences between NETLISTs made
by these two entities. Same for the schematic - the differences just
trigger different actions. Change of a footprint in SCH->PCB direction
would trigger a reload of the footprint and replacing corresponding
primitives in the BOARD. In reverse direction, it would merely change
the FPID attribute of the schematic part.
IMHO it's just a matter of refactoring the BOARD::ReloadNetlist into
smaller chunks (each of them responding for a particular change, with
the knowledge of how to update the underlying model) and writing a much
simpler (just doing pin/part swaps + footprint backannotation) class for
eeschema.
No files involved, just as you said.
Cheers,
Tom
_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kicad-developers
More help : https://help.launchpad.net/ListHelp