← Back to team overview

kicad-developers team mailing list archive

Re: file format feedback

 

On 04/10/2012 08:58 AM, Dick Hollenbeck wrote:
> On 04/09/2012 11:00 AM, Wayne Stambaugh wrote:
>> On 4/9/2012 11:18 AM, Miguel Angel Ajo Pelayo wrote:
>>> They seem to be using "wire" for schematics:  and "wire" for pcb  too.
>>>
>>> They also enumerate the layers at start.
>> Miguel,
>>
>> Thanks for the eagle files.  A layer map at the top of the file is a
>> good idea.  Something like
>>
>> (layers
>>   (0 "NAME_OF_LAYER_0)
>>    .
>>    .
>>   (N "NAME_OF_LAYER_N)
>> )
>>
>> Only the non-default layers would get saved.
>
>
> The number in the above map can be uniquely produced in order to have a meaningful, pretty
> board file, and does not have to carry forward the uncomfortable layer numbering which we
> are using in the BOARD structure now.  We have been wanting to clean up that uncomfortable
> layer numbering for years.  There are mapping functions.  Even the LAYER configuration
> dialog window was written upside down in FULL ANTICIPATION that this would get fixed. 
> Basically the idea was to invert the stack numbering scheme and to close the gap in one of
> the outermost copper layers.  Look around, you can find some ugly mapping functions which
> show what needs to be done.
>
> If in doubt, do what is done in the *.dsn specctra export fomat.  They understood layers,
> at least copper layers.
>
>
> My suggestion on any layer map is to:
>
> a) preserve the specctra/freerouter stuff I put in there in legacy format.
>
> b) fix up the layer numbering NOW, make the board file pretty, prettier than BOARD
> layering is now, then fix PCBNEW when convenient.
>
> c) be prepared to simply use the clean numeric layer number in the *.kicad_brd wires,
> which is an index into the layer map, except when the CTL_CLIPBOARD flag is given to
> TRACK::Format() in which case you might either have to give the entire layer element dope
> that you put out in the layer map, as part of the clipboard output, so you can transport
> this wire from one BOARD to another.
>
>
> Why "wire"s not "segment"s?
>   Google for "printed wire board", it was in vogue before PCB came into play, about 2 days
> before I was board way back in the 1900's.
>
>
> Why *.kicad_pcb over *.kicad_brd ?
>
>
> Because brd is something that lays eggs and flies.
>
>
> Off to work.

Wayne,

there is the ability to get to the BOARD data structure from any BOARD_ELEM, using
BOARD_ITEM::GetBoard(), so if you create this LAYER_MAP_FOR_THE_FUTURE in the BOARD, then
in theory you can get to it from the TRACK::Format() function.





References