Footprint modification after adding a symbol to the schematic


Once a symbol (from the KiCad library for instance) has been added to a schematic, it seems the only way to modify the footprint is to edit the Symbol (E), and browse the entire footprint library to select another footprint.

Unless I missed something, is there a way to restrict the choice to the footprints already offered with the symbol in the library ?

For example, the symbol DB9_Female_MountingHoles offers 6 different footprints when you choose the symbol (A). How can I choose again among these 6 footprints once the symbol has been added to my schematic ?

Application: Eeschema

Version: (5.99.0-3293-g62433736b), release build

wxWidgets 3.0.5
libcurl/7.71.0 OpenSSL/1.1.1g (Schannel) zlib/1.2.11 brotli/1.0.7 libidn2/2.3.0 libpsl/0.21.0 (+libidn2/2.3.0) libssh2/1.9.0 nghttp2/1.41.0

Platform: Windows 7 (build 7601, Service Pack 1), 32 bit, Little endian, wxMSW

Build Info:
Date: Sep 9 2020 22:11:28
wxWidgets: 3.0.5 (wchar_t,wx containers,compatible with 2.8)
Boost: 1.73.0
OCE: 6.9.1
Curl: 7.71.0
ngspice: 32
Compiler: GCC 10.2.0 with C++ ABI 1014

Build settings:

After adding it to schematic, Right-Click it > Properties> Edit With Library Editor.

That will open the editor with the footprint already selected and ready for editing…

That was not the question.

Cvpcb can filter by the symbol’s footprint filter.

1 Like

Cvpcb can filter by the symbol’s footprint filter.

So, I need to complete my schematic (and have it annotated) to be able to choose a footprint attached to the symbol, right ?

I figure logic suggests when someone say’s ‘doing this…’ doesn’t do what I want and follows with a specific question implying an alternative approach via asking ’is there a way to do it or did I miss something’, then to me, the most logical answer is, yes, ‘you can do it, here is how’

Thus, Here is how to do it (as I posted):
Right-click, Properties, Edit In Library Editor

Regarding specifically filtering in the panel, you can use typical search attributes in the search field at top of panel…

This was the original question:

It can’t be done in the symbol editor. You can change the restriction there, but not restrict the choice when reassigning a footprint to a symbol which is already in the schematic.

It doesn’t have to be complete. Cvpcb requires annotation, but you can annotate what you’ve got, assing the footprint(s), continue the schematic and annotate again later etc.

Thanks @eelik - Anyway, I’ll probably add a wish on the issue tracker to allow such a selection in the Properties and/or the Edit Footprint dialogs, which is (IMHO) less convoluted.

CvPcb requiring annotation could be considered a bug. Why not simply use the UUID (aka: timestamp) in CvPcb too?

A related issue, which I find really missing is a regular expression search in the “Footprint Library Browser”,

There is a nice text filter for adding schematic symbols (which also filters in descriptions)

This same (or very similar) way of filtering is also already implemented in the Footprint Editor.

If this was also implemented into the “Footprint Library Browser”, then changing a single footprint link in Eeschema would be quicker and more intuitive with hovering over a footprint f hotkey for Footprint and [Select].

Also, with:
Eeschema / Tools / Edit Symbol Fields you have a quick spreadsheet like access to all footprints. You can also use Cut & Paste to copy footprints to other symbols, or even to multiple symbols at the same time with either the expected [Shift] and [Control] selections or by using the “Group by” filters.

Maybe because it doesn’t tell anything to a user. It would be very difficult to tell parts apart using the UUID.

Ah, ok valid point, although “C23” does mean less to me then it’s value of “100n” which is likely a decoupling cap, or 100uF for electrolytics.

When selecting a component in CvPcb, the schematic does pan to and highlight that component.

But still. Using the UUID would seem more logical as it’s always available for each symbol and it’s also used for syncing the netlist between Eeschema and Pcbnew.

If a user then would want to use CvPcb without the benefit of the annotation he can do so.