PCB Library default solder mask expansion value - Page 1
Forum section: electronics / general

author: doklevise
author_rank: Newbie
timestamp: March 17, 2024, 03:33:43 pm
content: Is it possible to change default PCB library editor solder mask expansion value?When I select a pad and set soldermask expansion to "Rule Expansion" it defaults to 4mils (in my case at least). I know solder mask expansion will take value defined in PCB project rules, but I would like to be able to change it in PCB library eidtor, just for looks of it (and quick visual inspection that everything is the way I want it to be).Thanks.

author: PlainName
author_rank: Super Contributor
timestamp: March 18, 2024, 11:24:12 am
content: Take a look at Preferences -> PCB Editor -> Defaults -> Region -> Solder mask expansion.

author: doklevise
author_rank: Newbie
timestamp: March 18, 2024, 09:54:45 pm
content: Thanks for the suggestion, but it doesn't work. I even tried to switch to manual, change the value, than switch back to rule defined, and when I switch back it returns it to 4mil.The same happens when instead of region i select pad, and try to change solder mask expansion there.

author: PlainName
author_rank: Super Contributor
timestamp: March 19, 2024, 12:14:29 am
content: Sorry, I gave you the wrong pointer - that works for regions but, of course, you're not placing a region. The proper one is Preferences->....->Pad->Solder mask expansion.I just tried it to make sure it does work, but it only does so on new pads placed since you set it and not existing pads (which is sensible).

author: doklevise
author_rank: Newbie
timestamp: March 19, 2024, 10:42:28 pm
content: I don't think we are on the same page here. I'm not trying to set default pad to have selected "Manual Expansion" with value 0. What I'm trying to do is to make default pad that has selected "Rule Expansion", but instead 4mils, that Altium is forcing, to set 0mil as rule defined value inside of PCB Library.When I go to Preferences -> PCB Editor -> Defaults -> Pad, and select "Manual Expansion", I can set any value I want. But, as soon as I change to "Rule Expansion" and click "Apply" Altium sets expansion value to 4mil, and it is dimmed, so I can not change it.

author: PlainName
author_rank: Super Contributor
timestamp: March 19, 2024, 10:56:56 pm
content: If you set the manual expansion there, when you place a pad doesn't it use that as the rule? I think the setting in preferences is 'rule = we'll do it' vs 'manual = you set it'. When you come to placing the pad, it is 'rule = what's in preferences' and 'manual = make it up just this once'.Edit: no, that's rubbishJust tried it again and indeed, if you change to rule when placing a pad it defaults to something else. The manual setting in preferences sets the default manual value when placing the pad. So, sorry, no idea how to change the rule default globally.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: March 19, 2024, 11:15:16 pm
content: Object defaults are for the properties of newly placed objects, yeah.At best, it would be Document Options, or Layer Stack Manager (you can change layer thicknesses and counts, however!), but libraries just don't have that many options. You might think they adopt the design rules of the project they're linked from (if included in that way), but that doesn't quite work, because design rules are specifically within the PCB. (Theycould'vedone it that way (a really long time ago, like PCAD days probably, or earlier even?), that is make design rules a project scoped setting; that would've made supporting multiple PCBs [within a project] harder, but I mean it was a long time before they had that as a feature too. Well, turns out they put design rules in the PCB, so that's that.)There probably is a hidden set of rules or object defaults somewhere, but embedded in the program, not normally accessible to the user. It's probably not in a file, I would guess, but if you want to flip through zillions of files, who knows. (Offhand, it's not in the ADVPCB.DFT, which only stores objects listed in Tools/Preferences. Bonus points if you're able to create whole new object defaults from scratch though, lol.) I wouldn't know where to begin with that, but possibly some extents can be probed with scripting, without resorting to attaching a debugger or whatever.Would be nice, but yeh. My annoyance is, I prefer to set non-plated holes/slots as zero dimension copper, which makes them ~unselectable in PcbLib view. (I set aNOT HoleIsPlatedrule, soldermask expansion, from hole, +0.08mm or so, to solve this once it's on the PCB.)Tim