kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #09118
Re: PLUGIN::Footprint*() from python
On 11/12/2012 03:38 PM, Dick Hollenbeck wrote:
> On 11/12/2012 12:19 PM, Wayne Stambaugh wrote:
>> On 11/11/2012 9:46 AM, Dick Hollenbeck wrote:
>>> 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
>>> MINOR.
>>>
>>> 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.
>> It shouldn't be a problem for legacy board files. Only the copper layer
>> names are saved in the legacy format which are about as concise as you
>> can make them without abbreviating. There shouldn't be too many sexpr
>> files around other than a few developers so if we are going to change
>> the English names, then now is the time. I could see dropping the
>> underscores from the camel case names and drop the "PCB_" from
>> "PCB_Edges" since PCB is implied. Another option is to drop the vowels
>> from the layer names so "SilkS_Back" becomes "SlkScrnBck". In some
>> cases the name will not be any fewer characters but would be more
>> readable. I'm assuming that by concise that you mean as short as
>> possible without any loss in readability.
>
> Yes, "as short as possible without any loss in readability", is a concise definition of
> concise.
>
>
> Agree that copper names are now already optimal.
>
>
> Extending your suggesting further, what about using a leading or trailing
oops, no "or trailing"
> 'B' (=Back) or
> 'F' (=Front), rather than the suffix of Bck?
>
> BSlkScrn
> FSlkScrn
> etc.
>
> (These non-cu name changes, although improvements that I would enjoy, still leave me less
> than 100% comfortable this late in the game. I am concerned about how this propagates
> into the layer manager user interface, where the user sets up his board names. Are you OK
> with these names there too? Don't remember if we have layer specific tool tips there, but
> that would help.)
>
>
> I also coded last night some support to compress the "all copper stack" found in through
> hole pads into "*.cu", that is *.cu.
> This 4 character sequence is about as concise as you can get there too. This will have a
> tremendous impact on reducing the size of through hole pads, and leaves the door open to
> more copper layers down the road. This simply means all cu layers.
>
> Last night I also trimmed out the tstamps where not needed, but have not committed yet.
>
> 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 disruption.
>
References
-
Winbuilder Nanometer support
From: Brian Sidebotham, 2012-10-11
-
Re: Winbuilder Nanometer support
From: Dick Hollenbeck, 2012-10-11
-
Re: Winbuilder Nanometer support
From: Wayne Stambaugh, 2012-10-11
-
Re: Winbuilder Nanometer support
From: Adam Wolf, 2012-10-11
-
Re: Winbuilder Nanometer support
From: Wayne Stambaugh, 2012-10-11
-
Re: Winbuilder Nanometer support
From: Dick Hollenbeck, 2012-10-11
-
Re: Winbuilder Nanometer support
From: Adam Wolf, 2012-10-11
-
Re: Winbuilder Nanometer support
From: Hans Henry von Tresckow, 2012-10-19
-
Re: Winbuilder Nanometer support
From: Adam Wolf, 2012-10-19
-
Re: Winbuilder Nanometer support
From: Miguel Angel Ajo Pelayo, 2012-10-19
-
Re: Winbuilder Nanometer support
From: Adam Wolf, 2012-10-19
-
Re: Winbuilder Nanometer support
From: Miguel Angel Ajo Pelayo, 2012-10-19
-
PLUGIN::Footprint*() from python
From: Dick Hollenbeck, 2012-10-19
-
Re: PLUGIN::Footprint*() from python
From: Miguel Angel Ajo Pelayo, 2012-10-19
-
Re: PLUGIN::Footprint*() from python
From: Dick Hollenbeck, 2012-11-11
-
Re: PLUGIN::Footprint*() from python
From: Dick Hollenbeck, 2012-11-11
-
Re: PLUGIN::Footprint*() from python
From: Wayne Stambaugh, 2012-11-11
-
Re: PLUGIN::Footprint*() from python
From: Dick Hollenbeck, 2012-11-11
-
Re: PLUGIN::Footprint*() from python
From: Wayne Stambaugh, 2012-11-12
-
Re: PLUGIN::Footprint*() from python
From: Dick Hollenbeck, 2012-11-12