Hints please! Schematic wires during drag rotation

In the schematic editor, how do you all deal with the mess that seems to result when you drag/rotate a component that has many wires attached?

This is in Kicad 8.x and also 9.0.

When I drag and rotate, some or all of the following seem to occur regularly:

  1. During the drag, the editor adjusts the geometry of the wires. Sometimes the geometry adjusts sensibly, other times it ends up a tangled mess, with more segments than necessary, going in the wrong directions, and often a segment appears at an odd angle. To my mind that odd angle segment should never happen, especially if the editor settings and configured for 0/90-degree wires only.

  2. Again during the drag, wires unwantedly connect to pins they happen to pass over during the rotate/move, and once “snagged” they don’t “unsnag”. I understand that a user my use a drag operation to intentionally position a component so it connects to some neighboring wires or components. But to my mind that should take effect only at the end of a drag operation, not while it’s in progress. These gratuitous connections change the meaning of the schematic, so are particularly pernicious.

In the attached screencap, I hoped to simply rotate DIP Switch SW1 90 degrees, while maintaining connections.
K9_drag_rotate_02
(Sorry it’s a GIF, forum wouldn’t upload video.)

Easy, I don’t do it.

1 Like

I treat schematic drawings in a similar way to PCB layouts. With PCBs, I place all the footprints in suitable or necessary positions before I commence laying tracks.
With schematics, I place all the symbols in suitable, aesthetically pleasing, easy to tell the story of the circuit, positions, before I place the wires. This way I avoid “spaghetti jungles”.

That parallel port is a good candidate for a bus.

I agree with you, for this particular case, assuming you label all the wires at both ends of the bus.

However, this was just an example, and I’m more interested in the general case of one or more already-connected components that I’d like to rotate.

I very much agree that an objective is to arrive at a schematic that achieves various communicative and aesthetic aims. And much can be achieved by starting with an arrangement of components that already agrees with, for example, a general flow of signals from left to right, and a general flow of current from top to bottom.

However, when reverse engineering a schematic from a PCB, you don’t know ahead of time what the signal flow is, which chips are communicating with each other and so on. You may not even know that the ICs are. This is where it may well turn out that you want to rotate a component after having connected numerous wires, and definitely don’t want those connections to break (or spurious connections to be added) while rotating.

Maybe you could adopt the “visual netlist” of label connections until you have an idea how the symbols fit together then convert it to a mostly wired schematic.

Assigning arbitrary net labels in the schematic editor is not very helpful to understanding, since, unlike in the PCB editor, there are no rats-nest lines to help show what is connected to what. You really need wires to make progress in understanding.

We are just slowed down by running into awkwardness of maneuvering the component symbols due to fragility of the connections. Hence why we’re hoping there’s some strategy for improving this area of schematic editor behavior.