X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com Date: Mon, 3 Sep 2018 04:47:01 +0200 (CEST) X-X-Sender: igor2 AT igor2priv To: "Cyril Hrubis (metan DOT lists AT gmail DOT com) [via geda-user AT delorie DOT com]" X-Debug: to=geda-user AT delorie DOT com from="gedau AT igor2 DOT repo DOT hu" From: gedau AT igor2 DOT repo DOT hu Subject: Re: [geda-user] oval pins in pcb? In-Reply-To: <20180902210712.GA16772@haruka.lan> Message-ID: References: <20180902210712 DOT GA16772 AT haruka DOT lan> User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed 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 Precedence: bulk On Sun, 2 Sep 2018, Cyril Hrubis (metan DOT lists AT gmail DOT com) [via geda-user AT delorie DOT com] wrote: > Or is there a better way? Yes: switch to pcb-rnd. We fixed a lot of these decade old misfeatures and we can load your old .pcb file (and eagle and kicad and protel files, etc.). > I wanted to use oval copper shape for pins on my PCB layout, but looking > into pcb editor this does not seem to be possible at all. pcb-rnd offers two solutions: 1. padstacks: this covers 99% of the use cases; you can have different shape per layer type and the shape can be round cap line (your case) or even arbitrary polygon. Note: you can even have a padstack that have oval pad on bottom copper but smaller, round pad on inner and top copper layers to provide solid soldering on bottom and make more room for trces elsewhere! 2. heavy terminal: construct your pin/pad using arbitrary objects. Anything you can draw can become a terminal (pin or pad). E.g. you can have nice paste patterns on qfn center pads. > I tried to hack around that by adding a copper polygon in the footprint, > but it looks like the file format does not support having a copper in > footprints. And thinking about it it makes sense, since it cannot know > the layer it will belong to. That is not a file format issue, but a data model issue. Also fixed in pcb-rnd: anything that you can draw on a board, on any layer, can be in a footprint. > I also shortly looked into the pcb source code, but I do not see how > this could be added easily enough. I suppose that we would have to add > two more string flags, something as "oval_horiz" and "oval_vert", but > then it looks like there are too many special cases all over the place > that would need to be adjusted. Exactly! That's why pcb-rnd choose a different way, and we have rewritten the whole data model to remove exisitng special cases (like octagon or square pad) and introduce simple, generic, "draw anything you want" code. It took about 1.5 years, so probably doesn't classify as "could be added easily enough". We also fixed a few other infrastructure, like we have a solid layer model that fully separates physical layer concept from logical drawing canvas (and lets you draw on any layer, including mask and paste, including in footprint). HTH, Igor2