← Back to team overview

kicad-developers team mailing list archive

Re: CERN work package 4 (Extend number of layers)

 

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


Follow ups

References