Why? To verify a load of students’ designs, by first asking for a peer-to-peer review and then by me, in a consistent manner in minutes, and instead of reading the schematics which is impractical. I am NOT taking about the PCB layout.
Sure, I can generate a netlist. However, this is cumbersome to use for verification purposes especially for the untrained eye. Have I missed a way to to what I want?
If a class of students is creating the same project, the netlists may be the same, but Refdes and ordering of lines in the netlist is probably different (If they are all the same, it raises suspicions of copy / paste).
Once netlists are exported, you can write some program to do “smart” comparisons, and I guess a lot of this can be automated.
I guess “Graph Theory” can help here. You can simplfy it a bit by making preconditions on certain resistor values, or use pin names of IC’s etc.
Quite a lot of magic can be done with software, but you’d have to write it first. Also, automated tools for checking students work seems to pop up every now and then. It makes me wonder if some sort of collaboration between the teachers can be orchestrated here.
The project is their first using KiCad. So it is a fixed design, at least when it comes to the schematic.
The annotation is not a problem. I start with “please” and end with “waterboarding”, to make them annotate in the same way. Thus a sorted list should be identical between students and/or a reference design.
A “teachers tool” sounds interesting. It could then map the differences against a reference design.
Python ‘File Comparison’ examples and file Walking code/tutorials are plentyful on the Internet…
Here’s a simple example that compares Two Kicad files; Same Circuit but, I tweaked some Label’s on one of the Schematics for comparison. With two Label changes, many disconnected items now and all show up in the “Difference’s” output…
Walking through a Directory is very easy to do; put your Files into a Directory and use Python’s file ‘Walk’ with your added Comparison code to compare each File (in the DIR and sub-DIR’s) to a Baseline file…
Brief Example shows Comparison then, not related to comparison but, just Walking (through my Desktop to list everything)… I guess it’s time to clean my Desktop!