Confirmation of junction behavior differences between 5.1.10 & 5.99

In 5.1.10 I can place a junction wherever I wish; even inside a symbol or off the work sheet if I so desire, however, in 5.99 I do not seem to be able to manually place a junction unless it is an automatically placed one that I have previously deleted.

This is not a complaint, I’m just after confirmation of this behavior.

Most probably it’s intentional.

I’ve always found the junction behavior (and implementation, for that matter) a bit weird. IMO junctions should always be defined implicitly, i.e. where there are lines/pins crossing so that they belong to the same net there should be a junction and nowhere else. It just doesn’t make sense to have a junction if there isn’t a junction. The only situation where putting an explicit junction dot makes sense is when there is a wire crossing without a junction and the user wants to make it a junction. And if something looks like a junction dot it should also always form a junction, i.e. connect items which are under it. At least in 5.1 it doesn’t do that: if the line ends under the dot don’t hit the exact coordinate point where the dot is, there’s no functional junction. It’s just misleading.

I’ve already discussed about these with the lead developers, so there’s no need for a bug report.

In my opinion, the behavior in 5.99 is correct. I don’t consider there to be a bug. I only queried the behavior because it was quite different to 5.1.10.

I noticed that this can still be accomplished by finishing the wire at the cross wire then starting a new wire at the same position.

Thankyou for your reply @eelik

1 Like

I meant that there’s no need to report any of what I said beyond that behavioral difference between versions, lest anyone suggest I should report to make my opinions known to developers.

I agree that 5.99 is better in this regard than 5.1.

Yes, this behavior change was intentional and generally for the reasons @eelik described.

Including this one?

:grinning: :grinning: :grinning:

Sorry all,
just couldn’t resist… hangs head in shame :slightly_frowning_face:

No need to.

If it still needs clearing up: I have already exhausted mental resources of the developers in one long issue discussion, so there’s no need to open up a new one.

Technically the junctions are independent items in the file format even in 5.99. It makes possible certain things, namely per junction size and color for the junction dots. I don’t know how useful that is.

At least in the past there have been problems because implicit functional junctions (which actually connect the items as one net) and the junction dot items must to be kept in sync and it hasn’t always worked. It has lead to one bug fix after another which should of course be avoided by architectural decisions. I don’t know if all updates have now been centralized in the implementation. If not, eventually they may be and the problems will go away. This is of course the familiar practical question of historical baggage, available developer resources and release schedules etc. and there’s no need to argue about the decisions. But anyways, there’s more than meets the eye in the junction dots.

About the original question: it would be clearer if the junction tool would indicate if it’s possible or not to place a junction under the cursor. That would explicitly tell that the behavior is intentional.

I was thinking, as I typed my OP: if this is the new behavior of the junction tool, how many thousands of queries about that behavior will hit the forums when 6.0 is released?

Maybe not alter the tool, because it now does exactly what it is supposed to, but at least have some sort of note in the Kicad manual or FAQ or Getting Started.

I noticed a difference, maybe there is a problem with the connection point. In KiCAD 5.1.10, placing two lines to the pin of an element looks like on the picture. In version 5.99, no junction is automatically placed. It cannot be placed manually either. Is this correct?

Hi @Olo

You are correct.
I was just experimenting and found the same problem, however, if you then move or drag the component the junction automatically places.
Also, if you then delete both wires, move the element, then replace the wires, the junction is placed.

The junction is not automatically placed ONLY when the element is first placed on the page from a library.

This must be a bug.

Anyone else care to test?

EDIT: If you place a third wire onto the pin the junction appears which is understandable.

Same here (I think).

  1. Place a resistor, Draw a wire from it. Draw another wire from it. No junction dot is placed.
  2. Draw an L shaped wire, place a new resistor on it. No junction dot is placed. Attempting to place a junction results in “Junction location contains no joinable wires and/or pins.”
  3. Place a resistor, Draw a wire To it & continue. No Junction dot.

If you drag a box around it & move the resistor + wires, then a junction dot is added.

No need for a box. Just move or drag the resistor a small amount then move it back and a junction dot will appear.
If you then delete the wires and move the resistor to somewhere else then replace the wires, the junction dot will appear.
As I mentioned above, the junction dot will not appear only if the component is placed on the sheet from a library.

I thought I confirmed this, but just to be clear:
Yes, it only happens for me if a schematic symbol is placed for the first time on the schematic directly from a library.

If a schematic symbol is copied from another schematic symbol, the bug does not manifest itself.

Drawing a box & moving both schematic symbol and the wires keeps the same orientation / connection between the two, but KiCad adds the junction dot.

All the above correct, but,

I just found out if you close the program and then reopen it, those junction dots disappear again.

Just tried it again and the junction dots were there???

Also drew an example in 5.1.10 and imported it to 5.99. It brought the junction dot with it.

I created an issue on gitlab for this:

The bug is only triggered for a freshly places placed schematic symbol taken directly from a library.
It is not triggered if a schematic symbol is moved after placement, or if a copy from an existing schematic symbol is made, and therefore I also would not expect the bug to be triggered in a converted schematic.

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