A related question, even though it’s not directly about this new prototype.
If I have Copper edge clearance set to 0 in Board Settings -> Design Rules -> Constraints, I can place a footprint pad very near to the edge. However, I can’t place the pad on the edge so that it overlaps the edge line middle line.
Is this on purpose? If the new DRC rule system works in a similar way, i.e. zero means “can be next to, but not overlap”, how do I allow placing a pad on the line, which is the same as “ignore copper-to-edge altogether”?
I’m not sure what you’re trying to do here. You’ve told the DRC engine that tracks inside a keepout can have 0 clearance with the keepout (that is, they can touch). Since there’s no default clearance with a keepout they could anyway.
If you’re trying to ban the track from the keepout you need a “disallow” constraint, not a “clearance” constraint.
All that aside, it shouldn’t be giving blank errors. I’ll look in to that…
That wasn’t a ready to be used rule yet, I’m just trying to use the keepout as a local area (as has been instructed). Actually the blank error was the reason I posted, so that I could go on debugging.
Wait a second. How’s that compared to the “BGA neckdown” rule in the Syntax help? There’s condition “A.insideCourtyard” there. Then constraint “clearance ()()”. But that clearance isn’t between an item inside the courtyard and the courtyard area.
It came to my mind that footprints can have named keepouts and keepouts can be used as local rule areas. There can also be many keepouts with the same name. A natural conclusion:
I can add a named keepout to a castellated footprint
I can place many such footprints into a board
I can define a rule for local areas with A.insideArea('keepout_inside_castellated_footprint')
The rule can say that edge cut/copper (and THT hole) clearance is ignored
That condition pertains to all those footprints.
And the problem would be solved without resorting to board-specific keepout areas.
The clearance constraint is only for copper (conducting) elements (traces/vias/zones). For checking keepout violations, there’s the disallow constraint:
So, what you ask is what you get… I’m not trying to make a design, or not even to test the system for errors, I’m trying to find out what I should be capable of and to give feedback about possible use cases.
Don’t worry @eelik, you won’t be able to please both of us. Tom’s development style and my development style are at opposing ends of the feedback axis.
Most of the heavy lifting at present is being done by Tom, so favouring his approach right now probably makes most sense…
DRC and zone filling have now been moved over the the new rule-based engine. So the rule syntax can now be considered semi-frozen.
I’ve also added something that will help debugging your rules. See Inspect > Clearance Resolution… (You’ll need to select the two elements between which you want to inspect the clearance first.)
Hi everyone,
I’m trying to control the clearance between zone fills/tracks to the board edge and mounting holes (I need bigger clearance for mounting holes). Any idea how should I do that on the latest nightly?