kicad-developers team mailing list archive
Mailing list archive
Re: Pcbnew layers
Thu, 01 Oct 2009 03:59:49 -0000
--- Alain Mouette wrote:
> > Dick Hollenbeck wrote:
> > > Alain Mouette wrote:
> > > > I miss this very much. Sometimes I have a metal part touching
> > > > the board (like a cristal or an RJ45) and Freeroute makes a
> > > > mess...
> > > >
> > > A keepout layer? Why not a keepout zone? If you wanted to keep
> > > someone out of a particular room in a multi-floor office
> > > building, you would lock the door, you would not build a new
> > > floor.
> Well... when you live in a two dimensional world, as layers do, you
> can get enprisoned by a simple line on the floor, if if happens to
> be in your floor.
> But more to the point: using tracks or poligons as in zones is
> probably just the same. IMHO tracks is just easier but that may be
> because I got used to that.
> The important thing is that it should be possible to add it to a
> module, like an RJ45 with a metal body...
> PS: I like Geoff's idea of being able to select which layers are
> part of the project in a way that they get removed from all
> dialogs. I just find his color scheme too strange :)
The concept of being able to select which layers are displayed in dialog boxes is basically Isaac's idea rather than mine. I'm not "hostile" to the idea, though I would see merit in retaining the ability to have controls displayed for every layer (for the benefit of any users who want to continue having all of those controls displayed).
And as far as "color-coding" the text strings associated with each layer are concerned, a picture is said to be worth a thousand words. Hence I have recently uploaded a ZIP file to the Files section of this mailing list whichcontains a couple of images. (Refer to the 99SE_layers_dialogs.zip file which is located at:
The 99SE_Layers_Dialog_standard.jpg file is a "snapshot" of the "standard" dialog box (as provided with the Protel 99 SE application) for displaying and editing which layers are visible.
And the 99SE_Layers_Dialog_customised.jpg file is a "snapshot" of a dialog box which I implemented (using Delphi 5 in conjunction with SDK files whichAltium provided to users wanting to provide customised functionality for Protel 99 SE).
The four text strings at the bottom right hand corner of that dialog are an"index" which list the meaning of each color for text strings associated with each layer, so I can tell at a glance that there are objects on three layers (the three layers with red text strings), and that both solder mask layers are "occupied" (due to pads and/or residing on the Multi-Layer layer), and that the bottom paste mask layer has "concealed" usage (due to surface mount pads on the bottom copper layer which are all totally masked on thecorresponding paste mask layer).
In my opinion, after having the additional information of current layer usage displayed in the customised dialog, I don't want to ever have to subsequently rely upon the distinctly smaller amount of "information" displayed inthe "standard" dialog.
As I said in my previous message, changing the color of text strings displayed in dialogs in the manner which I have done does not comply with "standard practice", but perhaps a (software) LED could be provided on the left hand side of each checkbox provided for each of the (user-editable) layers. Or maybe each text string could incorporate additional characters to identify the current usage state of the corresponding layer -- such as a prefix of'(*) ' or '(O) ' or '(C) ' or '(-) ' (depending upon whether the layer is in a Used, Occupied, Concealed, or Unused state respectively).
There are some differences between Protel/AD and KiCad as far as layers areconcerned; in KiCad, pads effectively reside on all layers, whereas in Protel/AD, pads are effectively "native" to just one layer. So while there is a case for layers to also have "Used" and "Unused" states in KiCad, yet other states, such as the "Occupied" and "Concealed" states which I defined inProtel 99 SE, would need some consideration in the context of KiCad.