Hyperlynx export does not include copper shapes in PCB footprints
Description
When using the Hyperlynx export tool, the output does not include copper shapes that are included in a footprint, unless they are a "pad".
Here is an example of a very simple layout in the PCB Editor. I used the Add Microwave Shape tool to create W1, which is just an arbitrary winding trace. The trace connecting J1 and J2 is just created using the "Route tracks" tool.
Here is that layout in the 3D Viewer
Here is the file imported into AppSCXCAD for use with OpenEMS. Notice that the start and end of W1 are present, but the rest is missing.
It is also easy to see that the winding shape is not included in the .hyp file that is exported. See below:
{VERSION=2.14}
{UNITS=ENGLISH LENGTH}
{BOARD "....\demonstration.kicad_pcb"
(PERIMETER_SEGMENT X1=7.062992126 Y1=4.149606299 X2=2.212598425 Y2=4.149606299)
(PERIMETER_SEGMENT X1=2.212598425 Y1=4.149606299 X2=2.212598425 Y2=1.598425197)
(PERIMETER_SEGMENT X1=2.212598425 Y1=1.598425197 X2=7.062992126 Y2=1.598425197)
(PERIMETER_SEGMENT X1=7.062992126 Y1=1.598425197 X2=7.062992126 Y2=4.149606299)
}
{STACKUP
(SIGNAL T=0.00137795 P=0 C=1.724e-08 L="F.Cu" M=COPPER)
(DIELECTRIC T=0.0594488 C=4.5 L="DE_F.Cu" M="FR4")
(SIGNAL T=0.00137795 P=0 C=1.724e-08 L="B.Cu" M=COPPER)
}
{DEVICES
(? REF="W1" L="F.Cu")
(? REF="J2" L="F.Cu")
(? REF="J1" L="F.Cu")
}
{PADSTACK=0, 0.000000000
("F.Cu", 0, 0.078740157, 0.078740157, 180.0, M)
}
{PADSTACK=1, 0.240157480
("MDEF", 0, 0.400000000, 0.400000000, 180.0, M)
}
{NET="EmptyNet0"
(PIN X=6.2755905512 Y=2.3937007874 R="W1.2" P=0)
}
{NET="EmptyNet1"
(PIN X=3.1102362205 Y=2.4094488189 R="W1.1" P=0)
}
{NET="EmptyNet2"
(PIN X=6.7165354331 Y=3.1338582677 R="J2.1" P=1)
}
{NET="EmptyNet3"
(PIN X=2.6535433071 Y=3.1968503937 R="J1.1" P=1)
}
{NET="EmptyNet4"
(SEG X1=3.1181102362 Y1=3.6614173228 X2=2.6535433071 Y2=3.1968503937 W=0.0787401575 L="F.Cu")
}
{NET="EmptyNet5"
(SEG X1=6.1889763780 Y1=3.6614173228 X2=3.1181102362 Y2=3.6614173228 W=0.0787401575 L="F.Cu")
}
{NET="EmptyNet6"
(SEG X1=6.7165354331 Y1=3.1338582677 X2=6.1889763780 Y2=3.6614173228 W=0.0787401575 L="F.Cu")
}
I have the same issue when I create a custom footprint with arbitrary geometry. I see another user had this same problem in this forum:
copper defined as shapes is ignored, only zones and tracks are imported
Steps to reproduce
- In PCB Editor, go to Place --> Add Microwave Shape --> Add Microwave Line
- Follow steps to create a microwave line of any length.
- File --> Export --> Hyperlynx...
- Open the .hyp file in a text editor, and observe no reference to the microwave line geometry except for the pads at the beginning and end. You can also use your preferred software to view a 3D model based on the .hyp file. I used the instructions for OpenEMS found here
KiCad Version
Application: KiCad PCB Editor (64-bit)
Version: (6.0.0), release build
Libraries:
wxWidgets 3.1.5
libcurl/7.78.0-DEV Schannel zlib/1.2.11
Platform: Windows 10 (build 22000), 64-bit edition, 64 bit, Little endian, wxMSW
Build Info:
Date: Dec 24 2021 19:17:02
wxWidgets: 3.1.5 (wchar_t,wx containers)
Boost: 1.76.0
OCC: 7.5.0
Curl: 7.78.0-DEV
ngspice: 35
Compiler: Visual C++ 1929 without C++ ABI
Build settings:
KICAD_USE_OCC=ON
KICAD_SPICE=ON