kikit separate: net renaming breaks substitution vars like ${SHORT_NET_NAME(n)}
Prerequisites
- [X] I have read FAQ
- [X] I have searched existing issues (including closed ones)
- [X] I use KiKit at least version 1.5.1 (older version are not supported)
KiKit version
1.5.1+11.g56f018a
KiCAD version
8.0.2
Operating system
Debian bookworm (flatpak)
Description
kikit separate adds prefixes to all netnames (e.g. "Board_0-GND"), which garbles use of substitution vars like ${SHORT_NET_NAME(1)} in footprints when they refer to global netnames.
Modifying netnames might be necessary when panelizing, but there should be no need for it when simply splitting up a PCB, and it breaks footprints that put netnames on the silkscreen layer.
Before using kikit separate
After using kikit separate:
Note how the GND and VDD labels are made illegible on J1:
| X1 | X2 |
|---|---|
Schematics
Root
subckt.kicad_sch
Steps to Reproduce
- Unarchive and open project demo-kikit-separate-netname-bug.zip
- Source PCB file:
demo-kikit-separate-netname-bug.kicad_pcb - Generated PCB files:
generated-X1.kicad_pcb,generated-X2.kicad_pcb
- Source PCB file:
- To rebuild, edit and use the included Makefile, or run:
kikit separate --source "annotation; ref: X1" demo-kikit-separate-netname-bug.kicad_pcb generated-X1.kicad_pcb
kikit separate --source "annotation; ref: X2" demo-kikit-separate-netname-bug.kicad_pcb generated-X2.kicad_pcb
Thank you for noting this. I wasn't aware you are able to reference net names in labels in KiCAD. Ideally, we should bake the net names for panelization, however, this seems a little more involved than I expected.
Therefore I disabled net renaming in board separation in 5fe407f as it should solve most of the problem we observe. The "ultimate" fix will take some time to implement and test properly.