delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2016/03/08/09:29:39

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=20120113;
h=mime-version:in-reply-to:references:date:message-id:subject:from:to;
bh=WXzx4lE9h+vLoZZq3zxr0InaEy1LtqloOZltJaaOC10=;
b=GenGkIOc89yKfchBRFB3KzhRTPyfFYvGeDfJQyiw8CAkg73HkfLJJtPV9tDosLlOWj
N9VJjTy3lGrkMzzGQKF+Hc03seQwPptiprVHQTqd4FEfftGkY9ZYCTOjcWADk1qNN6o5
V4wZHZHzafxIoWNFSrNZItqTjrg+kPm8BeEyfgVx/0SDLSAQYuaVu+LsntDcVntY1E+P
QUTVNeOXxRZB7mbQ93xJm85MAlbiFyTrEY6LLaXum5dRuAS5X11914RpMDEVaI0LZXy6
jjm56d+SNct0e5M9O+vw6hkgpIl2JOkp/RHVjHexplG1UiczBiptDeSqf7vEn461oECi
UGsQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20130820;
h=x-gm-message-state:mime-version:in-reply-to:references:date
:message-id:subject:from:to;
bh=WXzx4lE9h+vLoZZq3zxr0InaEy1LtqloOZltJaaOC10=;
b=NmAKpwB2Bhg3IjmE+aOBjYdiC0bX72TFxjYM/aaEzd5kE53KV12fmNn0xAsFWoFRPT
+dtR0hw0StjPlAcyr8NcibKVIFav/4Q2EV4r2Ob/sp8bih6hjBFFGQP0o6vVOjvUHN+r
+BCVBWXmfM944iEhFNWeoujaB/oh3lVQ1VaFKSW+QQpO3mnNrxs9R0+GIbDUCuZf+QN3
1hWHGCfxjc1rdxDnrIF3Q5S1B1vs+JXOEd3q/wGpzM2L0a047O4bpeUwtdxUoWVlB1Cd
5IIVYCC+u8r3bTn5zdEdz41vPWaUprK30rFkgbQg8AGMZIJxQcmUDaXCXG2Sz9ytSDfv
pRtw==
X-Gm-Message-State: AD7BkJLC2vvI3oVyMD49746X0GbLjjfUqx3GVFTYuj9Tm0Xxf+0s4VkphV7hUOlJquZYYLcaLt986Rx5mHRg6g==
MIME-Version: 1.0
X-Received: by 10.202.181.11 with SMTP id e11mr17151175oif.77.1457447362191;
Tue, 08 Mar 2016 06:29:22 -0800 (PST)
In-Reply-To: <20160308132232.52A0E8153705@turkos.aspodata.se>
References: <56DCAE39 DOT 7020204 AT m0n5t3r DOT info>
<nbijrc$t4t$1 AT ger DOT gmane DOT org>
<CAHUm0tNohrmDf2oLQAWer_LYSPj9DZzquTdYM-kTgpaM9qO5Lg AT mail DOT gmail DOT com>
<20160307015049 DOT 097EF8153704 AT turkos DOT aspodata DOT se>
<CAHUm0tNztZc5nNTtC6in0MdihZnmkX0mG4UBmquSc+cT4nzEeQ AT mail DOT gmail DOT com>
<20160307123849 DOT AF59B8153706 AT turkos DOT aspodata DOT se>
<CAHUm0tPMRfV9ub3PXpKAGs9jEWKLJAZxnnwV_OGt38sHkMVv_g AT mail DOT gmail DOT com>
<nbkgc4$rqd$1 AT ger DOT gmane DOT org>
<CAHUm0tPARUt=rxYSycVsxXnTCfSGahGCWwE637V_RVePuF_Zdw AT mail DOT gmail DOT com>
<20160308132232 DOT 52A0E8153705 AT turkos DOT aspodata DOT se>
Date: Wed, 9 Mar 2016 00:59:22 +1030
Message-ID: <CAHUm0tONkqC2ZHUraGE3hcyAN-TEqGfv9e4wnaJ5BgR6TN4m+g@mail.gmail.com>
Subject: Re: [geda-user] footprint conversions (was: Valve / nixie symbols)
From: "Erich Heinzle (a1039181 AT gmail DOT com) [via geda-user AT delorie DOT com]" <geda-user AT delorie DOT com>
To: geda-user <geda-user AT delorie DOT com>
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

--001a113cfef84d65d7052d8a6860
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

> Do you have examples as png/jpg or something ?
>
> > I think I will have to build them with concentric chains of end to end
> > pads.
>
> If you accept roundings at the corners that would work, if you want
> sharp corners !=3D90=C2=B0 && < 180=C2=B0, then I'm at loss since pcb don=
't support
> polygons in element files.
>
> I think it's sane to require:
> . closed polygon (first point connects with last point)
> . no self-intersections
> . no holes
>
> One could have a chain of incr. thicker pads, starting with the
> thinnest on the polygon perimeter and the thickest at the polygon
> center - or
>  one could fill the interiour first, and then fill the corners to some
> minimun radius.
>
> I guess it's more economical to fill the interiour first, but filling
> the perimeter first gives you the same corner radius for all corners.
>
> Using perimeter first and filling a square (for ease of modelling)
> using a corner radius r, first line is 2*r thick. Using an overlap
> of o, the next line will have thickness of 2*R, where
> sqrt(2)*2*r - o + R =3D sqrt(2)*R # think going from corner to next line
> center
> i.e. (sqrt(2)2r - o)/(sqrt(2) - 1) =3D R, or if o =3D f*r
> next line with is 2R =3D (2sqrt(2) - f)/(sqrt(2) - 1) * 2*r or
> R/r =3D k =3D (2sqrt(2) - f)/(sqrt(2) - 1), and if h =3D square height
> then h/2 >=3D k^(n-1) * r, n =3D number of lines (pads)
>
> soo, if h =3D 10mm, r =3D 0.3mm, o =3D 0.1; then we need 3 lines (pads)
> around to fill the square (I think...).
>
> Using center first, we put a circle in the center and then fill the
> corners to some limit.
>
> I'd think I like perimeter first even tough there will be a lot
> of overlapping pads along the edges.
>
> > Luckily, not many eagle and kicad footprints use them. Once
> > implemented, it will work for kicad and eagle sourced footprints.
>
> If there only is a few of them, maybe it's feasable to manually make
> new fp's for them.
>
> Regards,
> /Karl Hammar
>

Your contemplations mirror mine.
I do not have example pictures as I do not run eagle or kicad :-)
I have only encountered a trapezoidal pad in kicad once, for an edge mount
SMA footprint.
The polygons found most often thus far with eagle have been five sided,
i.e. a rectangle with a bit of one corner lopped off.

The madparts ( http://madparts.org/ ) footprint editing tool appears to
generate pads in much the same way, with a central pad, and a ring of
smaller pads, even if the pad being rendered is rectangular, presumably to
deal with pad geometry in a consistent, generic way.

I may end up generating two footprints, one with a best effort rendered
ring of pads and central pad much like you describe, and another version of
the footprint with the polygon outline rendered in silk lines with text
overlaid "polygonal pad missing" or somesuch to make it pretty obvious 1)
where it needs to go, and 2) it's incomplete and need additional hand
editing.

It should be noted that even though Eagle allows a footprint to include
"polygonal" copper features, in addition to/as opposed to "pads" on the
copper layer, all of the features end up being drawn with a raster of fine
lines in the gerber, rather than being flashed as apertures like they're
supposed to be.

Cheers,

Erich

--001a113cfef84d65d7052d8a6860
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><div class=3D"gmail_extra"><div class=3D"gmail_quote">=
<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-=
left:1px solid rgb(204,204,204);padding-left:1ex">
Do you have examples as png/jpg or something ?<br>
<br>
&gt; I think I will have to build them with concentric chains of end to end=
<br>
&gt; pads.<br>
<br>
If you accept roundings at the corners that would work, if you want<br>
sharp corners !=3D90=C2=B0 &amp;&amp; &lt; 180=C2=B0, then I&#39;m at loss =
since pcb don&#39;t support<br>
polygons in element files.<br>
<br>
I think it&#39;s sane to require:<br>
. closed polygon (first point connects with last point)<br>
. no self-intersections<br>
. no holes<br>
<br>
One could have a chain of incr. thicker pads, starting with the<br>
thinnest on the polygon perimeter and the thickest at the polygon<br>
center - or<br>
=C2=A0one could fill the interiour first, and then fill the corners to some=
<br>
minimun radius.<br>
<br>
I guess it&#39;s more economical to fill the interiour first, but filling<b=
r>
the perimeter first gives you the same corner radius for all corners.<br>
<br>
Using perimeter first and filling a square (for ease of modelling)<br>
using a corner radius r, first line is 2*r thick. Using an overlap<br>
of o, the next line will have thickness of 2*R, where<br>
sqrt(2)*2*r - o + R =3D sqrt(2)*R # think going from corner to next line ce=
nter<br>
i.e. (sqrt(2)2r - o)/(sqrt(2) - 1) =3D R, or if o =3D f*r<br>
next line with is 2R =3D (2sqrt(2) - f)/(sqrt(2) - 1) * 2*r or<br>
R/r =3D k =3D (2sqrt(2) - f)/(sqrt(2) - 1), and if h =3D square height<br>
then h/2 &gt;=3D k^(n-1) * r, n =3D number of lines (pads)<br>
<br>
soo, if h =3D 10mm, r =3D 0.3mm, o =3D 0.1; then we need 3 lines (pads)<br>
around to fill the square (I think...).<br>
<br>
Using center first, we put a circle in the center and then fill the<br>
corners to some limit.<br>
<br>
I&#39;d think I like perimeter first even tough there will be a lot<br>
of overlapping pads along the edges.<br>
<br>
&gt; Luckily, not many eagle and kicad footprints use them. Once<br>
&gt; implemented, it will work for kicad and eagle sourced footprints.<br>
<br>
If there only is a few of them, maybe it&#39;s feasable to manually make<br=
>
new fp&#39;s for them.<br>
<br>
Regards,<br>
/Karl Hammar<br></blockquote><div><br></div><div>Your contemplations mirror=
 mine.<br></div><div>I do not have example pictures as I do not run eagle o=
r kicad :-)<br></div><div>I have only encountered a trapezoidal pad in kica=
d once, for an edge mount SMA footprint.<br></div><div>The polygons found m=
ost often thus far with eagle have been five sided, i.e. a rectangle with a=
 bit of one corner lopped off.<br></div><div><br>The madparts ( <a href=3D"=
http://madparts.org/">http://madparts.org/</a> ) footprint editing tool app=
ears to=20
generate pads in much the same way, with a central pad, and a ring of=20
smaller pads, even if the pad being rendered is rectangular, presumably=20
to deal with pad geometry in a consistent, generic way.<br><br></div><div>I=
 may end up generating two footprints, one with a best effort rendered ring=
 of pads and central pad much like you describe, and another version of the=
 footprint with the polygon outline rendered in silk lines with text overla=
id &quot;polygonal pad missing&quot; or somesuch to make it pretty obvious =
1) where it needs to go, and 2) it&#39;s incomplete and need additional han=
d editing.<br><br></div><div>It should be noted that even though Eagle allo=
ws a footprint to include &quot;polygonal&quot; copper features, in additio=
n to/as opposed to &quot;pads&quot; on the copper layer, all of the feature=
s end up being drawn with a raster of fine lines in the gerber, rather than=
 being flashed as apertures like they&#39;re supposed to be.<br><br></div><=
div>Cheers,<br><br></div><div>Erich<br></div></div></div></div>

--001a113cfef84d65d7052d8a6860--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019