Should dragging create new junctions? (was: Should this could happen just as that?)

I have whined a bit about schematics, and some more, lately. Here’s another example:

Yes.
As has been explained to you multiple times, if the end of a wire intersects with another wire, a connection is made.

If you don’t like this behavior, don’t sling schematic elements around with abandon.

It’s not abandon. It can happen so easy and should not be possible. Try it.

How do you tell the program that you want the end of a wire to make a connection some times, but not others? Right now, the UI assumes that intersections are deliberate.
Other software may make you explicitly add a connection, but that’s not the current Kicad paradigm, and railing against it isn’t likely to change that.

I also don’t like the behaviour of the current dragging tool, because it creates too much and too often unwanted junctions.

But in your case it’s a user error. The dragging algorithm distinguishes between selection from left–>right and selection from right–>left. You used mostly the last option (selection from right–>left). This selects a complete wire including the start point of the wire. The subsequent dragging of this wire/selection therefore also moves the start point, which then creates new junction.
For all usecases in the video use the left–>right selection before dragging the wires.

additional note: for such things it’s always a good idea to attach your example project. This allows me (and others) to replicate the kicad behaviour much easier and decide between bug/bad behaviour/designed functionality.

Edited your title to be more informative to future readers.

Good you changed the title, yes this is important as it could so easy destroy about any construction. Just 1 second you look at your coffee or your sweet cat while moving a component this happens. Also, try to move or rotate a component with pins on more sides – wow then we will get chaos. This “automatic connect to whatever you move over” should at least be possible to select/deselect in the settings. It seems most users would like to have it ON but I will never select that option.

@TheSwede please make sure you understand this selection behaviour described by @mf_ibfeew - you had the entire wire selected, so moved its start point. A start point will connect to whatever wire it lies over. This is very expected behaviour, as designed. It would make no sense to make this connectivity of wire endpoints user-definable.

@TheSwede

My workflow for a schematic is to place all the component symbols on the page in an aesthetically pleasing, easy to follow arrangement, first. This is easy with the use of the 50 or 25 mil. grid and the zoom function. This placement also includes, rotation, mirroring, creation and modification of symbols.

When everything looks good, I will then use the Wire function and place Power symbols.

This method of drawing means there is very little, if any, symbol dragging required; so no unexpected junction creations.

I wanted to comment: The old obsolete “classic” version of ExpressSCH (not sure about the newer version) has a crude look but relatively easy and intuitive interface for drawing schematics. Every wire corner is a junction dot but you cannot drag wires. You only drag the symbols and junction dots. The wires follow the junction dots.

Generally whenever a junction dot (whether it be a corner or a true junction) lands on a wire, it joins. I think this is reasonable.

I have found the tendency to push and pull wires in KiCad to be a bit less intuitive, but not a big problem once I became familiar with it.

I understand and agree with your workflow and I try to do something similar. Though sometimes, or quite often, it happens that deeper in the project things has to change, sometimes drastically, so big movements and also editing of schematics and PCB symbols has to be performed and by then, even if things rush and we might make some mistakes when moving things around new accidental collisions/connections are not on the wish list. Of course I see that my video example might seem a bit strange but it’s just showing fast and easy what might happen with even a very simple design in the long run will lead to too many prototypes :slight_smile:

To me, it shows what happens if you rush your work, and don’t pay attention to what you are doing.

That’s also a way to put it.