Drag a track without moving the rest of them

hi!

here I’m drawing a pcb with:
Application: kicad
Version: 5.0.2-bee76a0~70~ubuntu16.04.1, release build
Libraries:
wxWidgets 3.0.2
libcurl/7.47.0 OpenSSL/1.0.2g zlib/1.2.8 libidn/1.32 librtmp/2.3
Platform: Linux 4.15.0-43-generic x86_64, 64 bit, Little endian, wxGTK
Build Info:
wxWidgets: 3.0.2 (wchar_t,wx containers,compatible with 2.8) GTK+ 2.24
Boost: 1.58.0
OpenCASCADE Community Edition: 6.8.0
Curl: 7.47.0
Compiler: GCC 5.4.0 with C++ ABI 1009

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

when I try to drag a track there is always an interaction with the rest of them, it’s like the set of the interactive routing is always on ‘Shove’ but for dragging it cannot be changed to ‘Walkaround’, if I change it to ‘Highlight collisions’ it works. It’s that normal or there is some other setting for it?

I don’t quite understand, you seem to be aware of the settings and say “it works” in certain mode. Then you ask if there is some other setting for it. What do you mean?

It works as it should in ‘Shove’ and in ‘Highlight collisions’, but for my understanding of the how it should be, it doesn’t in ‘Walk around’ mode, in this mode the dragging behaves the same than in ‘Shove’, I’m asking if somebody else has the same problem (then this may be a bug), or if should I do some combination of other settings to achieve the ‘correct’ behavior of the 'Walk around’ mode.

Just to be clear, every mode works fine when I’m drawing the tracks, but we are talking about dragging them.

I think this is normal behavior. The walk around algorithm simply might not be able to walk around if both of its ends are tied to an endpoint already. This would explain why it behaves this way. (This is a conjecture. I do not really know if there even is a technical reason or if it simply was a design decision.)


Make a wishlist bug report over at the bugtracker and request your feature. Give a good explanation of what problem you expect this feature to solve. (A usecase)

You are in the F11 mode. If you want a more manual approach, goto the F9 Legacy mode and try dragging/moving the track of interest. Sometimes I feel like the magic features in Modern F11 try too hard for what I had in mind.

The manual mode is the highlight collision mode already mentioned above (By OP)

Just a heads up: the legacy mode might die very soon (On some platforms maybe even already with 5.1. This is because of its dependence on gtk2.)

I just make a short video to illustrate how both modes behave the same, I just think in Walk around the via should not move the other things around, if it cannot be moved, it should remain where it is.
But even when they seem to behave the same, there is a different ‘feeling’ of the movement when it is in Walk around mode, and the processor load is bigger.

simplescreenrecorder-2019-01-06_18.31.51.mkv (3.2 MB)

The "walk around’ wording to me implies it applies to track routing, whilst in that test, you are picking and moving a via.
Did you try routing a trace, to see how "walk around’ changes when applied to tracks ?
It may be the designers of KiCad never thought to test via-move ?

Do you want to move a via, but with Shove-off and DRC-prevent on ?

Highlight collisions does not shove tracks, but it has a slightly lower IQ than it could have, in that it visually warns but does not prevent an illegal release, so it cannot lazily ‘pack’ items.
Users must select a fine grid, and then watch/move very carefully.

Walk-around seems rather similar to Shove, and there could be scope for a middle ground option ?

ie an option that prevents collisions, and does allow lazy packing of items, without shove.

Sometimes Shove is too large a hammer, and Highlight collisions is too dumb a hammer…, be nice to have another tool in the tool-belt here :wink:

Are you sure about that? I thought this is only true if you have “allow DRC violations” activated.

It seems more difficult to explain than I thought at the beginning of the thread :sweat_smile:

Did you try routing a trace, to see how "walk around’ changes when applied to tracks ?

Yes, it is stated over there, in the third post, when I’m routing all the options behave as it can be understood when one read the name of it (intuitively).

I just think ‘Walk around’ should not ‘Shove’, it should only walk around, either when one is routing or when is moving an object (this case a via, but it can be a track, sadly seems like the footprints cannot be dragged yet).

Yes, that is how it actually tests on my somewhat older V5. I can release either a dragged Via, or trace, with the warning colouring active, and it allows the violating release, no matter what ‘allow DRC violations’ setting.

Yes, it seems the ‘Walk Around’ wording and feature only applies to laying a fresh trace.
When Walk around is enabled, drag trace/via still shoves things (on my older V5).

Is it this bug which has been fixed? https://bugs.launchpad.net/kicad/+bug/1794810

2 Likes

I just tried it and works as expected, when ‘Allow DRC violations’ is not checked I can’t release a track or via where it should not be.

Cool, yes that does sound like a fix, and newer than the version I with tested in this PC.

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