Anybody solved the problem of stacked ‘no-connect’ SMD/TH pads creating DRC errors?
This does have some sense inherent sense because of the no-connect ‘x’ in the schematic their nets default to two differing ‘unconnected-(REF-PAD)’ net names. Problem is, that I do not find any way to make the DRC understand the collision is ok:
My clearance report agrees with DRC (note that it also lists the track and pad in a different order at the top – that shouldn’t matter, but is interesting).
Could it bet, that the B.NetName != ‘unconnected*’ is ignored in your case?
I used this to test for the NC pins. In this case, this could be circumvented by putting net-class labels on all the NC pins in the schematic for the µC module. But there are cases, like for example EEPROM footprints with NC (by the manufacturer) which are not accessible in the schematic but also fits NetName != 'unconnected*' in the PCB…
If the rule is evaluated the other way round… in my opinion, it should not be applied either as B.NetClass has no test for ‘Default’?
Aha… just realized the differing window caption in your screenshot. If you start the clearance resolution from the menu and not directly from the DRC I also get your results:
Ahh… it’s an error in the rule. While we run the rule in both directions (A:B and B:A), each one is constant for a particular evaluation.
In this case the unconnected net is the one with the “Default” netclass. The rule compares ‘A.NetClass’ with “Default”, but ‘B.NetName’ with “unconnected*”.
So you need to add && A.NetName != 'unconnected*' at the end.