← Back to team overview

kicad-developers team mailing list archive

Re: Pcbnew layers


Alain Mouette wrote:
If you are modifying layers, I would like to add something:

Something that is missin in kicad and is very anoying is a keepout layer. I believe that al least 3 shouls exist: top, bottom and all.

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.


Another thing that I miss, is one or two "assempbly" layers. this is very usefull. I used it very much in Tango. These layers are just ignored by autoroute and DRC and so can be used for drawing other things...


Isaac escreveu:


As Dick already said, I have some ideas about the layers user interface. I will try to explain and would like to know the other's opinions.

Pcbnew has a total of 29 layers, 16 copper and 13 non-copper.

Today it is possible to configure the number of used copper layers, and the unused layer names don't appear in the current layer selection widget, but they do in the layer color and visibility dialog.

The non-copper layers names always appear in every related widget/dialog, irrespective if they are used or not.

What I'm sugesting is that we add a bit-mask member to the class BOARD (suggestion: int m_EnabledLayers) which will control what layers names will be shown in the dialogs/widgets.

Question: Is it possible to add this member to the class BOARD without breaking file format compatibility?

It would be nice if older versions of Pcbnew just ignore this extra field and new versions just assume all layers enabled if the field is not present.

Please note that this "Enabled Layers" is different than "Visible Layers". Today it appears that the concept of enabled/disabled is indeed visible/invisible. If layers in Pcbnew were objects that could be created/destroyed, then there would be no need for such distinction, but as the layers are always there then we need two different concepts.

In another post I will explain my ideas for layer setup and control dialogs, and also the concept of "layer sets" (in my opinion a great time-saver when designing/routing boards).

Best regards,


Follow ups