Layer types are a feature of the program often overlooked by users, but they are a necessary and powerful tool.  Looking at the layer types tab under design technology, it's clear that they control which types of pad can appear on a layer, but they do so much more.  Edit one of the existing types and you'll see more features.


Firstly the oversize function allows global pad exceptions to be applied to any layer using the layer type so dedicated paste and resist mask layers will automatically display, and more importantly, plot the correct sizes.  For paste it's better to define the size as a percentage of pad width, so paste is not lost disproportionately from narrow pads.  Conversely for resist a fixed oversize is better, as the clearances from pads to adjacent items are also fixed.  This also means that any plot of one of these dedicated layers can be done as a normal plot as the corrections are inherent in the layer.  There is one circumstance where these global pad exceptions don't apply which is when a pad style has a local pad exception applied to a layer, in which case the local exception takes precedence and the global exception is ignored.  If the local pad style exception has been applied to the footprint, the exception will be applied to the mirrored layer if the component is flipped in a design.

Secondly, there's a mysterious check box for 'Placement Shapes'.  If you've used the PCB symbol wizard, you'll have been prompted whether you want to use a placement shape.  This check box enables any layer using the layer type to accept placement shapes.  for a more detailed explanation, please see the 'What are Placement Shapes' FAQ.

Finally there's a useful setting to 'Break Shapes Around Pads'.  This is most useful on the 'Silk Screen' layer type as what this does is interrupt any shape on an applicable layer that's violating clearance to a pad, so that any silk which inadvertently covers part of a pad is split so as to leave the pad clear, but it's equally applicable to any other layer type where this could be an issue.


There are a couple of important constraints on layer types which can cause problems if they're not observed.  The first is one of the ways in which layer types are used.  The link between a pcb symbol and a design in which it is used cannot be done solely by layer name.  That's because of a copper layer were defined in one place as 'Top Copper' but in the other as 'Top Electrical' the mismatch would cause the component to fail, so a more subtle method is used.  Data is matched by matching the side of the layer and the layer type, so in the previous case, both would be side [Top] and type [Electrical] making the data match.  The same method is used to match layers when a component is flipped/mirrored which is why it is only permitted to use each layer type for one layer on the top and one on the bottom side of any symbol or design.  The one deviation from this approach is when pad exceptions are defined as part of a symbol, when it is still the specific layer name which must match between symbol and design.  For inner layers, as multiple layers can use the same layer type, the layer name is used as a backstop when necessary to avoid ambiguity.

One consequence of using layer types for matching is that the silk screen layers in ALL standard libraries whether coming with the program or purchased as add-ons use the layer type 'Silk Screen' for any silk screen information.  That means for compatibility, it's strongly advised to continue using this layer type for any custom PCB symbols and designs.  As this setting is inherited from technology files, it's also important to consider when custom technology files are being created.