kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #35463
Support for inner layer pads in modules
Inner layer pads are useful for microwave filters implemented as Kicad
modules, allowing tracks to connect to them.
I've made a quick and dirty change to support the board I'm currently
designing:
--- a/pcbnew/class_pad.cpp
+++ b/pcbnew/class_pad.cpp
@@ -1248,6 +1248,11 @@ void D_PAD::ViewGetLayers( int aLayers[], int&
aCount ) const
aLayers[aCount++] = LAYER_PAD_BK;
aLayers[aCount++] = LAYER_PAD_BK_NETNAMES;
}
+ else if( IsOnLayer( In2_Cu ))
+ {
+ aLayers[aCount++] = LAYER_TRACKS;
+ aLayers[aCount++] = LAYER_PADS_NETNAMES;
+ }
// Check non-copper layers. This list should include all the
layers that the
The result looks like this (purple fingers are a polygon):
https://harmoninstruments.com/images/innerpads.png
This needs an IsOnInnerLayer function which does not appear to be in
the existing source. Also, using LAYER_TRACKS gives gray pads. What
would be the best way to handle this?
DRC and generated gerbers appear to be correct.
I brought this up in the past on the kicad.info forum:
https://forum.kicad.info/t/component-with-pads-on-an-inner-layer-for-st
ripline-microwave-filters/9375/5
Thanks,
Darrell Harmon
Follow ups