How to quickly assign the net class for a selected nets?

Suppose I have a PCB with a power line. In this example these are nets called “J1-Pad1”, “D3-Pad1”. I need to change the track width.
Here is how I do it now:

  1. select the track between R8 and R11;
  2. right-click, “Properties”;
  3. text input “track width”, “OK”.
    Then I repeat steps 1…3 for each track (R11-Conn_01, Conn_01-R10, and so forth).
    If I select a group of tracks (with Ctrl+click) and then input “track width”, only one piece of track changes at one time. Needless to say that this aproach can be used only for small PCBs as it is really annoying.
    Here is what I found in forums. A guy says I have to go to “Board setup”, then somehow I have to remember net names to select from the net list. Then I will be able to assign a net class to the selected nets. Needless to say that this approach is useless because nobody will learn the net names for each PCB.
    How to quickly assign the net class for a selected nets?

KiCAD v.5.1.4 for Ubuntu.

Just like the guy said, but you should give meaningful names to nets in eeschema first using labels.


Start using shortcuts / hotkeys more.

1). Single click on a single track segment.
2). use “i” or ‘u’ to select more of the net.
3). press ‘e’ to open the properties dialog.
4). “[Tab]” to the track with entry box (If your cursor is not there yet)
5). Enter new value.
6) [Enter].
7). Repeat.

At the moment I’m a bit rusty with KiCad, but when I used it more I usually had one hand on my mouse and the other on the keyboard. A list of all hotkeys is in “Help / List Hotkeys” or [Ctrl + F1].
Or you can download the “cheatsheet” (& print it) to have a quick reference.

Net Classes are the way to go, and one of the tricks to using net names effectively is to use meaningfull names as eelik already said.
Usually you have a net class for a “default widht” for 90% or more of the board, and a wider widht for power supply lines and other tracks with higher current.

If you have not used labels to assign “proper” names for your nets, you can have Eeschema and Pcbnew open at the same time and click on any symbol in Eeschema, which wil pan to the footprint in Pcbnew, and you will see the net names on all pads in that footprint.

1 Like

2). use “i” or ‘u’ to select more of the net.

This is really helpful! Thank you!

I can’t find the way it will be really helpfull.
Typical example is VCC. I route it 40 mils wide in its long traces. But when I connect to VCC the pull-up 4k7 resistor there is no idea to have 40 mils track, and such connections many times need to go under other element so can’t be 40 mils. The end effect is that in my VCC the number of 40 mils track segments (not their length) is comparable with number of 10 mils segments. So I don’t make a class for it, but just change the width when routing.

See and give a thumb up there.

@Piotr Having a “default wide” as net class helps a bit when starting part of tracks from different pads, but indeed a pullup resistor does not need a fat track.
Having it done “right” at the moment would need use of net ties to split the net which is quite a nuisance without much benefit. It would be more usefull if track widht checking is included in the DRC check.

@eelik I was surprised that I could not assign a net class by right clicking on a pad. Due to conflicting brain waves I do not have a gitlab account yet.

@Alex_Trezvy Over time you will learn more shortcuts and other tricks. It’s much more productive to draw tracks the right width the first time, instead of trying to make more room for them in a second pass. KiCad normally keeps the track with if you extend a track or split of a T track.
For example: You can make a list of (for you) usefull track widths in:

Pcbnew / File / Board Setup / Design Rules / Tracks & Via’s
and then switch easily between them (Although at the moment I forgot how…)
(It’s a quirck of my brain, I tend to quickly forget stuff I do not use very often).

1 Like

With my also. So I have made the hot-keys list ordered by the design step and in the Routing step I have:

  • start track - X
  • change width - W / Shift+W

Another option is to use KiCommand plugin. It’s a command line interface that enables quick editing like this. I developed KiCommand for exactly this type of situation. It’s currently actively being developed, and I can work out a simple script for you if you like. There’s a Tutorial and a place to post questions on the forums. The end result will be something like this:

  • select all tracks with the KiCAD UI.
  • execute the following in KiCommand:
  • tracks selected 1.0 mm list SetWidth callargs

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