← Back to team overview

kicad-developers team mailing list archive

Re: Support for inner layer pads in modules

 

Hi Darrell,

Give a holler if you run into questions.

Cheers,
Jeff.


> On 17 Apr 2018, at 17:16, Darrell Harmon <darrell@xxxxxxxxxxxxxxxxxxxxx> wrote:
> 
> I'm going to make an attempt at a complete patch. It may be a while
> before I get time and I'll have to spend some time learning about Kicad
> internals.
> 
> Darrell Harmon
> 
> On Mon, 2018-04-16 at 11:58 -0700, Seth Hillbrand wrote:
>> Hi Darrell-
>> 
>> Please see https://bugs.launchpad.net/kicad/+bug/1466962 
>> 
>> Pads on inner layers is a good idea but it needs a full
>> implementation.  This would include (at a minimum) adding the pads to
>> arbitrary layers (not just In2_Cu), new netnames layers, GAL layers
>> and zone filling connection/keepout.
>> 
>> It's a bit of an undertaking but if you're interested in helping out
>> with this during the V6 cycle, you can take on the bug report and
>> submit a patch for it.
>> 
>> Best-
>> Seth
>> 
>> 2018-04-16 8:55 GMT-07:00 Darrell Harmon <darrell@harmoninstruments.c
>> om>:
>>> 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-fo
>>> r-st
>>> ripline-microwave-filters/9375/5
>>> 
>>> Thanks,
>>> Darrell Harmon
>>> 
>>> _______________________________________________
>>> Mailing list: https://launchpad.net/~kicad-developers
>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>> More help   : https://help.launchpad.net/ListHelp
>>> 
>> 
>> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp



References