Something to try for the footprint. Place a THT pad with the smaller annular ring, and then on the bottom side place a SMD round pad of the larger OD centered on the THT pad. Give them both the same pin number.
I have not tested this, but it would probably be one of the first things I try.
Edit: BTW, I don’t think the DRC will check trace to hole clearance as your picture shows, but it will check trace to annular ring clearance (copper-to-copper clearance).
But, I can’t seem to assign a net to the pad in pcbNew.
I did that previously–I thought it was a right mouse option after selecting the pad in pcbNew. But, now I don’t see that option.
Probably just a newbie issue, but I sure can’t find where to assign the net, and the gnd “zone” the holes are placed on top is pulling back–so the pads are on some new net, I think.
Well, I get the pad stack looking like I want, but the router viewed the pads as unrouted–though they appear to be clearly connected to the gnd zone in pcbNew.
If I route a track to hole center, the router (and DRC) recognizes them as being connected. (the track copper is entirely inside the zone, so there is actually no more copper).
Regardless of whether I add the “dummy track”) DRC complains about “Hole too close to pad”. Probably because there IS a hole in the middle of the SMD pad I placed on the bottom copper inside the hole. I probably just have to ignore these errors?
The difficulty I had with assigning a net is really a result of sometimes not being able to select a pad in a footprint instead of the entire footprint. I’m still stuck on that with one of the three holes. I can’t seem to select the pad, just the entire hole footprint. So, I can’t assign the pad to a net.
I’ve been having problems selecting pad versus footprint generally, but previously I was eventually able to get what I wanted. Not so with this stubborn hole. I have another post about this, I’ll put this example on that thread, unless someone has a quick tip.
Changing the Gerber codes for a single layer is another (bad) workaround what I would try. Padstack support is a basic PCB feature. Similar issues seems pending for a long time. If anybody with more knowledge about the code base wants to join me for pair programming, pls. PM. IPC7251 has wide impact to many code parts but is the next thing to tackle.