Help me understand block dragging?

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.

Sounds excellent. Thanks!

Here is another example which does not work as expected. This is not a block, but I have connected a ground power symbol to an IC just by moving it there. Then when I drag it away (hoping to get a visible wire; similar to “rubber banding” in other EDA tools) the IC symbol glues to the ground symbol and moves with it.

I can’t tell from the highlight colours in the second action but its possible you had an additive selection and the GND was added to the amp so two symbols were selected. What if you clear the selection in between with ESC? Though you shouldn’t have to methinks.

I think you expect that dragging the ground symbol would add a wire. KiCad does not work that way (at least not now).

KiCads way can be used for good. Think of the situation turned around.
Example if you have both power supply pins directly connected to a power symbol. You can now move the OPA together with the power symbols if you need to.

The nightly builds do add a wire.

Cheers,
Jeff.

2 Likes

I tried doing this several times. Mostly just clicking on the ground symbol but also just identifying it alone with a small block. The results always the same.

Yes I can see that would be a useful capability. But if I wanted to do that, my first thought would be to block the op amp together with the power symbols and drag or move all together.

Between this comment and another previous…I think maybe I should install the newest nightly. (few minutes elapsed) Now I did so. Sort of funny I would not expect to immediately see the difference but right away I see it. First impression is that I like the way identified symbols light up. And yes I get “rubber banding” when repeating what I showed in my last .gif. So this looks pretty good.

Application: Eeschema
Version: (5.99.0-657-g792e841ec), 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:
Build date: Jan 7 2020 22:27:11
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:
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

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