b is a shortcut to fill the zones. On the left side tool bar there are buttons to show the filled zone, the outline or one other mode I never use. So, try the b first and select the button for showing filled zones and see what you have after that. It looks the same as the button on the right for creating zones in my version. Also, sometimes things mysteriously get fixed simply by changing canvases. Try F9 and F11 once or twice.
For a zone to fill, it needs to do one of the following:
- enclose at least one pad
- enclose a track “joint”
- enclose a via
as well as the other conditions - the item enclosed must be on the same net as that specified for the zone.
It is not sufficient to just overlap a straight track section, or part of a pad.
Since it can be tricky, I checked with some test cases.
Yes, that is the answer. You have to completely enclose the center of a pad or a via within the copper fill. Once I did this, everything worked out as expected.
Excellent example. I wasn’t aware that an overlapping track segment, by itself, wouldn’t cause a zone fill. (I guess all of my zones must have qualified under one of the other cases.) That illustration needs to find its way into the User’s Manual.
Yes, I second that motion. That is a very nice example.
A trace is enough. But one endpoint of it needs to be strictly within the zone. (if it is on the outline of the zone it is not enough.) I tested it in kicad 4.0.6 under fedora.
More details can be found in this quite old tread.
You were faster with your edit than i was with my tests.
And i must say your testcase pcb looks very nice. Could be included as is in the documentation.
[quote=“Rene_Poschl, post:10, topic:8401”]
Could be included as is in the documentation.
[/quote]I’ve been thinking recently that perhaps we as a help forum community should look into helping with the documentation. That would certainly give us a stable reference to direct folks too.
I have not tested it, but at the moment I suspect that in the “end” example on the right, that the center of the trace is not “in” the zone. This may be nice to see by showing the traces in outline mode.
As can be seen, if the center of the trace is on the edge of zone, the zone will not fill. The center of the end point must be inside the zone.
Yes, that is exactly what my example is intended to show, and what it does show.
It does not appear that way to me with my computer settings.
I’m suggesting that you include a “zoomed in” bubble to magnify the issue to make it clear.
At no point in time did I think you were wrong; it just was not visible to me.
Your choice to make it more visible to others or not.
This is a really massive problem for a project I’m working on right now. Why oh why would a polygon stop filling if it does not contain a certain feature? How can one ‘force fill’ a polygon? For me this is a massive bug that is killing my project.
Maybe the discussion should be continued in another thread.
What you actually want to do? There will probably be a better solution.
Does the zone hve “acces” to the net? Sometimes GND won’t fill, but a via or some moving around can fix it
You specified your zone to be part of a net. Free floating copper is a bad idea from an EMI point of view. This is why only the parts of the fill that can be connected to the specified net are filled.
This doubles as a way to tell you that something is wrong with your connections as it is very clear if a zone does not fill. (The zone filling is not a guarantee that everything is connected properly. Use DRC for that. And even DRC does not check if you have a low impedance connection. It only checks if you have any connection.)
In other words: if it’s a massive problem for you, you’re doing something wrong.
Thanks for the feedback, I’m using scripts to create boards, so I’m not particularly interested in being nannied by DRC for this particular project, but I need a predictable way of making copper areas, so is there a way to override the system?
You could have explained your special needs right from the beginning.
Maybe you can use graphic polygons, not zones. KiCad UI doesn’t let you draw graphics directly in a copper layer but you can draw to another layer and change the layer in its properties. If you use scripts you can naturally set the layer directly.
But polygons don’t take any DRC into consideration, i.e. they don’t give way to any other copper features and don’t know about any clearances.
If you want isolated copper areas you could also try zones with no net set.
Great, I’ll try that, thanks eelik…