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:).

Wednesday, 30 June 2010

CADSTAR Spacing Classes and what they do.

What are Spacing Classes and why use them?

A spacing class is a way of identifying that a net should be treated different to other nets with regard to spacings. A spacing class will overrule your design rules.

You would use a spacing class for something like identifying high voltage or sensitive tracks so that other nets stay away from them by the specified space.

E.G if you have a mains track that you wish to remain at least 4mm away from all other tracks then you would setup a spacing class that is set to 4mm distance from unclassed tracks (or to any other class you set it to). This way all tracks would stay away from the net with the 4mm spacing class on it, this includes component pins, tracks, vias, copper or anything electrical that is connected to that net.

How do you set them up?

In your assignments there is a tab for spacing classes.

For schematics you currently only define a name for the spacing class, then when you are setting the net code you also assign the spacing class code to the net.

When you transfer to PCB or do an ECO update in PCB the class is applied in the PCB.

It is in the PCB that you actually define what the spacings for each class are and if you find that you use spacing classes often then I would recommend that you define them in your template files.

This too is done in the assignments where you are presented with a matrix type screen.

As you can see I have set 110v to unclassed as 2mm and 220v to unclassed as 4mm.

I have also set 110v to 240v as 2mm and 240v to 240v as 2.5mm.

Note: the values have no bearing on true spacings to use for these voltages
they are just used as examples.

When routing your PCB either manually or using the autorouter with errors not allowed then nets with spacing classes set will be routed with these specific greater spaces on them.

What about component pins that do not have nets on them?

Suppose you have a component that has additional unused pins that you also want to assign a spacing class to?
This can easily be achieved by adding an assignment to the pin, the attribute is called uspacing_class and is of the type attribute of "pin".

Using the attribute editor and on the pins tab (not forgetting to tick the "Show Unconnected" box) with the attribute added in the list of attribute names then you simply find the unconnected pins you want to use and enter the name of the spacing class in the uspacing_class column.

Then either in the embedded router or PREditor when you pour copper (or use powerplanes) the spacing's set for that class will be observed on those pins.

And that is Spacing Classes!

I thought I would add an addition to this post after several discussions I have been party to recently and to keep someone happy....

When you set a spacing class to maintain a specific gap between nets please remember that the std you are reading from is most likely talking about the spacing "through air" (solder resist does not count) however if you use the inner layers for your HV tracks then you can go down to about 0.1mm/0.4mm spacing as the tracks are protected by the prepreg/laminate insulation.

If you have any additional information that I should or if I have made a mistake please add a comment and let me know.


Chris said...


I have a set of spcing rules set up in a previous design is there anyway to see what nets are using this spacing class?


The CADSTAR Guy's Blog. said...

Using the Attribute Editor will enable you to see which net has a spacing class applied to it, you can also change the classes each net uses here in groups by setting one - copy the name then select all the others and paste to them all.

Chris said...

Thanks very much that is exactly what I need, happy days.

Post a Comment