Changing footprint after Altium Import problem (V6.0.1)

Hi all,

A bit of a newbie question here…

I imported my Altium Pcb and the footprints came with it and are embedded in the PCB.

I then created my own footprint resource folder, added a new entry in GLOBAL LIBRARIES where I intend to save all my home grown footprints to. I.E.:
${PROJECT_FOLDER}/_Libraries/Footprints/_IanJ/Switch

So now, I opened my Altium imported Pcb and opened one of the tactile switches on it in the footprint editor. I then SAVE-AS that footprint to my new directory structure per above. I confirmed it saved there (MOD file).

I now want to CHANGE the existing footprint on the Pcb to the new one. I right clicked on the switch on my Pcb and selected CHANGE FOOTPRINT and got the following dialog. However, when I change the two library ID paths by hitting the path button I get the following:

I hit OK then change the path on both library id entries, the footpint selection box pops where I navigate to my new footprint. Already to go I then hit CHANGE

Nothing happens, nothing appears in the Output Messages window and the dialog box just sits there. I have to hit CANCEL.

Any ideas/help?

Ian.

Explore here: Work in progress: Native Altium Importer - #189 by poco (issue at gitlab mainly), also pcbnew: Tools -> "Update Footprints from Library..." acts differently for imported Altium board (#6345) · Issues · KiCad / KiCad Source Code / kicad · GitLab, after playing around you will make it :slight_smile:

1 Like

First, KiCad makes a quite big distinction between global libraries, and project specific libraries.
I do not know why you use global libraries, Using project specific libraries seems more logical in this place.

But in the end it does not matter, a library is a library and it can be changed afterwards if you wish so.


In KiCad, the main reference is the schematic.
The schematic symbols also hold the main references to the footprints that go with the schematic symbols.
This means that the correct way is to:

  1. Create your library and add it to the right library table.
  2. Put footprints in your library.
  3. Update the footprint links in the schematic to instruct it to use the footprints in your custom library.
  4. Eeschema / Tools / Update PCB from Schematic to sync the PCB with the info in the schematic.

In KiCad V6 there is a new function in the PCB Editor.
I think you can change the footprint links in the PCB, and then PCB Editor / Tools / Update Schematic from PCB to push your changes the other way. I have not used this myself yet though.

In any case, just changing the links does not update the footprints themselves.
During the normal route: Schematic Editor / Tools / Update PCB from Schematic there is an option to update existing footprints with their library equivalents.
There is also: PCB Editor / Tools / Update Footprints from Library

It is important to remember that the Schematic symbols are saved in the schematic itself (This is new in KiCad V6) and that footprints are saved in the PCB (That was already present in previous KiCad versions). You can always reload them from the external libraries, but this does require an action from your side of the keyboard. KiCad does not re-load schematic symbols or footprints from the libraries unless you tell it to do so.

Thanks for the feedback…good info for me (Kicad newbie).

In Altium I maintained my own set of symbols n footprint in a couple of library files that were available to any/all projects, so nothing was ever single project specific. I did the same (sort of) with Eagle PCB.
I just want to do the same in KiCad, I don’t want to ever leave a footprint or symbol stuck away in a project that I’d have to go digging for later if I wanted to use again…thats how I understand the terminology of KiCad project specific mind you!

I followed your notes and updated the footprints in the schematic, but when I update PCB from schematic things go wrong. I end up with two footprint for the same part in the PCB…the new one and the old one.

I can see whats gone wrong though, somehow the footprint in the PCB had become un-associated with the footprint in the Schematic, I got such an error about that in the Schematic when I went to replace the Altium footprint there.
I get a pop-up when I try to change it in properties “The current configuration does not include library ‘D’…Use Manage Footprint…”…but I OK that and proceed to reference my new footprint.

No worries, I only had a few Altium boards to import and I’ll just live with these imported PCB’s not having KiCad library footprints. At least I know I can export them from the boards for use later down the line with new designs in KiCad.

Thanks again,

Ian.

Altium probably does not use the UUID method of synching PCB and schematic with each other, or it’s incompatible with KiCad.

I am not sure what status is of the Altium importer at the moment, but it does look like the links between the schematic and the PCB are lost, and because KiCad does not recognize the connection, it thinks the PCB is empty and puts new footprints on the PCB.

If the RefDes in the schematic fits with the RefDes on the PCB this is quite easy to repair.
During Schematic Editor / Tools / Update PCB from Schematic, use these settings:

  • Turn on: Re-link footprints to schematic symbols based on their reference designators
  • Turn off Delete footprints with no symbols (That may loose footprints if KiCad can’t fix the connection)
  • Turn off Replace footprints with those specified in the schematic. I prefer to do only do one step at a time. First fix the connection between schematic and PCB, and later follow up with replacing footprints etc.

I’ll try a freshly imported Altium pcb and schem, this current design i am modifying probably got knackered with all the playing about.

Thanks again,

Ian.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.