|
From: Joseph C. <18...@bu...> - 2019-09-29 21:05:46
|
Chad,
As a developer of many large code bases, I appreciate your concern for
the purity of the code. As a user, I just want it to work. Allowing
thermals on pads would solve the problem. A separate clearance
parameter for pads might be useful for other reasons but would not work
well for my use case because I still want the DRC to catch other non-
zero pad clearance violations.
Still, adding back the exception for zero clearance pads in the DRC
seems like the simplest solution. I checked out the code and this
change was all I needed:
@@ -637,7 +637,7 @@ drc_callback (DataType *data, LayerType *layer, PolygonType *polygon,
/* fall-through */
case PAD_TYPE:
case PIN_TYPE:
- if (clearance < 2 * PCB->Bloat)
+ if (clearance && clearance < 2 * PCB->Bloat)
{
/* The clearance is too small, but it could be cleared by other
* objects.
You could add a checkbox in the DRC config to toggle this behavior.
Thanks for all your hard work.
Joseph
--
You received this bug notification because you are a member of PCB Bug
Team, which is subscribed to pcb.
https://bugs.launchpad.net/bugs/1843834
Title:
New DRC flags zero-clearance pads
Status in pcb:
New
Bug description:
As of version 4.2.0 my PCB layout has 176 new DRC errors. I have many
pads which are connected to polys by setting the pad clearance to
zero. The DRC previously ignored theses. I understand that this
looks like a legitimate clearance violation but there is no way, as
far as I can tell, to tell PCB that the connection from the pad to the
poly is intentional.
I believe the DRC should just ignore zero-clearance pads as it did in
previous versions. If the resulting connections were errors, they
would be detected as such anyway because they would violate the
netlist.
An alternative but less ideal solution would be to add a flag, say
"noclear", that could be added to the pad to indicate connection to
the poly was intentional.
This is fairly easy to reproduce.
1. Start a new project
2. Add a poly rectangle on the top layer.
3. Add a component that has a pad.
4. Set the clearance of a pad to zero (Shift-K).
5. Run the DRC.
See attached file.
To manage notifications about this bug go to:
https://bugs.launchpad.net/pcb/+bug/1843834/+subscriptions
|