pcb

DRC misses lines near polygons if clearance < bloat

Bug #1782041 reported by Chad Parker
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
pcb
Fix Released
High
Chad Parker

Bug Description

The DRC checker may miss lines near polygons if the clearance value is set such that the bounding box of the line doesn't overlap with the polygon, even though the separation is less than the "Bloat" value.

See also bug #746178. Luis de Arquer solved this one also.

The present best solution is to increase the size of the bounding box of the line before checking to see if it intersects with polygons.

Revision history for this message
Chad Parker (parker-charles) wrote :

Luis-

I've been pondering whether or not the bounding box should always be set using 2*Bloat, or if it should only be set that way if the clearance is < 2*Bloat.

I think that answer is that in the DRC, we don't actually really care about what the clearance actually is, so long as it's greater than 2*Bloat, so, using 2*Bloat all the time is the right thing to do.

Do you concur with that assessment?

I've pushed your patch to LP1782041, and I've added second commit that reworks it slightly to reduce code duplication.

The only thing I don't like about this is the error message that comes up. The error is that there is insufficient clearance inside of a polygon, but really, it should be the copper too close together error I think. However, I think it's better to flag the error, even if the message isn't quite right, than to let it go unnoticed.

Thanks,
--Chad

Changed in pcb:
assignee: nobody → Chad Parker (parker-charles)
importance: Undecided → High
status: New → Confirmed
milestone: none → pcb-4.2.0
Revision history for this message
Luis de Arquer (ldearquer) wrote :

Chad,

I agree only the DRC setting is relevant here, not the line clearance setting, which is of little help with the bounding boxes. Using the clearance, when bigger than 2*Bloat, for the bounding box, would only yield more candidates for the later tests, and they would be ruled out anyway at some point or another.

About the error message, both "clearance" and "copper too close" are OK for me. However, I would leave the "line to polygon" or "arc to polygon" part. It is helpful for users, to better figure out the issue, and for developers, so it is easier to locate in the code where the DRC warning is produced.

Your second commit looks fine for me!

Luis

Changed in pcb:
status: Confirmed → Fix Committed
Revision history for this message
Bert Timmerman (bert-timmerman) wrote :

Hi Charles,

Methinks the topic branch can be removed ?

Kind regards,

Bert Timmerman.

Revision history for this message
Chad Parker (parker-charles) wrote : Re: [Bug 1782041] Re: DRC misses lines near polygons if clearance < bloat

Done.

On Sun, Jul 29, 2018 at 5:30 PM, Bert Timmerman <email address hidden>
wrote:

> Hi Charles,
>
> Methinks the topic branch can be removed ?
>
> Kind regards,
>
> Bert Timmerman.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1782041
>
> Title:
> DRC misses lines near polygons if clearance < bloat
>
> Status in pcb:
> Fix Committed
>
> Bug description:
> The DRC checker may miss lines near polygons if the clearance value is
> set such that the bounding box of the line doesn't overlap with the
> polygon, even though the separation is less than the "Bloat" value.
>
> See also bug #746178. Luis de Arquer solved this one also.
>
> The present best solution is to increase the size of the bounding box
> of the line before checking to see if it intersects with polygons.
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/pcb/+bug/1782041/+subscriptions
>

Changed in pcb:
milestone: pcb-4.2.0 → pcb-4.1.3
Changed in pcb:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.