Interactive router doesn't snap coordinates of tracks to grid

Hi,

when routing tracks if noticed that often tracks that should be possible to route are not working with the interactive router.

Grid: 0.1mm
Track width: 0.2mm
Clearance: 0.2mm
All other relevant settings are multiples of 0.1mm.

When routing a track where start point and end-point are all choosen by the interactive router (not on an existing element) I get very weird coordinates of the line segments on inspection. As a result, the next pass the interactive router won’t allow a line to be placed on the clearance distance 0.2.

Example
Start x: 123.300019 mm
Start y: 103.399981 mm
End x: 115.499981 mm
End y: 103.399981 mm

Does anybody else experiences this problem?
Is this a bug or a feature?
Is there an option I can enable to force the router to take grid coordinates when possible?

Thanks!

Not directly to your question.
With KiCad 4.0.7 I have done some experiments (didn’t do them once more with 5.1.x so not sure if it still true). I found that when I have betwen pads a space of 0.6mm and I wont to route there a 0.2mm track having clearence 0.2 it was impossible. I decided that I will be using clearances in form like 0.199 and it worked for me.
I sow some time ago (don’t sure where) an info that interactive router was designed as not using grid. Then people asked that they prefer to have everything in grid. May be (I completely have no knowledge in that subject) now router is somewhere between.
In PCB I have done some time ago (5.1.4) I see I have some tracks in grid and some out of grid. I have checked it now - I didn’t looked at it previously (I don’t assume it is in any way important).

If there is enough space on the second track side it is just pushed - noticed no problem with it (in 5.1.4, I didn’t used 5.1.5 yet).

1 Like

Usually, when you ask a question, and especially when something may be a bug, it’s important to give KiCad version information (copy with Help->About->Copy Version Info). Bugs are fixed when after they have been reported, and the even the minor version number is important. So is the OS platform. This all can be easily copypasted.

Sorry for that, here it is.

Application: Pcbnew
Version: (5.1.5)-2, release build
Libraries:
wxWidgets 3.0.4
libcurl/7.66.0 OpenSSL/1.1.1d (Schannel) zlib/1.2.11 brotli/1.0.7 libidn2/2.2.0 libpsl/0.21.0 (+libidn2/2.1.1) nghttp2/1.39.2
Platform: Windows 8 (build 9200), 64-bit edition, 64 bit, Little endian, wxMSW
Build Info:
wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8)
Boost: 1.71.0
OpenCASCADE Community Edition: 6.9.1
Curl: 7.66.0
Compiler: GCC 9.2.0 with C++ ABI 1013

Build settings:
USE_WX_GRAPHICS_CONTEXT=OFF
USE_WX_OVERLAY=OFF
KICAD_SCRIPTING=ON
KICAD_SCRIPTING_MODULES=ON
KICAD_SCRIPTING_PYTHON3=OFF
KICAD_SCRIPTING_WXPYTHON=ON
KICAD_SCRIPTING_WXPYTHON_PHOENIX=OFF
KICAD_SCRIPTING_ACTION_MENU=ON
BUILD_GITHUB_PLUGIN=ON
KICAD_USE_OCE=ON
KICAD_USE_OCC=OFF
KICAD_SPICE=ON

Windows 10 Pro x64 (1809)

Hi Piotr,

knowing that the pcb file has a lot of imperfections in it just makes me not at ease. :wink:

The grid snap is deactivated if you get too close to another trace (drc violation avoidance restricts you to the minimum clearance disregarding the current grid)

That’s a shame. This produces a lot of artefacts in the PCB. The Drag Track Keep Slope function also seems to be troubled by this ‘bug’.

Settng the tracks opacity to 50% gives a visual representation on where these imperfections happen.

Is there a possibility to add an option where you can enable or disable this functionality?

I have noticed (it was 5.1.4) that sometimes when i wont just go out of pad straight the router follows me till I am about the same distance from pad as its width is, then track becomes to have some unexpected corners going out of pad not directly. But:

  • it was when I was hurry to finish PCB,
  • I’m not experienced KiCad user so may be there is simple way-around I just don’t know.
    So my decision was - may be in future I will come back to this subject.

This isn’t completly true. Even when a series of tracks are drawn which don’t have any restraints, they start adding 0.00001 errors to the offset value. You can test it yourself. Set the grid and spacing to a round value, draw a first track (add a net name), draw a second track (with a different net name) as close as possible and check the coordinates. You’ll see they are offseted incorrect.

It even gets clearer if your first track has two parts laying in one line, the parallel track will also get split eventhough this isn’t necessary.

I suspect it is > vs >= misunderstanding. The interactive router might simply enforce the clearance to be > than the minimum set.

Easy to fix it seems :wink:

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