← Back to team overview

kicad-developers team mailing list archive

Re: [PATCH] Multilayer keepout zones



I was considering the implication of copper pours being multilayer. I like
the idea, and my current implementation allows that as a future step..

In a copper pour the filled region is defined as a set of points. I assume
that such an idea would require that each layer gets its own set of points,
and as such would require a lot more work.

Baby steps :)

On Tue, Sep 26, 2017 at 12:07 AM, Jon Evans <jon@xxxxxxxxxxxxx> wrote:

> Nice job Oliver.  This is a great feature and your plan to add keepout
> support to footprints is also a good thing.
> I tried it out on my MacOS machine and found an issue I think -- after
> deleting a keepout, I filled zones again and the fill is still avoiding the
> keepout shape after deletion -- not sure what is going on there.
> I also saw an issue where the zone didn't fill all the way to the edge of
> the keepout for some shapes, not sure what is going on here: (not sure if
> this has to do with your changes or not)
> [image: Inline image 1]
> Is there any reason we we don't want to support having filled zones
> support multiple layers as well?  It looks like your code is a step in that
> direction if we want to go there.  I have used some commercial packages
> that allow you to define a zone shape once, and have it fill on multiple
> (selectable) copper layers.  I think this would be a good thing for KiCad
> to have.
> Best,
> Jon
> On Mon, Sep 25, 2017 at 9:09 AM, Oliver Walters <
> oliver.henry.walters@xxxxxxxxx> wrote:
>> Attached is a patchset that allows keepout zones to "exist" on multiple
>> copper layers. This means you can specify a keepout zone for the entire
>> copper stack (or parts thereof).
>> Features:
>> If a keepout zone is specified as multiple layers, the .kicad_mod file
>> output is adjusted slightly, it will write "(layers F.Cu In1.Cu B.Cu)" e.g.
>> instead of "(layer F.Cu"). If a single layer is selected, it saves as it
>> would have previously.
>> Rendering is working in legacy and GAL and seems to work as expected for
>> various combinations of layer visibility.
>> Zone cutout (where it intersects the keepout) occurs on for each layer
>> that the keepout intersects a copper plane.
>> DRC violations (pads and tracks inside keepout) work for all layers on
>> which the keepout exists.
>> Screenshot:
>> https://i.imgur.com/0JHt3S8.png
>> As this patch set touches a lot of files, I'd appreciate some feedback!
>> My longer term idea is to integrate keepout zones into module (footprint)
>> files, with the ability to select from a combination of
>> a) F.Cu
>> b) Inner.Cu (all internal copper)
>> c) B.Cu
>> Let me know if you spot any bugs or glitches!
>> Oliver
>> _______________________________________________
>> Mailing list: https://launchpad.net/~kicad-developers
>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~kicad-developers
>> More help   : https://help.launchpad.net/ListHelp

PNG image