Deleting components

Hello all,

When editing an existing board I can add components to the schematic, then update the PCB from the schematic. No problem, the new components are stuck to the screen waiting to be placed and connected.

When deleting components however I have an issue. I remove the components from the schematic, update the PCB, and it’s up to me to figure out what parts were removed along with their associated etch. I pick through the artwork and make it work, but can’t but feel I’m just missing a step in the process.

I’m using one of the later V5.x editions.

Thanks!

When you: Schematic Editor / Tools / Update PCB from Schematic F8 there is an option to: Delete Footprints with no symbols (At least in KiCad V6, but I’m reasonably sure it already was in KiCad V5). This does not delete locked footprints though.

A workaround is to have both the schematic and PCB editors open, then select a schematic symbol (the the PCB editor pans to the corresponding footprint) and you can delete the footprint first and then the schematic symbol.


Can someone test / verify this please:
As a test I deleted a schematic symbol, updated the PCB (without deleting the footprint) and then ran DRC (In KiCad V6). To my surprise the footprint (which was still connected with tracks) did not generate a DRC violation.

1 Like

Thanks Paul,

I didn’t think about your workaround, I’ll use it tomorrow and until something better comes along. :wink:

Didn’t tried.
But as you update PCB without deleting the footprint then footprint stayed at PCB with probably the previous nets assigned to its pins. DRC works with data present in PCB file and not looks into schematic so for DRC everything can be correct, I think.

How about this:

1 Like

It does sort of work partially for me. (In V6.0.6)
(I just re-tested it in another project).

I’ve got a simple test project. 8 resistors connected to each other, DRC is OK.

Then I delete R2 and R4 from the schematic:
image

… and do an [F8] a.k.a. “Update PCB from Schematic”, and I deliberately do not remove the footprints, but leave them on the PCB:

image

Then, running DRC does flag the extra footprints in the Schematic Parity tab:

The thing I’m missing though, is that the resistors are still part of the netlist.

My expectation was that if a schematic symbol is removed, and then the PCB updated, the netlists of the schematic and PCB will be in sync again, which means that R2 is not part of any net, and thus the tracks connected to it’s pads should be flagged as DRC violations. I think the Schematic Parity check is of by default, and this can make it even more elusive to catch.

2022-07-16_asdf_BogusInteraction.zip (17.6 KB)

eelik, How exactly did you find that dialog box?

I’m not eelik, but it’s from: PCB Editor / File / Board Setup / Design Rules / Violation Severity.

2 Likes

This is interesting. There’s certainly valid logic behind this: KiCad doesn’t make changes without the user wanting it. When a footprint is kept with an explicit option, KiCad retains the nets, too, because the user didn’t ask them to be removed from the footprint. It’s also possible to add nets manually in the PCB editor to an extra footprint and KiCad doesn’t know while running the DRC where the nets came from when there’s no symbol for the footprint.

But the possibility for symbolless footprint is mostly used and meant for netless footprints, I think, like mounting holes. I don’t see a real pressing need for having symbolless footprints attached to nets, and maybe using them this way is a rare case which didn’t even occur to developer’s mind.

Yet this may happen even by accident, and it would be good to inform the user. Maybe there could be another schematic parity check, “Extra footprint, attached to net(s)”, which would be Error by default (“Extra footprint” is Warning in my setup and I don’t remember changing it).

What is a use case for extra footprint with nets? Maybe adding an alternative footprint for some component to have possibility to change the component package when the board is already manufactured. Even then adding it to the schematic as DNP would be clearer.

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