| www.delorie.com/archives/browse.cgi | search |
| X-Authentication-Warning: | delorie.com: mail set sender to geda-user-bounces using -f |
| X-Recipient: | geda-user AT delorie DOT com |
| X-Original-DKIM-Signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; |
| d=gmail.com; s=20230601; t=1713435545; x=1714040345; darn=delorie.com; | |
| h=mime-version:user-agent:references:in-reply-to:date:to:from:subject | |
| :message-id:from:to:cc:subject:date:message-id:reply-to; | |
| bh=GOMoGJx5xudCKtI0n/RZa2QEuaWboPcLr23laVz/g6I=; | |
| b=E+p/gPsgOxo0buysTW6JXuL94WJaj02w8AxOYDl9jmuQ9pnetBr7qhUpgS7LC2qt4J | |
| RoHMYuRffiBCjYfwfHpIl2zN4D2bLxpASzWJWBb4O4Ks3Dyya6rIb1zT07/DEcWwWmce | |
| 8/3xSjqfTRIdjUG0TY6ljHCNy8abs0GkOZgbfHMQCq2qw3ORq5PLZjO3c4EqZ0L+DKm1 | |
| OGJcxP8W2vrggtU9X4obtSXSsOoiLuEpwimPN6JVfKPvZkx/w2JTrM/KKh/S/gYzE2XC | |
| Jpw1qJgzKSufCerGv5EbhgUPpJvINgFtLY396z2gz0l7NHy9surOcp89YSgKZGWZkzIS | |
| BBcQ== | |
| X-Google-DKIM-Signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; |
| d=1e100.net; s=20230601; t=1713435545; x=1714040345; | |
| h=mime-version:user-agent:references:in-reply-to:date:to:from:subject | |
| :message-id:x-gm-message-state:from:to:cc:subject:date:message-id | |
| :reply-to; | |
| bh=GOMoGJx5xudCKtI0n/RZa2QEuaWboPcLr23laVz/g6I=; | |
| b=YpQyjms024HhSHTQjQbKTxJxRDXqNlcJOKVXNY9fu77AkwSDXoff6EABD6xnAs9QGK | |
| SPxIJaU9Ol4dlINSs7upE2MOJ3sk/HSXcvQxOGKHOi9jPd+B7TkTAJLk0JFtkP8skIwS | |
| oh3Yj/GE8ndIvDnAiGN23S7XXBYwye1rb67bqw7z4TYBfX/ymyT5zO2rN5IZgL31A+5q | |
| rTer3kHvtagHQrm9oLaqafJAlHMoApJCrNhCh2wskiGMGVVeswklVhsx6DUBi7odySXq | |
| 25bHwR6LT/eVjmIRWx0QV/2mgLEmI2QlfkMMdrWti/xHDTlZvp/5N2roKCxQjHh5ggyw | |
| b98A== | |
| X-Gm-Message-State: | AOJu0YzAmzUW1S22vrhiUDdMonpgK3kmLVLpqn9DVXkRJnSf9g7tL92O |
| PJs6oge5CQtVj0tXafko3NzjASWcY2bXfrFBohU642eRaMk78vPQN7u0hw== | |
| X-Google-Smtp-Source: | AGHT+IHWYzTZTaCgLvXvuBYtN713E49Ludggx3AaKuwyGe6gD+ylnWrLZFoX5VxkreENXplmMSdd9A== |
| X-Received: | by 2002:a19:5e06:0:b0:519:6c97:1f5d with SMTP id s6-20020a195e06000000b005196c971f5dmr1062072lfb.23.1713435544607; |
| Thu, 18 Apr 2024 03:19:04 -0700 (PDT) | |
| Message-ID: | <7d9c541bc1c2c214b65906e0389b4eb6d26fbc1e.camel@gmail.com> |
| Subject: | Re: [geda-user] Allowing pins/pads with zero clearance to contact |
| polygons | |
| From: | "Onetmt (onetmt AT gmail DOT com) [via geda-user AT delorie DOT com]" <geda-user AT delorie DOT com> |
| To: | geda-user AT delorie DOT com |
| Date: | Thu, 18 Apr 2024 12:19:02 +0200 |
| In-Reply-To: | <CAC4O8c_FTDR8o603fWdhz0Rh_OgKybeTKuDM5cnJXNknQCYLoQ@mail.gmail.com> |
| References: | |
| <CAC4O8c_FTDR8o603fWdhz0Rh_OgKybeTKuDM5cnJXNknQCYLoQ AT mail DOT gmail DOT com> | |
| User-Agent: | Evolution 3.50.2-1 |
| MIME-Version: | 1.0 |
| Reply-To: | geda-user AT delorie DOT com |
| Errors-To: | nobody AT delorie DOT com |
| X-Mailing-List: | geda-user AT delorie DOT com |
| X-Unsubscribes-To: | listserv AT delorie DOT com |
--=-9TxtTWBQZd7SWXWc7ikg
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Il giorno mar, 23/01/2024 alle 20.52 -0900, Britton Kerin
(britton DOT kerin AT gmail DOT com) [via geda-user AT delorie DOT com] ha scritto:
> A while back there was some discussion here about different ways of
> connecting pins/pads to polygons (e.g. ground pads to ground plane).
> At least some people like to do this by setting the clearance for the
> pin/pad to zero, then simply drawing the ground plane over the part.
> It's a nice way to do it because it removes the need to have little
> hard-to-select traces everywhere to connect e.g. ground pins to
> ground
> plane (which in turn makes it much less painful to move parts around
> after the fact.
Yes, please, keep the zero clearance feature working - my last 10 years
projects rely on that :-)=C2=A0
>=20
> This used to work without any DRV violations, but a fix to the
> polygon
> clearance tests by Charles Parker in de49a513 seems to show that it
> only ever worked by accident.
>=20
> However the current code in master contains this code that explicitly
> allows zero-clearance vias to contact polygons:
>=20
> =C2=A0 case VIA_TYPE:
> =C2=A0=C2=A0=C2=A0 if (clearance =3D=3D 0)
> =C2=A0=C2=A0=C2=A0 {
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Vias with zero clearance are allowed, m=
ake sure it's
> connected. */
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (obj_touches_poly(&thing1, polygon, Get=
LayerNumber(PCB-
> >Data, layer)))
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 break;
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 else
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* not connected to the polygo=
n, raise an error*/
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 new_polygon_not_connected_viol=
ation (layer, polygon);
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 break;
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
> =C2=A0=C2=A0=C2=A0 }
>=20
> I think this same condition should apply to PAD_TYPE and PIN_TYPE
> objects as
> well, because it's essentially correct to take zero to mean zero, and
> incorrect
> to do otherwise.
>=20
> What I don't agree with is the subsequent requirement that the object
> touch the
> nearby polygon, for the following reasons:
>=20
> =C2=A0 * It adds significantly more meaning to clearance =3D=3D 0 than th=
at
> setting
> =C2=A0=C2=A0=C2=A0 explicitly states
>=20
> =C2=A0 * As implemented it triggers on nearby polygons that aren't meant
> to be
> =C2=A0=C2=A0=C2=A0 connected
>=20
> =C2=A0 * As implemented the message doesn't make clear what the problem i=
s
> (refers
> =C2=A0=C2=A0=C2=A0 only to flag and doesn't mention clearance) and gives =
a wrong
> prescription
> =C2=A0=C2=A0=C2=A0 for the case of a nearby polygon that isn't supposed t=
o be
> connected.
>=20
> =C2=A0 * It doesn't catch thin connections (as happens for DRC elsewhere)
> anyway
>=20
> =C2=A0 * Complete misses with polys that are supposed to be connected are
> caught by
> =C2=A0=C2=A0=C2=A0 connectivity anyway
>=20
> Changing this to honor the literal meaning of clearance =3D=3D 0 while
> not adding
> any unexpected implicit meaning would be fairly low-risk: it wouldn't
> change
> any existing board, and would only impact users who have deliberately
> set
> clearance to zero.=C2=A0 So far as I know none of the available footprint
> libraries
> ship footprints with clearance set that way by default.
>=20
> Thoughts?
>=20
> Britton
--=-9TxtTWBQZd7SWXWc7ikg
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
<html><head><style>pre,code,address {
margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
margin-top: 0.2em;
margin-bottom: 0.2em;
}
ol,ul {
margin-top: 0em;
margin-bottom: 0em;
}
blockquote {
margin-top: 0em;
margin-bottom: 0em;
}
</style></head><body><div><br></div><div>Il giorno mar, 23/01/2024 alle 20.=
52 -0900, Britton Kerin (britton DOT kerin AT gmail DOT com) [via geda-user AT delorie DOT co=
m] ha scritto:</div><blockquote type=3D"cite" style=3D"margin:0 0 0 .8ex; b=
order-left:2px #729fcf solid;padding-left:1ex"><div>A while back there was =
some discussion here about different ways of<br></div><div>connecting pins/=
pads to polygons (e.g. ground pads to ground plane).<br></div><div>At least=
some people like to do this by setting the clearance for the<br></div><div=
>pin/pad to zero, then simply drawing the ground plane over the part.<br></=
div><div>It's a nice way to do it because it removes the need to have littl=
e<br></div><div>hard-to-select traces everywhere to connect e.g. ground pin=
s to ground<br></div><div>plane (which in turn makes it much less painful t=
o move parts around<br></div><div>after the fact.<br></div></blockquote><di=
v><br></div><div>Yes, please, keep the zero clearance feature working - my =
last 10 years projects rely on that :-) </div><blockquote type=3D"cite=
" style=3D"margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1e=
x"><div><br></div><div>This used to work without any DRV violations, but a =
fix to the polygon<br></div><div>clearance tests by Charles Parker in de49a=
513 seems to show that it<br></div><div>only ever worked by accident.<br></=
div><div><br></div><div>However the current code in master contains this co=
de that explicitly<br></div><div>allows zero-clearance vias to contact poly=
gons:<br></div><div><br></div><div> case VIA_TYPE:<br></div><div>&nbs=
p; if (clearance =3D=3D 0)<br></div><div> {<b=
r></div><div> /* Vias with zero clearance are=
allowed, make sure it's connected. */<br></div><div> &nbs=
p; if (obj_touches_poly(&thing1, polygon, GetLayerNumber(PCB->=
Data, layer)))<br></div><div> bre=
ak;<br></div><div> else<br></div><div> &=
nbsp; {<br></div><div>  =
; /* not connected to the polygon, raise an error*/<br></div><div>&nb=
sp; new_polygon_not_connected_violation=
(layer, polygon);<br></div><div> =
break;<br></div><div> }<br></div><div> =
}<br></div><div><br></div><div>I think this same condition sho=
uld apply to PAD_TYPE and PIN_TYPE objects as<br></div><div>well, because i=
t's essentially correct to take zero to mean zero, and incorrect<br></div><=
div>to do otherwise.<br></div><div><br></div><div>What I don't agree with i=
s the subsequent requirement that the object touch the<br></div><div>nearby=
polygon, for the following reasons:<br></div><div><br></div><div> * =
It adds significantly more meaning to clearance =3D=3D 0 than that setting<=
br></div><div> explicitly states<br></div><div><br></div>=
<div> * As implemented it triggers on nearby polygons that aren't mea=
nt to be<br></div><div> connected<br></div><div><br></div=
><div> * As implemented the message doesn't make clear what the probl=
em is (refers<br></div><div> only to flag and doesn't men=
tion clearance) and gives a wrong prescription<br></div><div> &n=
bsp; for the case of a nearby polygon that isn't supposed to be connected.<=
br></div><div><br></div><div> * It doesn't catch thin connections (as=
happens for DRC elsewhere) anyway<br></div><div><br></div><div> * Co=
mplete misses with polys that are supposed to be connected are caught by<br=
></div><div> connectivity anyway<br></div><div><br></div>=
<div>Changing this to honor the literal meaning of clearance =3D=3D 0 while=
not adding<br></div><div>any unexpected implicit meaning would be fairly l=
ow-risk: it wouldn't change<br></div><div>any existing board, and would onl=
y impact users who have deliberately set<br></div><div>clearance to zero.&n=
bsp; So far as I know none of the available footprint libraries<br></div><d=
iv>ship footprints with clearance set that way by default.<br></div><div><b=
r></div><div>Thoughts?<br></div><div><br></div><div>Britton<br></div></bloc=
kquote></body></html>
--=-9TxtTWBQZd7SWXWc7ikg--
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |