Pad rules that survive through reannotation? - Page 1
Forum section: electronics / general

author: Siwastaja
author_rank: Super Contributor
timestamp: February 26, 2019, 03:55:19 pm
content: A pretty basic question. Testing this on AD13.Years ago, I defined direct polygon pour connections on the rule directly, based on the designator, i.e., InComponent('U13') OR InComponent('P666') OR...This of course broke down completely when reannotating. So I learned that I need to do it "properly" by creating a pad class. So far so good, so I've been doing pad classes for pad specific rules. Of course, being "the correct" way, I assumed these pad class membershipsmustbe linked to the component unique IDs even though the Object Class Explorer UI shows the designators.Of course, soon I found out that this does not work either, despite being what people erroneously claim to be "the correct" way. When reannotating, pad class members stay with the old designators: some are removed (if the same designator does not exist anymore), or are corrupted (associated to a totally wrong component). Oh well, at least it doesn't crash. What a pile of crap, anyway.Maybe there isn't a correct way? Maybe this is a bug? But it sounds very strange that Altium silently throws away and corrupts vital design information (which pad is associated with which rules) through everyday annotation process.There must be a way. Or is there?Or: Apparently I need to ask the classical beginner FAQonce more: how do Iproperlyattach a pad to a polygon pour with direct connect? "Properly" means that it doesn't change later on silently, due to other unrelated changes. Wrong answers widely available include:* Create rule with InComponent() tests,* Create a pad class for directly connected pads

author: voltsandjolts
author_rank: Unknown
timestamp: February 26, 2019, 04:18:16 pm
content: You have a polygon pour where some connects are direct and others are thermal relief.You can't use two seperate pours because the different connect styles are not grouped together.Is that correct?

author: Siwastaja
author_rank: Super Contributor
timestamp: February 26, 2019, 04:26:58 pm
content: Yeah, having to split pours to multiple parts would kinda negate the point of usingpoursto begin with. I mean, if I want to draw more manually, I can draw a small polyregion or fill on the top of the pad to connect it any way I want, but that's not the point.

author: ajb
author_rank: Super Contributor
timestamp: February 26, 2019, 07:03:35 pm
content: Quote from: Siwastaja on February 26, 2019, 03:55:19 pmWell, it's doing exactly what you're telling it to do: Pad 4 on the component called U13 should be direct connect. The problem is that it doesn't offer you a better way to specify that particular pad. I think the ideal way to do this would be to have a way to specify the pad class in the schematic, just like you can specify net classes, IE, by attaching a directive to a pin. Specifying component classes in the schematic is another thing that you should be able to do, but can't.You might be able to use a room to control the connection style rules in a particular area, but I don't remember if rooms that aren't generated by a schematic sheet are retained during a PCB update.Personally I usually do it on a per-polygon basis. Usually it's a particular set of connections that I want to make direct, so while it's not ideal, it's pretty easy to deal with. The most annoying part is that you can't specify the class membership of a particular polygon anywhere but the class manager, where you have to know the name of the polygon (as opposed to within the polygon manager or the polygon's properties where you can *see* the one you're looking for).

author: Siwastaja
author_rank: Super Contributor
timestamp: February 27, 2019, 09:47:59 am
content: OK, thanks, this is helpful. Why is it always so difficult to just admit: this thing is not supported.Separate polygons are kind of a hassle, because my typical use case is a switch mode converter of some sort, where the transistors, diodes, fuses, current shunt resistors and connectors are typically directly connected, but the pepper-sprayed DC link bypass ceramic capsabsolutelyrequire the thermals."Not supported" is a fine answer, anyway. I have no issue drawing this manually; especially since the automatic thermal polygon connection doesn't do too good job anyway when a tight layout with irregular shapes is concerned. I was just baffled because I thought this is a beginner problem solved decades ago, and all Google searches indeed look that way, and I thought I must be missing something.BTW it's not only about polygons, but about any arbitrary rule, really. I wonder why they don't rely on their unique ID's more since theydohave them, it would solve many synchronization problems.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: February 27, 2019, 01:55:40 pm
content: Hm, don't think I've been bit by annotation breaking pad class, but I avoid annotation if possible, which helps avoid such things.How about add a component class? I forget if that trickles down to the pad and poly level, but it's worth a shot.Just add a ClassName parameter to the component in question, and it'll propagate to the PCB.Tim

author: Siwastaja
author_rank: Super Contributor
timestamp: February 27, 2019, 09:09:43 pm
content: Yeah, I guess using component classes instead of pad classes would be the closest workable option. It's quite rare that you'd need separate rules for different pads on same component, but it does happen (like, I want a solid pour connection on an IC thermal pad, but don't want the pour running under and directly connecting to other grounded pins). These exceptions would be acceptable to just draw over, anyway.