Change Net Name of All Connected Traces & Vias

Hi again. Using KiCad 7.0.0

When I have a Net (with or without a via) connected to a component, and I want to connect that trace to a different component pad with a different Net name, I can change the Net of the trace, and I get this extremely helpful message:

“Changing the net will also update U1 pad 6 to [New Net Name]”

image

And I do this, and it does everything I hope for: It updates the trace I selected, all connected traces, the connected via, the traces connected to the other side of the via AND the pad on the component pad that trace is connected to. Perfect!

However, if the other end of of all the connected trace segments and via(s) is NOT connected to another component pad, then I don’t get this message at all, and it only changes the current segment of the current trace.

I did find a similar topic at Reassigning a net name on a trace which says to “Do a u to select all connected segments.”

But I tried that, and it only selects the trace segments up to the Via, but does not select the Via or the trace segments connected to the other side of the via.

So, my best work around seems to be to place a dummy component and connect the final end to a pad, to force KiCad to give me the “Changing the net will also update…” message, and change everything along the entire trace & via path.

Is there a way to first select not only the entire trace, but all connected vias and subsequent connected traces when an end component pad is not connected?

Seems like the functionality is there to change the entire trace segments and vias, I just don’t know how to tell KiCad to do it when no component end pad is connected.

Thanks everyone for your great & kind help!

Best,
AJ

2 Likes

That is close to horrible. The first version of a mayor KiCad release usually has a lot of bugs in it. V7.0.5 or thereabouts was reasonably stable, but currently V7.0.10 is the latest stable version, and I’m guessing that 500+ bugs have been fixed during 2023. Updates in the third number are bug fix updates, and you should update within a few weeks after such a bug fix version is released.

For the rest, do you have a schematic? Attempting to work in KiCad without a schematic and (more correctly) the netlist it creates is an … unpleasant experience. The “Wire it” plugin may be of use to you if you want to do a lot of net editing in the PCB editor.

You can hover over a track segment and press the u hotkey a few times. But in general that should not be needed. If you connect the track to another net, then the net names on the track segments should change to the new net name automatically.

Have you tried pressing u twice? It is possible it’s a hand placed via. Those manually placed via’s do not change their net name automatically.

1 Like

Are you trying to reverse engineer schematics from layouts?

OK, I’ll upgrade to 7.0.10 first, to see if that fixes it. I guess I’m king of ignorant of things like this, as I didn’t think it was worth upgrading until at least 7.1 came out…now I know that even a “0.1” or a “0.05” Upgrade is crucial!

Now, Upgrade complete.

Stand by for my responses to your other great points!

Yes, I always use a schematic when building PCBs. Here’s the schematic I created for the test session that I used to demonstrate this issue:

I know it’s incomplete, but I built this only as a test to demonstrate the issue in the simplest way I could think of:

Not in this case, I’m building out a complex connector board, and I ran some complicated traces using multiple vias across a 15-inch long board, so I’m trying to be able to re-use a trace across the length of the board for a different net that I navigated and then realized I didn’t need, and yet, took a lot of work to create. Would rather just re-use the complex trace/via set that I created for a different net, rather than deleting all segments and re-drawing them all.

That said, I DO have many other projects where I reverse-engineer boards, but I haven’t used this feature yet when doing so.

Thanks!

That was it! I have no idea if this worked in the 7.0.0 release, because of your urgency to upgrade, I simply stopped immediately and did the upgrade before even trying it, but it certainly works in v7.0.10

Pressing u twice selected ALL of the vias and connected trace segments across the entire board.

Thanks so much!

I’m marking this reply as solving the issue, and thank you for teaching me how to do that also!

Thanks again!

Best,
AJ

well it worked for me. K8:RC2
I made a PCB with traces goign off into oblivion without parts anywhere with lots of layer changes and vias outer, inner layers… and it all worked,
click on trace. Press ‘u’ repeatidly until ALL segments and vias etc are highlighted.
Then …get the properties up with ‘e’
change the net. It asks you a few questions
and done !
I use TAB instead of u (like Altium). and it works much the same as it selects up the objects…

Footnote, If parts pads are in the action it can try and change part pads (I said NO to the question it asks of changing nets on component pads)…I think it should not in my opinion even offer that, because then you are different from your schematic . much better (and more professionally conventional) to mod part pin nets labels in sch and update to PCB. unless you are pin-net swapping.

Normally there is no Vx.1…release before V(x+1).0.0 comes out in the KiCad world.
V5 was the exception and with hindsight, maybe not a good idea.

1 Like

Thanks for this. I’m actually VERY glad that it does offer you the options to change nets on pads, because over 50% of my work is reverse-engineering boards, where you trace the board first, changing each pad to the proper net name as you connect them, and then choose Tools → Update Schematic from PCB, and it gloriously changes my schematic net names on each pad to match what I’ve changed the PCB to. Without this feature, reverse-engineering these boards would be much more of a nightmare than it already is.

Best,
AJ

Good to know, and thank you!

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