Update PCB From Schematic (F8) with "Replace footprints..." is a nightmare

Hello,

In the layout, the command Update PCB From Schematic (F8) is replacing all footprints with those specified in schematic (if option is checked), which is fine (can be unchecked)

image

But why on earth if this option is checked, there is no other option to preserve at least text positions where user was already spent a lot of hours to place them ???

Let’s suppose you have a 1000 components board, with already placed and arranged component texts, most important, designators. If hitting F8 with this option active, boom… you lost your nice artwork :))))

Of course, you can disable “Replace footprints…” , do a F8 update without it and replace all footprints on demand by Tools → Update Footprints by Library but well, this isn’t suppose to work like this.

This F8 command is a super-fast update like it should be, but update footprints from libraries shall be a light-weight version in this case, without updating text field position.

After all, why on earth you will need to update (from libraries) those text field positions?

  1. Most important ones, DESIGNATOR and VALUE are dynamic anyhow, there is no absolute sense to write any text from footprint itself. They will be updated from schematic, for each schematic.
  2. In 99% of cases, the designer will move around text field POSITIONS in actual board, to squeeze them among graphics, there is no sense to reset the position to a “default” library one.

So, any decent workaround on this topic, any plan to fix this functionality?

BTW. User defined fields are not reset to any default position.

I never had problems with Replace footprints with those specified in the schematic. I usually have this on from the beginning, and moved texts positions are remembered during updates. Maybe there is a difference whether the footprint already is the same as specified in the schematic, or whether it actually has to be replaced.

The Re-link footprints to schematic symbols based on their reference designators should normally be off. The normal method of matching schematic symbols with footprints on the PCB is with (invisible to the user) internal UUID’s. Is it possible this is what upsets your workflow?

Hmmm… that’s super weird :))) I just realized now that for most of components (from KiCAD database for example) is working as expected. But for some footprints I designed myself, not!

I just made a small video about this (I am using latest KiCAD 8.0.4 version)

So basically KiCAD thinks that my footprints (from my lib) are not updated somehow.
I restarted KiCAD and the same effect.
I went to schematic, do a update from libs there, no effect.

What can be wrong?

I assume the link between the symbol on the schematic and the footprint on the layout was either never established, perhaps you added them separately, or has been broken.

I’m never 100% certain what is the best course of action to follow in these cases, but you could try ensuring that the relevant symbol/footprint pairs have the same reference, setting them manually if needed, and you can also try propagating the layout back to the schematic . . . .

image