X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com Date: Fri, 29 May 2015 19:14:35 +0200 (CEST) X-X-Sender: igor2 AT igor2priv To: "Mike Crowe (mcrowe AT gcdataconcepts 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] PCB implementing slot attribute in a footprint In-Reply-To: <1432916564.3024.451.camel@crowe.localdomain> Message-ID: References: <1432916564 DOT 3024 DOT 451 DOT camel AT crowe DOT localdomain> 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 Fri, 29 May 2015, Mike Crowe (mcrowe AT gcdataconcepts DOT com) wrote: > Hello All > > I've been using gEDA pcb for several years now have found it to be an > excellent, stable, "meat and potatoes" tool for board layout. > > While there are several features I'd like to have implemented (keep out > regions, blind and buried vias, footprints that allow generic traces, > add pad flags 'start-round', 'stop-round'...) there is one feature that > I'd really like to see. The ability to put slot on a board as part of a > footprint. I'm interested in enough to volunteer time to help implement > this. > > On the output NC-drill side, implementing it seems simple enough. It > would be a start point, a "G85" keyword and an end point. There is some > preliminary code support for viewing slots in gerbv (git version). Does this mean a slot is a straight line? What if the user wants a triangle milled out or an L shaped slot? Of course combining multiple slots could solve this. The question is what's better: a simple, one-geometry-only slot with the hack that the user needs to build more compelx shapes using more of them, or a complex slot (a list of lines and arcs, for example). > At the footprint side, it seems to me that a new keyword identifier is > in order, maybe "slot" It would have to properties of a "pin" except > that it would have a start and stop point. We have an outline layer with special properties. If the user wants to do custom shaped cutouts, he can draw them there. Does the above paragraph mean that a slot differs from such cutouts in only one sense, that it's also a pin? If so, I'd probably go for a different combination, and decouple "ring" shape from "hole" shape: - the hole is either a circular hole or an arbitrary poly (== slot, the edges of the poly can be converted to a list of line segments for milling) - the ring is either a filled circle or a filled poly above the hole The original PCB code has support for square and octagonal rings, and afaik they are implemented as polys, so the second point is almost there. In my fork I have funny shaped rings, some of them assymetrical. While working on that feature, I realized that some random parts of the code (thermals for example) hardwire assumptions on the shape of the ring, and do not play nice with arbitrary shaped rings. The code probably also assumes holes to be circular, but that would need to be revised/changed with any other slot mechanism as well. Regards, Igor2