← Back to team overview

kicad-developers team mailing list archive

Re: PLUGIN::Footprint*() from python


On 11/11/2012 08:07 AM, Wayne Stambaugh wrote:
> On 11/10/2012 11:13 PM, Dick Hollenbeck wrote:
>> *Observations:*
>>> a) Layernames should be in English always (in a footprint, not a board).
>> Once we go down this path, we can never change the English default layer names without
>> maintaining support for the current spelling of the ones you see now.
> I knew this had the potential to be an issue when I designed the new 
> file format.  I am not opposed to going back to a hexadecimal bit mask 
> for layer definition.  Now would be the time to do it before we make the 
> new file format the default.  We would be trading human readability and 
> potentially unlimited layers (I'm not sure that is important) for a 
> smaller file size, faster layer parsing, and easier maintenance.  There 
> are sound arguments for both designs.  Internally Pcbnew layers are 
> still bit masks so the number of layers are limited to the integer size. 
>   Any move to a layer stack would require major changes.  It does seem 
> that a hexadecimal bit mask is more appropriate given our current 
> design.  We can always move from a 32 bit to a 64 bit layer mask when 
> users start requesting more copper layers.
> Wayne

The layering *order* in pcbnew is questionable, and something I've been arguing to change
for 4 years.  Therefore the hexadecimal numbering scheme is more likely to become obsolete
than is a well thought out English layer name.

I also don't think you have a speed problem parsing layer names.  We can get an
improvement using std::string in stead of wxString for the hashtable.   There's not a lot
of point in converting to wxString before doing compares or hash functions.   But this is

When I load a *.kicad_pcb file now, it loads at about the same speed as a legacy load on
the same *large* board.

We do not have a problem.  I am in favor of staying with the current game plan, although
would be open to another look at English layer name *spellings*, NOW.   Personally the
spellings seem clear, but I am not certain about conciseness, but don't take that as an
objection to current conciseness.   Practically, we may already be past the point where
they can be changed without disruption.


Follow ups