KiKit icon indicating copy to clipboard operation
KiKit copied to clipboard

kikit separate: net renaming breaks substitution vars like ${SHORT_NET_NAME(n)}

Open dlitz opened this issue 1 year ago • 1 comments

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

image

After using kikit separate:

Note how the GND and VDD labels are made illegible on J1:

X1 X2
image Screenshot_20240514_002122

Schematics

Root

Screenshot_20240514_001146

subckt.kicad_sch

Screenshot_20240514_001213

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
  • 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

dlitz avatar May 14 '24 06:05 dlitz

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.

yaqwsx avatar Jul 18 '24 11:07 yaqwsx