Cool, so the Reference designator is the UUID. Now, how can I fix UUIDs that are not synced anymore without losing the parts placement? Can I fix them somehow using the existing References?
Update: I mean, using Kicad, of course. I know that I can make an external script for that. If Kicad does not have such thing I will try to make something but it would be nice if Kicad had this.
No.
The Reference Designators (Or RefDes for short) are as the Wikipedia article states. It’s those letters followed by a number that get filled in during annotation.
You can not see the UUID’s in KiCad’s GUI. They’re pretty much gibberish to humans, but because they are unique, they are nice for computers to identify stuff.
If you want to see the UUID’s, then open one of your schematic files in a text editor.
You do not update them.
You do not touch them.
You just use them implicitly, and the stuff keeps connected. With the re-linking step you explicitly tell KiCad to ignore the UUID’s and use the RefDes for the links.
Well, then why does when I click “relink footprints to schematic symbols based on their reference designators” mess with the placement of the components?
My Schematics and the Layout have the right RefDes!
Indeed @paulvdh. I could not replicate this while taking the screenshots to show you the issue here. I was doing something wrong, then. Sorry for taking your time dude. And thanks again for all the helpful replies.
The fact here is that sometimes all the parts are updated and they all lose their positions in the layout when having the “Re-link symbols…” enabled. But I may have done something that fixed this somehow.
If you have the project in the state where the schematic and PCB were already normally syncronized (internal uuids and visible reference designators were in sync) but then the non-default update option cause this “swapping”, it may be a bug. If you can repeat such situation, please report it.
I have not seen any indictation in this thread that KiCad did anything wrong.
Only thing I see is that Leo is having trouble with coming to grips what the Re-Linking of the RefDes does and means, and he admits so too. From what I can see, all his troubles are from abusing the re-linking option. So unless I see some strong indication otherwise, I’ll just treat it as user error.
Nice, now we are talking about the issue and not just about what we should do or not. Thank god. So, are we not discussing issues here in the forum before filing an issue report anymore? If not, I will just report issues directly next time, it will save me more time.
Of course. We still can’t be sure what the situation actually was before the problem – or can we? – so I don’t say you should report it now, but if you now understand how it should work and why, you are prepared to test again.
It’s quite often a good idea to start here before filing a bug report. Especially when it’s not clear what is going on. From what I can see here, I still believe it’s a user error, and that would make it counterproductive to file a bug report (KiCad developers can’t fix users). And anyway. A good bug report needs a clear description and if possible a test case.
So show me what is going on, and convince me there is actually something wrong with KiCad.
I agree there’s something funky going on with that last issue. In theory KiCad shouldn’t let you update the PCB if a symbol has a blank footprint field. A symbol without a footprint assigned means the design isn’t complete and the resulting PCB won’t have the same number of nets as the schematic. It sounds like you’ve found an edge case where the update process isn’t throwing an error.
In general, to delete a footprint, you should delete the symbol and update the PCB. To change a footprint, you can change the footprint field of a symbol and update the PCB.
For example, power symbols do not have footprints assigned. Schematic symbols can also be used as placeholders for other stuff. Schematic symbols have an Exclude from Board ckeckbox and there are are variants when not all components are placed on the PCB (even though they have footprints on the PCB).
If you turn on Replace footprints with those specified in the schematic during Update PCB from Schematic [F8] then Schematic symbols without assigned footprint links get flagged:
Sure, there are lots of symbols without footprints. I was trying to emphasize that in the relevant case here, where the symbol in question had a footprint assigned and no longer does, there should be an error upon updating the PCB with “Replace footprints” checked. (As you show in the screenshot)
My understanding was that there wasn’t an error being shown, even though leoheck mentions using the 3rd option (“Replace footprints”) in an earlier post. That would seem to be an issue and worth following up on with the project files (or a stripped down version of the project).
In a future version of KiCad, this checkbox will be UNCHECKED by default because of the confusion it causes in instances such as yours and especially with Geographic Reannotation. As you have found, it basically resets your PCB layout. This operation is something that users should RARELY need to do.