Via KeepOut Zone not working (as expected)

So I want to define a zone (under a inductor) that prevents vias from being placed. I define a zone and only select “Keep out vias”. I select all copper layers even tough, my vias are “normal” meaning they would be in all layers anyway.
The issue is, the tool does not prevent or even warn me if I place a via in that area. If I select “Keep out tracks” it does prevent me from creating tracks in that zone.
Where is the flaw in my logic? How would I create a via free zone?
Application: KiCad PCB Editor arm64 on arm64

Version: 7.0.6-0, release build
Platform: macOS Ventura Version 13.4.1

The DRC finds it . . . but yes I agree it looks like a bug.

If you have Highlight Collisions set (Interactive router settings) and you try and drag (D hotkey) a via into the zone it will light up. But if you move the via into the zone it will be allowed . . . same for a track even if the zone is meant to exclude tracks.

But . . . different violations cause different effects . . .
image

image

image

I can confirm this behaviour. If I want to (D)rag something the rules are enforced. Sometimes this is annoying because I even can t move things to a proper location. Then I switch to (M)ove and can move things around freely and even “park” them anywhere.
So I assume this difference between D and M is intentional ?

So maybe to clarify. When I define a zone to only keep out vias, I can still move and create vias inside that zone. This is different if I keep out tracks. Tracks can not be created or D-moved…
Yes: M-move of tracks into a keep out zone seems possible for whatever reason.
Interestingly enough, “Add via” does not work in the zone.

In my opinion, the VIA option is broken. The D-move and M-move of tracks is just strange but might have a reason, as mentioned above. Yes: DRC does pick up the via violation but, I would prefer to be reminded right when I am working on that particular spot.

Yes: D uses the push-and-shove router which respects the DRC rules. M is just a simple move, which does not prevent you from breaking DRC rules.

1 Like

And it is the only possible assumption to make program being helpful and not disruptive at work.
I hate if program knows better then me what I want to do. If I want to move something than I want and it should be enough for program to do it.
I typically have small PCB and it is hard to fit all footprints in the area. Things located at the other side like to be catch by cursor (or need to clarify selection each time). So (because of these 2 reasons) I frequently design whole blocks out of PCB where obviously nothing is allowed to be and then I am trying to fit such designed blocks in the PCB area. If KiCad would not allow for it then using KiCad would be much harder. You will have to draw at the beginning much bigger PCB than you want not seeing what is the real allowed area. For me it is hard to imagine working with PCB design program that all the time would allow you to do only allowed things.
But then DRC would be not needed :slight_smile:

Thank You craftyjon. Maybe I can harass you with another question ? :melting_face:

when I drag [D] a via with top and bottom tracks attached kicad enforces the design rules.
But the strange thing is it seems to use a bigger grid than the one I have selected. The via seems to jump between maximum locations ?
When I use [M] I can move in the finer grids steps and after dragging the tracks back to the via the DRC is 100% ok.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.