Altium Design Rule Question (img heavy) - Page 1
Forum section: electronics / projects

author: altium_intern
author_rank: Newbie
timestamp: February 04, 2015, 03:23:10 pm
content: Dear forum,I'm an EET student working on a PCB Project using Altium Designer 14.2. I have a design rule constraint question that is seriously frustrating me and I've begun to exhaust my resources for finding a solution. I would greatly appreciate any help someone on the forum might be able to offer.First, let me explain the problem. Examine the schematic of the AC circuit in this picture below. I have J1 with input resistors R1-R9 and J2 with input resistors R10-R12. All of this is in a HV class designated as 3mm Clearance/Creepage. Onlyonejumper connector will be in both J1 or J2 at any time. This is so that the input resistor can be changed to match the input voltage.Here is the clearance rule set for the 3mm Clearance/Creepage. This 118mil clearance rule is based off of the Underwriter Laboratory specifications used in this project. So if you're wondering "why" I chose 118mils it's because a UL table told me so.What I need to have happen:I need to set up a design rule constraint such that J1 and J2 and their associated input resistors will have a 118mil clearance. That means J1 and it's resistors can be close together. But, anything being placed or routed around them has to have 118mil clearance. Same goes for J2 and it's resistors. Those guys can be close together. But anything routed near them has to have that clearance.What Altium is doing:Altium is giving me rule violations for all the pads on J1 and J2. Which is infuriating. It also gives me rule violations for all the resistors, which I expect but I don't know how to fix.I need some way to tell Altium " Hey dude, J1 and it's resistors can be close together but nothing else. J2 and it's resistors can be close together and nothing else. Also J1 and J2 are jumpers with one connector in them so those pads can be close together."Again, I greatly appreciate any help.

author: ajb
author_rank: Super Contributor
timestamp: February 04, 2015, 06:51:14 pm
content: Use one rule to set your 3mm clearance betweenInNetClass('3mm')andAny, and use another rule with a higher priority betweenInNetClass('3mm')andInNetClass('3mm')to set the closer spacing for the resistors and jumpers.Note that if you have other objects that you are using the same 3mm class to control clearances for, this will apply to them as well, so you may need to create a new class that is specific to these resistors and jumpers to make the behavior specific to this part of your circuit.EDIT: Or you could make your existing rule betweenInNetClass('3mm')andNOT InNetClass('3mm').

author: altium_intern
author_rank: Newbie
timestamp: February 04, 2015, 08:27:00 pm
content: Ok first, thank you so much for responding I was really worried no one would pay any attention on here.Second, I'm confused what you mean byQuoteWhat isAny? What isInNetClass('3mm')? Are those design rules under electrical clearance? Are they query code? Are they netclass designators? I don't understand.

author: ajb
author_rank: Super Contributor
timestamp: February 04, 2015, 08:50:01 pm
content: Sorry, where I typed "Any" I meant "All", and "3mm" was shorthand for your "3mm Clearance/Creepage" net class--I was being lazy and didn't feel like typing it out. Those are queries that should give you the behavior you want.In order to define a clearance rule, you need to give Altium two queries. Altium uses these to determine whether or not to apply the rule to any given pair of objects. The queries are what you see under "Full Query" next to "Where the First Object Matches" and "Where the Second Object Matches". These queries can be constructed by using the radio buttons and drop downs, or you can select the "Advanced (Query)" option manually type in the query. In your screenshot of the clearance rule, you can see that selecting the "Net Class" radio button and then selecting your "3mm Clearance/Creepage" class gives you the query "InNetClass('3mm Clearance/Creepage')".Queries are very powerful and are key to being able to create complex design rules, among other things. You can use them throughout the PCB, Schematic, and Library editors, and they're particularly useful in PCB and Schematic Filters. Documentation is here:http://techdocs.altium.com/display/ADRR/Query+Language+Reference

author: altium_intern
author_rank: Newbie
timestamp: February 04, 2015, 09:18:38 pm
content: Ok this is what I have so far.I have to leave. I will return at 0800 UTC-05:00 if you are able to offer any more assistance. In the mean time I will continue to read through Altum Query Language tutorials.