Local ratsnest - Do you use it?


One of the features that are available in the legacy canvas, but not in GAL is local ratsnest. Now, we need to decide whether we would like the same functionality in the GAL canvas, or perhaps should it be modified.

Do you use it? If so, what are your use cases? Do you think it would be better to control ratsnest visiblity per net, instead of per module?

Tips on pcbnew workflow…?

The local track is highlighted while moving a part. (sadly only the shortest connection, but i think that’s not really a problem. There is the highlight net tool.)
The current net is highlighted while routing of a trace.
Yes it would be nice if they would also be highlighted while the current footprint/pad is selected. (but again the later one can be achieved via the highlight trace tool)

(I use nightly builds. If this is a missing feature in stable, i’m sure it will be included in kicad 5)


Just for clarity (myself and others), this is the local ratsnest:

Circled in the light blue, this shows the immediate ratsnest for the part you click.

I don’t use this nearly as much as the “Show Footprint’s Ratsnest” because I normally want to do it on a per part basis and it’s most useful to me when I’m initially placing components.

Would I miss it? Probably not until it’s gone :slight_smile:


I am trying to figure out the difference between just moving a part, which highlights the attached nets in both modes and this.
Seeing what is attached to a part is essential for orienting a footprint for minimum track length and vias.


To be honest, I wasn’t aware of the “Local Ratsnest” option until I saw this thread. Or maybe I had used it without realizing it was enabled.

However, I have DEFINITELY exploited the underlying concept, often invoking the “Highlight Net” feature at least once while placing a part, or laying down traces after placement. Sometimes I click on two or more nets in rapid succession, trying to visualize the entire connection constellation for a given component. Sometimes I click on the pads or traces in the vicinity of where I am trying to route a trace, to better understand the interactions among nets running through the local area where I am working.

So yes, I am in favor of being able to highlight or emphasize portions of the overall ratsnest. As shown in my examples above, there are justifications for doing so on a per-footprint basis, or a per-region basis, as well as the traditional per-net basis.

On a related topic, it could be helpful if the “Highlight Net” feature selected a net by clicking on a line in the ratsnest. Sometimes I want to know, “What net is associated with this particular unrouted connection, and which components does it connect to?”



I never used local ratsnest and I would not miss it if it would disappear. :slight_smile:

Currently if you start moving a component in GAL it’s ratsnest becomes highlighted. Maybe the ratsnest should be highlighted when the component is selected? Additionally the ratsnest could be highlighted when more than one component and traces are selected?


Me too, probably because I haven’t used the legacy canvas at all since I started using KiCad …

The way the ratsnest is highlighted in the OpenGL canvas worked fine for me until now. After seeing how “local ratsnest” works in the legacy canvas, I’d vote to include it in the OpenGL canvas since it improves visibility while arranging parts.

Off-topic but related to net highlighting: I know there’s been some discussion about being able to change the ratsnest color and/or visibility for specific nets.

While I personally don’t see the need for different ratsnest colors, I’d vote for beig able to hide specific nets (most prominent example: hide GND if the PCB will be filled with a ground plane).


Yes, that’s probably the most common situation where you want to de-clutter the display and concentrate on routing the remaining nets.



Agree. Local ratsnet is a nice way to unclutter the view. If I may stray slightly OT I have almost stopped using ratsnest and use colored nets instead. It is much easier for me to get an overview when placing components this way. Not in KiCad though, but it is a nice feature one might concider in the future.


@orsonmmz - Yes, I am living on that, please dont remove.

I use it mainly for finding better component location during the intial placement by selecting up to 3 IC’s and MCU.

in the current board which I am doing, I found an error of interchanged address line order only because of local rats net display from the MCU to the IC.



I am like @ikletti spending 95% of my time in GAL, so I never noticed this. I would use it in GAL given a choice


I route 99% of the time in Legacy and have this function active 100% of the time.
I’m in the same boat at @Sujith.
Would like to have it in openGL as well.


Does the local ratsnest line disappear once you modify (move/rotate/flip) a component on the board?
Each time I change something, I have to reenable local ratsnest afterwards, which makes me wonder whether it really aids the initial component placement.


No, it does’t disappear, I have tried move, rotate and flip a component with local ratsnet ON, after placing it in the new location only it disappears, but a simple mouse click on that component brings it back.and to make it temporarly OFF i just click anywhere in the empty board area.

Version info : windows nightly 64bit - 16-01-2017


I use it all the time. The global one is too busy. I would really miss it.



Yes I use it. There is lots of stuff in Legacy not in GAL, so I end up using a Legacy a lot of the time.


The local ratsnest is most useful when dragging components.

Please, make the ratsnest in the OpenGL version look different from the grid lines. They’re both grey and the same width now.


You can change that. Go to the render tab and middle click on the color selector. (both grid and ratsnets colors can be selected this way.)


Most of the quirks in KiCad are totally fine and are just a matter of getting used to doing things differently. This is with all due respect to the developers, but the one think that drives me crazy constantly is how there are different features in Legacy and OpenGL. It’s a major pain to have to switch back and forth between them just to use a single feature, like the local ratsnest in Legacy and then have to give up snap-to-grid/snap-to-pad of OpenGL, etc. I wish we could port the features from Legacy and then just get rid of Legacy and Cairo altogether. There really is no need to have 3 different “versions” of pcbnew and I’m surprised that it continues to stay this way.


The developers have been working on doing exactly that. But they won’t get rid of the legacy and cairo canvases until all of their features are ported to GAL.