Footprint editor : multi pad edit - redux!

I searched and reveiwed the 2020 post on this :

Select multiple pads and bulk edit the properties

Spent some time with it, I couldn’t multi select, and then edit and bulk assign say, a radius change of everypad.
Now, as a partial, half way measure- which would be workable , here is a suggestion for others to comment on :
This would be a little easier if say, you could bring up the exported footprint file in an in-place editor that could accept REGEX , and then close the window and it goes away, rather than needed to open it in an separate editor, etc. IE inplace regex of the exported file. It probably would not export- it would be ‘edit in editor’ command . IE do your regex and then close the box or if MDI, look at the result in the footprint editor…
Is this in the to-do list ? Does anyone want to do this for a fee ? How do I approach something like this in the kicad ecosystem ? - thanks. glen.

Were you trying to edit a Kicad footprint? They are “Read only”

Once you place the footprint into a Personal Library; you have this lot with which to play.

HI, no, not that. example If I have 48 QFN pads and I want to change all 48 at once to a different something like say, slightly smaller solder mask expansion. , then the method as described in the https://forum.kicad.info/t/select-multiple-pads-and-bulk-edit-the-properties/21599 using the file works fine. However it could be easier. That is - open an inplace editor with a REGEX functionality so that I can enter the regex, get the desired changes and close and it is done…

Currently, the method is:

Open footprint in footprint editor.
Select one pad and change whatever.
Right click that pad
Select Push Pad properties to other pads.
Done.

Is your method easier and quicker?

3 Likes

Thanks for the post JMK …Oh that’s what push to pad is !
mmm almost. it would be good if I could push to SELECTED PADS. And it would be good to be able to push only a specific property. Like only push top solder mask expansion.

An in-place regex editor could do it . Depends how good people are with regex I guess. An enhancement could be that the regex could be on only selected lines. A human can quickly scan through the items they want to change and invoke a regex on just those, and then click close/abandon.

Just tossing up ideas. This has become a great tool ! I’m impressed.
Maybe I could program the above as a plugin myself. dunno, a long way from that yet.

1 Like

Sorry for the delay…real life beckoned.

Can do that. (Middle tab up top in Pad Properties)

Yep, this also.

Edit one pad to your requirements then:
“Copy pad properties to default” (this is the default for this footprint only)
“Paste Default Pad Properties to Selected” (each pad you Left click receives the changes set in the footprint default).
“Push Pad Properties to Other Pads” (opens a selection box for multiple pad changes in this footprint).

I hope this helps. :slightly_smiling_face:

Didn’t know it works that way. I rectangle selected pads first and then used ‘Paste Default Pad Properties to Selected’ to change them all at once.

It’s not only a CAD program but also Kicad.
Maybe if we look hard enough we’ll find six more ways to get to the same result! :rofl:

Maybe if we look hard enough we’ll find six more ways

Wait one month (or try the nightly v8-rc1) and get the properties panel in FP-editor. The next way to modify multiple items/pads at once :slight_smile:

2 Likes

Sometimes I think a new version every two years would be better.

It would give me time to master at least half of the current version before changing. :woozy_face:

1 Like

The Pad properties window has changed; but the functions to pass those properties to other pads seems the same.

I don’t mean the “Pad properties window”, but the properties panel. This was copied from the board editor and is now also available in the FP-editor.
Now we have the same tool (with the same usage conventions) in all editors.

the functions to pass those properties to other pads seems the same

Yes. And I appreciate that. The “push properties to other pads” is also my preferred workflow.

Ah, thanks @mf_ibfeew

It is getting late for me. Time to switch off the computer before I miss-read any more comments. :slightly_smiling_face:

1 Like

One method that works is:

  1. Modify one pad.
  2. Right click on it, and use the context menu options near the bottom:
    Copy pad properties to Default
    Paste Default Pad Properties to Selected
    Push Pad Properties to Other Pads

This works quite nicely but it is not flawless. It appears to make a bit of a mess of things for a QFN that has pads on all 4 sides. Doing it two steps (the horizontally and vertically oriented pads)

Working with Footprint Editor / Show Properties Manager in KiCad-Nightly V7.99 (now: 8.0.0 RC1) has similar results. I am experimenting a bit with the footprint: QFN-48-1EP_5x5mm_P0.35mm_EP3.7x3.7mm_ThermalVias and it has set the pad rotation of all pads to 0 degrees, and it swaps X and Y coordinates instead. This is not very user friendly for later modifications. These footprints are generated by scripts. I wonder if I should make a feature request to change these scripts, so they generate identical X and Y sizes for all pads, and use pad rotation instead.

1 Like

Hi @paulvdh

That must be a bug.
Function works the same whether crossed or not crossed. Same result in 7.0.10.

Just tried it on another footprint: LQFP-32_5x5mm_P0.5mm

Step 1:
Change the Padsize_X from 1.5mm to 1.0mm:

Step 2:
Right click, and Push Pad properties to other Pads. The result is:

The option: Do not modify pads having a different orientation has no influence because all pads have an orientation of 0 degrees (See screenshots below).

Two more screenshots Properties of pad No 2:

image

Properties of pad No 32:
image

Instead of the expected orientation, pad size is handled by swapping the Size_X and Size_Y coordinates.

I also looked at a SOIC-8 (with two rows of pads), and it has the same issue. It is less important, and it would only result in more difficult editing if you wanted to make the pads (solder mask, whatever) asymmetrical. Same issue with 2 pad resistors, but the issue is even smaller for those.

I’m still not sure whether I should treat it as a bug and create an issue for it on gitlab, or whether it is an implementation choice and just leave it this way.

The problem is that pads can be designed in several ways – create one pad and copy it and rotate it, or create two non-rotated pads with different x/y dimensions and copy both. You can’t know how a pad has been designed in some footprint before looking into it. The easiest way to push properties as a recurring workflow is to select only visually similarly oriented pads and repeat again for the other orientation. Otherwise you have to first check how the pads have been made and choose whether to push to all or only some.

That is indeed the easiest workaround.

But I would expect KiCad to be able to select all pads of a QFN package and modify their size in a single operation.

This does work:

  1. Modify a pad.
  2. Push it to all other pads.
  3. Rotate the bottom row 90 degrees.
  4. (Rotate top right row 180 degrees can be skipped)
  5. Rotate the top row 270 degrees.

But after that is is not possible to change the size of all pads again.
When the [ ] Do not modify pads having a different orientation checkbox is on, then only one row or column is modified. When this checkbox is on, then the pad rotation is also copied to the other pads.

This last I find unexpected. The properties manager shows the pad orientation it in the "Basic Properties area, and therefore I expect the pad orientation to stay the same. I do not consider this a bug, because in other uses, changing the orientation may be the intended behavior.

After some more experimentation, what does work is:

  1. Do the rotation as in the earlier 5 step list.
  2. Select all pads.
  3. Unselect some pads. (For example the center and thermal pads by holding [Ctrl + Shift]).
  4. Use the Properties Manager panel to set the Size_X and Size_Y variables.

So I’ll leave it at that. It’s good enough to modify the occasional footprint. If you are interested in more elaborate library footprint generation or modification, then working with either the built in python generator scripts, or with the scripts (from gitlab) that are used to generate the native KiCad libraries are likely to be better options.

thanks for all the replies.
I am one that generates a new footprint for every component*… (mainly for QFN , DFN, etc, because QFN have many variants ) . and also, many power DFN/QFN have bespoke pad requirements. So, footprint creation performance must be efficient for me. I will see how the import from altium goes also, for my QFNs. Maybe that’s a workaround. There are custom paste masks (IE paste mask for a copper pad is removed and a separate non copper paste mask pad is used).
Anyhow, the discussion is good for me to learn a bit about kicad.

  • not for every R and C of course, but I do have different footprints for different height capacitors…