[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: PCB DRC arcs (was: Functional blocks...)
On 9/4/10, Windell H. Oskay <windell@xxxxxxxxx> wrote:
>>
>> On Sep 4, 2010, at 4:30 AM, Ineiev wrote:
>>
>>> Hello, DJ;
>>>
>>> On 9/4/10, DJ Delorie <dj@xxxxxxxxxxx> wrote:
>>>> Our DRC engine could use a complete rewrite. It doesn't get arcs
>>>> right, for example.
>>>
>>> Could you elaborate on the arcs, please? what it doesn't do?
>>
>> I've been running into trouble with the DRC and arcs, myself. I
>> discovered it when doing some simple tests of the toporouter-- certain
>> arcs produce DRC errors when there clearly is none-- says that there isn't
>> 10 mils of clearance when there obviously is much more than that.
>
> Doh! Bad link. Correct one is:
> http://evilmadscientist.com/source/temp/topo_puzzle.pcb
Thank you! arguably it is not the arc, it's the squared pin.
Cheers,
Ineiev
diff --git a/src/find.c b/src/find.c
index 593be70..f340962 100644
--- a/src/find.c
+++ b/src/find.c
@@ -149,8 +149,8 @@ RCSID ("$Id$");
#define IS_PV_ON_ARC(PV, Arc) \
(TEST_FLAG(SQUAREFLAG, (PV)) ? \
IsArcInRectangle( \
- (PV)->X -MAX(((PV)->Thickness+1)/2 +Bloat,0), (PV)->Y -MAX(((PV)->Thickness+1)/2 +Bloat,0), \
- (PV)->X +MAX(((PV)->Thickness+1)/2 +Bloat,0), (PV)->Y +MAX(((PV)->Thickness+1)/2 +Bloat,0), \
+ (PV)->X -MAX(((PV)->Thickness+1)/2,0), (PV)->Y -MAX(((PV)->Thickness+1)/2,0), \
+ (PV)->X +MAX(((PV)->Thickness+1)/2,0), (PV)->Y +MAX(((PV)->Thickness+1)/2,0), \
(Arc)) : \
IsPointOnArc((PV)->X,(PV)->Y,MAX((PV)->Thickness/2.0 + fBloat,0.0), (Arc)))
_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user