Very simple, should give an 8x8 matrix (BTW, this is for testing the 1972 analog readout design of the Tek 7000 scopes by Barrie Gilbert).
Main problem:
Some connections are missing. SW108 here has no connections (as have SW708 and SW808, but not SW508 or SW608). I had to manually do the nxx reannotation so PlaceFootprints would place Level 1 hierarchy components in rows.
So this is a killer bug - but also annoying is that the hierarchy numbering seems off:
which causes the level 2 elements to be randomly numbered (does not matter here as they are all connected in parallel). A proper matrix however would not work if placement would be according to refdes.
Any ideas? Here’s the project: VecSchalt.zip (437.8 KB)
Application: KiCad PCB Editor x64 on x64
Dumb mistake…
I had ruled out that obvious one because SW108 connection was missing, but SW508 was not.
So connectivity is fine (my error), but sheet number is off: In the 8x8 matrix, I would expect the rightmost components to be all SW108, SW208, SW308 (I did a manual reannotate of the Zeile levels):
That would require correct placement in the PCB…
However placement is automatic using PlaceFootprints, which places incorrectly because of wrong refdes.
Refdes are generated by annotation, which seems to work by sheet number.
Sheet number is wrong.
So: wrong sheet number → wrong refdes → wrong placement.
?
No, didn’t know that… I’ll give it a try (although renumbering 72 pages by hand is pretty annoying).
Why is it mixed up in the first place? Could I somehow have influenced that by the initial positioning of the elements or is it random by default?
Why do you call this a two level hierarchy? With the root sheet included it’s three levels or hierarchy.
And during (re-) annotation, you can include the sheet number in the annotation, which would result in 4 digit numbers with the “First free after sheet number x 100”.
I see… I’ll keep that in mind for the next time - thanks!
On the other hand, the question is more how the PlaceFootprints plugin interprets the component order in the hierarchy.
Are there any plans to improve the ordering? I guess not many will need it - for PlaceComponents/ReplicateLayout it would be pretty helpful however!
I am aware that I could have generated the refdes based on sheet number - but as the sheet ordering was off, there was little point in doing so. In any case there is only a cosmetic difference chosing the x100 or x1000 option; as I understand it the resulting refdes order is the same in all cases.
Just a tip: You can go to the linked issue in gitlab (see Qborts comment above) and upvote it, if you think it would be a valuable feature. It is rumored to give it a better chance of attention from a developer (no guarantees though)…