Welcome to the CADSTARguys Blog - Information, hints, tips and my waffle on the CADSTAR Printed Circuit Board design suite.

Please note that all names used are completely fictitious and any thing written is my own personal opinion or knowledge and not related in any way to either my employers or their customers (or Zuken).
Also this is not a replacement for proper Maintenence/support and you should read the help files before asking anything techy:).

Monday, 5 October 2015

Hiding text, lines and origins - how to control where they appear.

There are some features that are applied to all components however we the user want to be able to control which ones we see and which we do not.
By this I mean, for instance - an attribute such as Value, Package, Voltage etc or perhaps a component outline or a pad and so on.

There are a couple of ways to make it so that we do not see them, the simplest being to disable them in the colours - however this applies to all components and we cannot disable them per component\part by design without a little ingenuity.

For some examples of where you may want to do this consider some of the following situations:

1) You have a component for a relay that uses pads 1-6, 9 and 10 but not pads 7 and 8 and although you can create the component with pads 1-8 and remap them in the part definition you would prefer the pads to have the exact numbers.

2) You have an outline shape on a component that you want to see in some situations but not in others.

3) You have an attribute for the package size of a component, it's usage is Symbol and Component so it can be seen in both schematic and PCB. However on all your resistors in your schematic you want the 0603 package ones (as the most commonly used package) to not display the attribute and only display those that are not 0603. This way you can simply say "All resistors 0603 unless otherwise specified" and de-clutter the schematic a bit by omitting the package attribute display on the 0603 resistors.

Suggested methods:
First lets deal with pads, prior to version 14 we had to have sequential numeric pad numbers and could not miss 2 pad numbers however now we can add only the pad numbers that we do want so what follows for this is historic (but still done by some).
However - what we used to do was simply add the pads that we do not want to be seen on the component as zero sized pads, these take up the allotted pad number and allow the required sequential pad allocation. It is a lot easier now however when changing any part to use a component in the new format backwards compatibility needs to be considered for older designs.

For outlines that you do not want to see in all situations then there are a couple of options, the first is to simply have an alternative component with or without the outline, make a change in the PCB and the part assumes it is the same. However because reloading the whole design and having the option to retain alternatives deselected can change them back to the original- some prefer to not use alternatives.
So another way is to have the outlines drawn in a unique line code that we can set to have zero width.
This way we can disable it by changing it to the zero width or display it by giving it a value.
Alternatively we can have this outline on a non electrical layer specifically for these outlines, that way we can enable or disable that layer as and when we need to see it.

Text and User Origins:
For text items such as the user attributes given in the 0603 example above there are a few ways of dealing with it.

Firstly when bringing a symbol (or component) into a design if the user attribute has a value (content) then we control the location, text code and layer by using an attribute origin.

However if we do not use an origin then it is controlled by the defaults, within the defaults on the Text tab there is an Attributes option that controls the text code it will use in schematics and also the layer in PCB.

So as there is no origin to control it, the attribute will use what the defaults define. So how do we use this?

By ensuring that the symbols and components that you do want attribute text displayed for use an Attribute origin then we can use the defaults to control the rest, by setting the text code to be used as one with a zero pen with any attributes will then not be visible, call the text code "Hidden Text" so that we know what it is for we can always give the width a value if we do need to display them to find them etc.

In the PCB we can setup additional no electrical layers such as "Top Unused Attributes" and "Bottom Unused Attributes" and set that as the default so that they are placed onto these layers instead.
I would also move my mounting hole, fiducial mark, tooling hole etc. names onto these layers to hide them.

The origin is added by editing the symbol or component and the value of it is entered into the part definition.
This is the point that you get to decide the location, text code and layer that it uses.

So what about hiding the "0603" package attribute on symbols in the schematic as detailed above?
Open the Attribute Editor, on the Symbol tab locate your attribute name and double click on the heading for it , this will first sort the column by that attribute.
Then you can select all the rows with the 0603 value and at the bottom of the dialogue set them to use a hidden text code. This removes the display of the attribute but it is still there to be used by other processing (such as reports).

Within the PCB you can do the same and move them to another layer as detailed above.
It is quite common for users who have not done any of this before to have the Top Silk layer defined in the defaults and end up with a silkscreen full of attribute text which when output as ODB++ makes it a mess.

Moving them from within the Attribute Editor is the simplest way of tidying this up, setting the system up so that they are not placed there in the first place prevents us forgetting it and making it automatic but does take some setup configuration in libraries, default and colour files.

With forethought into what you will be wanting to display or not this can all easily be setup to be automatic, as an afterthought its just as easy to do.

Got any questions on this? Just follow this blog and ask away....


Post a Comment