Help me understand block dragging?

I have attached a .gif showing what happens when I try to drag a (resistor + its wires inline) near a comparator unit. You can see that when I try to drag the resistor block, I also drag the comparator. That is not what I want. Why does this happen?

For the purpose of this operation, I have set my grid to 25 mils but I get the same result with 50 mil grid. I can draw the lower boundary of the block along the resistor axis but that also does not change the result.

BTW I use Licecap to record the .gif.

Application: KiCad
Version: (5.1.5)-3, 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

I would assume this is the case because the 5V wire is part of the selection. So there might not be a solution in v5 other than moving the resistor and then cleaning up the wires.


Also nice colour theme. Would you like to share it over on https://github.com/poeschlr/kicad-color-schemes?

Thanks, Rene

I am trying to figure out how to fulfill your request.
A few years ago when beginning with KiCad, I tried to figure out Github. But that seemed to be much more difficult than KiCad itself, and I did not see that I really needed it. I have figured out my own way to manage versions, by copying and renaming the data file folder and renaming the 8 or so files in the folder. For now I will assume that I can post something (??) on your link.

However following the directory instructions I get to this (posted image) and I am not sure what to upload?

image

Try starting your selection at the top left down to bottom right instead? Then it shouldn’t not select the vertical wire.

Or maybe just drag the resistor.

I could not get this to work in eeschema under 5.1.5 so either there is a bug or this feature only exists in pcbnew (or you use nightly).

You can also send me the eeschema file you show in your screenshot. I can then extract the necessary data from it, make the screenshots and create a pull request.

Oh my bad, that is only pcbnew.

Moving things in eeschema can be somewhat tricky. Sometimes I copy a block and delete the bits I don’t want before replacing it.

Thanks, Bob

Mine is one of those inquiries where I am not really stuck but I am trying to figure out what is going on. I did try starting my block definition from different corners…could not see any effect resulting from the changes. However I was able to drag wires, etc. and achieve what I wanted. But as the Brits might say, I “muddled through” without really knowing what I was doing. This is the ideal way to work, right? :slight_smile:

It seems to me that many people designing pcbs may be very much into the programming aspect. I am very much analog/hardware only and I am mystified by the huge variety of ways in which the user interface can vary between software programs of all types and between EDA programs in particular. The rules seem to change according to the whim of the programmer…maybe that is too cynical. This is mostly opposite to hardware design where the rules are much more constrained by physics.

BTW having said all that, I really like the way this forum works. Hats off to whomever designed the “mechanics” of it.

I have deleted my previous post.

Yes this will do. By the way you can send private messages on the forum, might be better for sending such files.

OK; thanks. There is not much proprietary/personal in what I have sent…

I know you said that you muddled through, but I wonder if changing how you were drag selecting would help. Because it seems the vertical wire between the comparitor and the junction dot below +5V is selected (your color scheme makes it hard to tell, but that vertical wire overlays the junction dot and the bottom connection point shows). I would try drag selecting only around the resistor and 1-3 grid points of the wires on either side of the resistor.

My idea might or might not work (I’ve had experience of large components being selected if I drag select within the bounding box of the graphics even if I don’t intersect any of the graphics).

Thanks, SembazuruCDE

My objective was to move the resistor and the entire length of the horizontal wire, and follow the move with the right angles at either end. So trying to grab the full length of the horizontal wire is what I do intuitively and based upon experience with at least some other CAD tools. It is hard to see but my selection box did not extend to include any visible part of U4 or any other components. I think the box went no more than two 25 mil grids above and below the horizontal wire.

Looking at it again, it is surprising that the junction dot to the left of U4 pin 3 does not move in that .gif.

It is also strange, I think, that the jcn. dot connected to U4 pin 8 does not move. Using this technique, I would only expect footprints and traces inside the selection rectangle to move. I don’t think it works correctly.

The rule of thumb I deduced is that in eeschema any part of the symbol that falls within the selection boundary will select the whole component, whereas in pcbnew the whole footprint must fall within the boundary to select it.

Which makes sense.

Ahh…but I think you will lose part of your thumb. (not really) I am no expert on this but I just confirmed in pcbnew:

If you draw your boundary from left to right, you are correct. But if you draw your boundary from right to left,then a partial grab does the trick. But the real trick is to remember these things. I think I would prefer another way… The other issue is the ability to select two or more groups so you could select an L shaped area (or two rectangular) areas for example

In pcb new it depends on the selection direction. Starting at the top left behaves as you describe while starting on the bottom right will behave the same way as eeschema does (I saw this idea first in autocad not sure if they invented it).

U4 is not part of the selection but that vertical wire is. U4 is directly connected to said wire so it is moved as well.

This is because i think the end of the wire connecting to that junction dot is selected not the middle of it.


And all of this will become easier in v6 as it will have more selection features plus shows the user what is selected.

Ah ok, that’s useful to know though I haven’t needed the feature.

Hi, Rene
Thanks for confirming my observation. One point which I want to “nitpick” is that (based upon my quick test) it seems that in drawing the selection box in Pcbnew, “top” versus “bottom” does not seem to matter, but “left” versus “right” controls the selection mode. At least in my head that simpler statement might be easier to remember. Also, I am happy to add that I can add multiple block selections (either direction or mixed) by holding down the shift key. The more I think about this, the more I like it. And I wish that Eeschema were similar. Please let me know if you think that I am missing something.

1 Like

Eeschema works like that in nightly builds.