From @ubruhin on Sun Nov 04 2018 10:33:11 GMT+0000 (UTC)
> Are you panning to keep the automatic synchronisation between the schematic and the board?
Generally, yes. IMO automatic synchronization makes designing PCBs much easier. Especially for hobbyists I think the manual synchronization can be very cumbersome. I even had several issues with the forward annotation in Altium. So I think both concepts have their advantages and disadvantages, and at this time I’d like to go with automatic synchronization.
I know that major PCB design tools are not using such a way because of several issues. Especially in Eagle which I used sometimes previously, the board and schematic lost consistency and forward and backannotation got lost.
That’s an issue of how it’s implemented in Eagle. In LibrePCB this issue doesn’t exist, it’s not possible to loose the consistency.
In fact if you are planning to implement hierarchical sheets of if one is willing to performs copy and paste of components or entire schematics, such automatic synchronisation may cause frustration to the user.
I agree that this will be a tricky thing. But I think some issues can be avoided with a smart implementation. For example cut/paste in schematics could be implemented in a way which doesn’t change anything on the board, as long as the netlist after pasting is identical as before.
It also does not make the schematic transparent from the PCB.
Why does it have to be transparent? In the end, both should represent exactly the same netlist. With automatic synchronization, the netlist is guaranteed to be always the same. With manual forward/backward annotation, schematic and board can be out of sync, representing different netlists.
Will advanced features, like SPICE netlists than update automatically?
Of course that’s the plan
Create a standalone console application / script which syncs the board and the schematic or a 3D view. This could be done also automatically within your application but may also allow to load KICAD/ALTIUM/EAGLE/etc. netwlist into your pcb - or create netlists to sync with the schematics.
Do you think it is possible to implement such tool independently for the main LibrePCB source code (as a submodule)
This would completely break the fundamental concept of automatic synchronization. You can also create importers for KiCad/Altium/Eagle without removing automatic synchronization. Theoretically you could also import a netlist and a board, but without schematics, if you want a board-only project. LibrePCB stores the netlist independent of schematics and boards: https://github.com/LibrePCB/LibrePCB/blob/master/dev/diagrams/svg/circuit_overview.svg