Interactive Router doesn't work

Hi, I have a strange issue.
The interactive router doesn’t work for me anymore. I can place components on top of eatch other (as in the example image below) or vias anywhere and I don’t get any errors. It feels like the interactive router was disable. Any ideas how to fix this?
This issue appeard in a month old 5.99 release and I updated today to latest nightly (see build info below) but the issue is still here.


Version: (5.99.0-12650-g5c402a64ab), release build

	wxWidgets 3.1.5
	libcurl/7.78.0-DEV Schannel zlib/1.2.11

Platform: Windows 10 (build 19041), 64-bit edition, 64 bit, Little endian, wxMSW

Build Info:
	Date: Oct  3 2021 09:00:27
	wxWidgets: 3.1.5 (wchar_t,wx containers)
	Boost: 1.76.0
	OCC: 7.5.0
	Curl: 7.78.0-DEV
	ngspice: 35
	Compiler: Visual C++ 1929 without C++ ABI

Build settings:

You are asking about 2 different topics.

  1. DRC detecting overlapping parts.
  2. Interactive routing.

For #1
Run the DRC and see what you get. Look to see if DRC rules are enabled during routing.

For #2
In the config window shown above, Check the box to enable Push & Shove routing.

1 Like

In the above shown mode (Highlight collissions) with the “Allow DRC violations” deselected, router should not allow to commit the tracks in collission as shown above.
However, regardless of the mode (Shove/Walkaround/Highlight collissions) one can drag a footprint over existing tracks perfectly into DRC collission.

1 Like

Moving a footprint with M allows placing anywhere. Dragging with D doesn’t. Vias should change their net if placed on another net. That’s how my version works, compiled from absolutely the latest code.

1 Like

OK I was mouse dragging which was mapped to Move footprint.
Just noticed that even with the router in the Shove mode, dragging (“D”) footprint will only highlight collissions and not avoid them by shoving tracks. Is it as intended?

I suppose you mean “shoving”, not “showing”. Implementing push and shove for footprint dragging is a bigger task and it’s in the wishlist.

1 Like

Ok, I think I understand now how it works. I cannot use the Move command, I need to use the Drag command to benefit from the Interactive Router. My only question is, when I place a new via (With Ctrl + Shift + V), I can place it anywhere and the interactive router does not care until I drag it after placing. Is this expected as well?

If you manually place via’s, then KiCad assumes you do it for a reason and tries to leave them alone.

The exact behaviour of such details may vary between KiCad versions though and you should not rely on it too much. If you really want some via’s or track segments to stay where they are you should lock them.

When you place a new via on top of an existing copper item which belongs to a net, the via adopts that net. There should be no need to put a via on an empty place. When you move a via with M, it also adopts the new net if it had a different net. But if it doesn’t have a net at first and you move it, it doesn’t seem to adopt the new net. This latter behavior looks like a bug to me, I’ll create an issue for that.


Dragging a via with D of course keeps the old net.