On Wed, Jun 04, 2014 at 10:48:18PM +0200, Tomasz Wlostowski wrote: > # defines the layers paired with us. User layers can be also paired. > (pairs-with canonical-name) > )
I proposed to do pairing on tag name, this is a more complex solution but could work. It's really needed this kind of flexibility? > #layer group definitions > > (layer-groups > (group assembly-drawing-top > (layers F.Cu Edge.Cuts F.Courtyard) > ) > ) > ) OK here's the part I missed in my post before. Quite simple. The purpose is to show/hide many layer in one click, right? > and use single format for saving layer sets, that is simply a list of > canonical names: > > (layerset F.Cu B.Cu F.Mask B.Mask) > > Layer set entities could be automatically serialized from a flags object (if > we decide to go for one instead of int/int64). the (layers ...) form for pads already works in that way. IIRC there is no other place where they are used (vias use a range). Add the layer group. What else? For flags object you mean a bitarray, I think. > I wouldn't call them "Keep Out" - courtyard defines the perimeter of a > component, while a keep out layer in most proprietary software defines an > empty area (no traces, no components). Yep, courtyard is another thing. And some software has different kind of zone for no traces or no components. > How about defining a height attribute for each component? In the future it > could be used by DRC to define pick&place thresholds. Wouldn't be this from the IDF structures? I didn't follow how were they implemented. More than to guide pick&place it could be used for vertical clearance (OrCAD does that, IIRC). P&P is way too much machine dependant to be decided in the layout... a single height attribute for a component simply is not useful (if you have ever mounted a transformer you know why:D). Anyway that's a job for the IDF stuff (could be better integrated, especially if polygon support in modules go mainline). > >You could use *.KeepOut and *.KeepOutZ for any module drawing element > >(lines, arcs, circles, etc.) that are defined on both sides of a board. It would be difficult to handle with arbitrary pairing. With name-based pairing it's easy F.Foo + B.Foo -> *.Foo; however it's a really marginal optimization IMHO -- Lorenzo Marcantonio Logos Srl _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp

