I had made my own PCB layout with KiCAD.
During work, I had updated the footprint library many times.
I updated the footprint in the layout everytime I updated the footprint library.
But, before send the gerber file to the factory,
I’d like to check if all layout footprints are same as the one in the latest library.
Thanks for your comment.
When importing the netlist, there is “exchange footprint” option.
But, it looks like that it only applies when the footprint name is changed.
Not in version 5 (You should really start to add a disclaimer that you are on version 4 and that version 5 might differ.)
The update footprint from library part has been split from the change footprint tool into a separate tool called “update footprint” (in the right click context menu) Under the tools menu it is called “update footprints from library” (in both current nightly and v5.0.2)
The change footprint tool is intended for a different purpose to the update footprint tool. It is intended to be used to change the footprint to a different one directly from within pcb_new instead of going through the schematic. (I would advice against using this tool for anything that is connected to the schematic.)
Yea but that only makes sense if you do not have any bom information in your schematic (It only touches the footprint definition)
And you are still on the cvpcb workflow where you assign footprints at the very end instead of having them predefined in the library. (Would mean you can not even use most of the official symbols as we switched over to fully specified quite some time ago.)
How any of these tools help “verify” all footprint in the board match library other than try to change the board to the new footprint? This is rather dangerous a lot of time with all most finished board.
That’s a good question. The update feature of KiCad updates everything blindly. It doesn’t tell whether anything was changed. It think the only feasible and easy-ish solution is to save the project to a VCS, update the board and do a diff between the previous and new versions. Until someone writes a python script.