← Back to team overview

kicad-developers team mailing list archive

Re: PCB Layer Stackup UI

 

Dick Hollenbeck wrote:
jean-pierre.charras@... wrote:

Dick Hollenbeck a écrit :


I meant to say specctra syntax, not specctra format. There is no
specctra format that can fully describe a board. Briefly, there is the
DSN format and the SES format. The DSN describes the copper layers
only, no technical layers. No text. The SES format describes a subset
of the copper layers and has less information in it.



I did not understood that.
So, I do not see any problem to use the Specctra syntax.




One or more sample board files should be created then before any coding is done IMO, using a text editor and a brain.

I think this process is easiest to create the sample(s):

1) load a DSN file from the specctra_export into a text editor or have it as a hardcopy printout nearby for reference.

2) load an existing board file, one with multiple layers, components, tracks, vias, drawings, and multiple zones.

3) copy the board file to a new window, and convert it to the new syntax, but incorporate some new concepts. This is an object conversion, not so much a line by line conversion.



New concepts in the file:

** Special layer names. Any technical layers, plus front and back copper, should get fixed names rather than layer numbers

** Layer sets as discussed.

** unit_res see this in the specctra spec, it allows different regions in the file to to have different units. each unit_res has a limited scope of applicability.

** use concise element names, pay attention to frequency of use. no element should have a lot of unnamed parameters, but instead use nested elements to make the file self documenting.

** the first copper layer is number 0 but has a special name 'front', in addition to any name the user gives it.Dick Hollenbeck wrote:

jean-pierre.charras@... wrote:

Dick Hollenbeck a écrit :


I meant to say specctra syntax, not specctra format. There is no
specctra format that can fully describe a board. Briefly, there is the
DSN format and the SES format. The DSN describes the copper layers
only, no technical layers. No text. The SES format describes a subset
of the copper layers and has less information in it.



I did not understood that.
So, I do not see any problem to use the Specctra syntax.




One or more sample board files should be created then before any coding is done IMO, using a text editor and a brain.

I think this process is easiest to create the sample(s):

1) load a DSN file from the specctra_export into a text editor or have it as a hardcopy printout nearby for reference.

2) load an existing board file, one with multiple layers, components, tracks, vias, drawings, and multiple zones.

3) copy the board file to a new window, and convert it to the new syntax, but incorporate some new concepts. This is an object conversion, not so much a line by line conversion.



New concepts in the file:

** comments can begin at the first of the line with a #

this is supported now by the lexer, and these first sample boards should use comments to help describe any thought processes. Later we should actually be able to load them, even with the comments.


** Special layer names. Any technical layers, plus front and back copper, should get fixed names rather than layer numbers

** Layer sets as discussed.

** unit_res see this in the specctra spec, it allows different regions in the file to to have different units. each unit_res has a limited scope of applicability.

** use concise element names, pay attention to frequency of use. no element should have a lot of unnamed parameters, but instead use nested elements to make the file self documenting.



Questions to be answered:

** which coordinates should coordinates be relative to the origin of their containing object, and which should be relative to the board? Perhaps all should be relative to their containing object.

** Do you introduce a (transform ...) element, so objects can be presented in a uniform un-transformed way on the front layer? Here the specctra spec will be helpful.


Jean-Pierre, do you want to do a board like this? Do you want me to do one? Or should we both do one and combine the concepts later?


Dick








References