[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