Copper fill zone question

Hey people,

I have some questions about copper fill zones and islands. Take this example (1):


The fill zone on the right belongs to the +5V net. It’s not actually connected to the +5V net but despite ‘Remove islands: Always’ checked, it’s still filled and left isolated. In the DRC, the warning ‘Isolated copper fill’ shows up too.

Now take this example (2):


The fill zone still belongs to the +5V net. This time one half is connected to the net with ‘Remove islands: Always’ still checked and now the left half is filled and the right half isn’t.

Example 2 is as I would expect. The connected net is kept and all the isolated islands are unfilled.
But in Example 1 I would expect the entire zone to be unfilled, since it’s not connected to the net. (An island?)

  • Why is the zone in Example 1 filled? Both split halfs even.
  • What exactly is the definition in KiCad of ‘Islands’?
    Is the isolated zone not considered an island?
  • The easiest fix would probably be to just remove the fill zone in Example 1, but is there another option to leave the zone in place but not fill it, if it’s not actually connected to the net

Surely there’s a reasoning to all of this, but could someone explain it to me please?

Thanks for the help!

From here: PCB Editor | 9.0 | English | Documentation | KiCad

Remove islands controls the behavior of isolated copper areas, also called islands, after the initial zone fill. When this is set to always, isolated areas inside the zone are removed. When set to never, isolated areas are left alone, and will result in copper areas that are not connected to the rest of the net. When set to below area limit, a minimum island size can be specified, and islands below this threshold will be removed.

  • Regardless of the remove islands setting, islands are never removed from zones that are electrically unconnected. In other words, islands are only removed from zones that have at least one electrical connection.

Thanks for the quick reply. Looks like I forgot to check the most obvious location.

Follow-up question:

Does anyone know if there is a specific reason KiCad handles it like this?

  • Regardless of the remove islands setting, islands are never removed from zones that are electrically unconnected. In other words, islands are only removed from zones that have at least one electrical connection.

To me, this behavior would make sense only for <no net> Copper Zones. These <no net> zones aren’t connected to anything other to themselves to begin with, so creating them and leaving them unconnected (as islands) makes perfect sense. But when specifically assigning a copper zone to a pre-defined net, I would expect it to count the whole zone as an island (and therefore remove it if ‘Remove islands’ is turned on) if that zone is then not electrically connected to the specified net. Otherwise you can just use the <no net> ‘net’, right?

I don’t know, but…
May be if using PCB as front panel unconnected zones (filled and not removed) can be useful.