I think I’ve found a minor bug in the DRC. At least I think the DRC is the item at fault.
Background
I have a custom footprint pad definition made up of two pads, a through hole pad on both copper sides, and a through hole pad defined with a custom circular anchor, and some custom shape primitives to make an asymmetrical pad on the B side, for easy soldering.
The set up works practically, and plots as expected, I’ve used it extensively.
Problem
If I define the B side as an SMD type, the 3D viewer renders the back of the board without the hole. If I define it as a through hole pad, unsurprisingly it renders the through hole correctly.
This may be considered a limitation of the 3D viewer, as I guess the through hole pad should take priority over the SMD pad.
However set up like this the DRC reports errors as the graphic. (How do you/can you cut and past DRM error reports as text?)
I can switch those errors on and off by changing the definition of the B side pad to SMD and restore the DRC error by switching it to through hole.
However the error is only present when a front side track is attached to the pin. Moving the connection to the B side also removes the error report.
And restores it when the track is returned to the front side.
This is clearly not a fatal error, I can live with the incorrect 3d Render, or ignore the DRC error.
It’s sufficiently subtle though, that it may be of interest.
Harry
Version and host info
Application: KiCad
Version: 5.1.6-c6e7f7d~86~ubuntu18.04.1, release build
Libraries:
wxWidgets 3.0.4
libcurl/7.58.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3
Platform: Linux 4.15.0-109-generic x86_64, 64 bit, Little endian, wxGTK
Build Info:
wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.22
Boost: 1.65.1
OpenCASCADE Community Edition: 6.9.1
Curl: 7.58.0
Compiler: GCC 7.5.0 with C++ ABI 1011
Build settings:
USE_WX_GRAPHICS_CONTEXT=OFF
USE_WX_OVERLAY=ON
KICAD_SCRIPTING=ON
KICAD_SCRIPTING_MODULES=ON
KICAD_SCRIPTING_PYTHON3=ON
KICAD_SCRIPTING_WXPYTHON=ON
KICAD_SCRIPTING_WXPYTHON_PHOENIX=ON
KICAD_SCRIPTING_ACTION_MENU=ON
BUILD_GITHUB_PLUGIN=ON
KICAD_USE_OCE=ON
KICAD_USE_OCC=OFF
KICAD_SPICE=ON
Host: Thinkpad Kernel: 4.15.0-109-generic x86_64 bits: 64 compiler: gcc v: 7.5.0
Desktop: Cinnamon 4.4.8 wm: muffin dm: LightDM Distro: Linux Mint 19.3 Tricia
base: Ubuntu 18.04 bionic