← Back to team overview

kicad-developers team mailing list archive

Re: PLUGIN::Footprint*() from python


> The open issue of changing the non-copper names is best settled if we had a complete
list of proposed names to change to, and to make the determination if this is worth the

Aw oh.   I slept on it and woke up thinking about this as my first conscious waking
thoughts this morning.  (Don't say it, I know I need to get a life, I've been working on
that, for a loooong time.)

As I attempt to show, I think there are some improvements in conciseness possible
(conciseness = ratio of clarity to size), even in the copper layer naming.

I like the wildcard notion and wanted to be able to use it in a few other places.  I also
noticed that "Inner3" does not explicitly say it is a copper layer.

Of course the value of the combos is the reduction in Pcbnew data file size, and increased
speed of parsing.  (Would put the [combo] mask into the hashtable instead of the layer index.)

Attached is my proposal and recommendation.

I would say that the combos can be used even in *.kicad_pcb files where they can.  Custom
layer names pertain to cu layers, and to tracks more than pads.  Here are the heuristics:

a) if a combo can be recognized in a layerMask when Format()ing, then it should be used,
in either BOARDs or MODULEs.

b) otherwise, if saving a BOARD, then use the translated layer names.

c) otherwise, if saving a MODULE, then use the untranslated english layer names.

Proposed default English layer name changes

The impetus of these changes is twofold:

1) lay the foundation of the combo abbreviations
2) bring clarity and conciseness

Old             New             Alternate
=====           =====           =========
Front           F.Cu
Inner1          Inner1.Cu       1.Cu
Inner2          Inner2.Cu       2.Cu
Inner3          Innere.Cu       3.Cu
Inner4          Inner4.Cu       :
Inner5          Inner5.Cu
Inner6          Inner6.Cu
Inner7          Inner7.Cu
Inner8          Inner8.Cu
Inner9          Inner9.Cu
Inner10         Inner10.Cu
Inner11         Inner11.Cu
Inner12         Inner12.Cu
Inner13         Inner13.Cu
Inner14         Inner14.Cu
Back            B.Cu
Adhes_Back      B.Adhes
Adhes_Front     F.Adhes
SoldP_Back      B.SoldP
SoldP_Front     F.SoldP
SilkS_Back      B.SilkS
SilkS_Front     F.SilkS
Mask_Back       B.Mask
Mask_Front      F.Mask
Drawings        Drwgs
Comments        Cmts
Eco1            1.Eco
Eco2            2.Eco
PCB_Edges       Edges

Laying the above building blocks, then paves the way for the following combos.
Special reserved names which indicate combos:

                New             Meaning
                ====            ========
                *.Cu            all cu layers, used frequently in thru hole pads
                F&B.Cu          front and back cu, sometimes needed in double sided SMD pads
                *.Adhes         front and back adhesive, used on double sided SMD pads
                *.Mask          front and back solder mask, used most on all pads
                *.SoldP         front and back solder paste, used on most all pads

Of course the value of the combos is the reduction in Pcbnew data file size, and increased speed of parsing.

Follow ups