Filled area clearance symmetry

Hello,
I have several filled areas of different nets directly next to each other. They all have the same priority and the same clearance settings. Unfortunately the clearance space is not taken symmetrically from both areas, but always from one. Is there any way to make that symmetrical?
Best regards
Stefan

No. It would actually be a very hard problem to solve to create that option, because you essentially need to know how both zones will fill at the “same time”!

As a simple workaround, is it possible to set the clearance to 0 and draw a line along the borders in a no-copper layer and thereby doing the clearance manually? I what layer should the line be?

you could:

  • draw a line on copper layer - both zones will respect their clearance values
  • draw a rule-out-area (on the relevant layer, with checkbox “don’t fill” checked) - the zones will run directly onto the rule area
  • draw a line on the margin-layer - this will affect top+bottom+inner-layers. The zones should respect the copper-edge.cuts clearance (from board setup->constraints)
  • separate the zones manually

A keepout line is not possible? The margin layer doesn’t work, because it affects top and bottom layer

A keepout line is not possible?

No. keepout area must be a polygone.

possible workaround for a line (or multiple connected lines) in kicad v7:

  • draw the lines (with desired thickness > 0)
  • select the line
  • convert to rule area: RMB-click–>context menu–>Create from selection–>Create rule area from selection

Be aware: after the conversion the created rule-area consists of many defining points - so is not so easy to manipulate as the original line

Why do you have all zones at the same priority?
I only have a limited interpretation of your design, but the logical way would be to make some zones a higher priority, and then use the edges of those zones.

If I got two zones of the same size next to each other, one will end up bigger than the other.

Yes of course. So change priority, of one zone, and put the edge of that zone where you want it. Then the lower priority zone will adjust.

Another approach is to use voronoi diagrams / calculations to determine the boundaries. That can get you something looking close to the old Elektor PCB’s from the '70-ies.

https://groups.csail.mit.edu/drl/wiki/index.php?title=Visolate:_Voronoi_Toolpaths_for_PCB_Mechanical_Etch

I’m really sorry to say this, but I switched back to an old Eagle version for this, and it was really easy, isolate to 0 and I could just draw a line along the boundaries in tRestrict layer, problem solved.
There doesn’t seem to be a simple solution (one that can easily be executed and still be modified afterwards) in KiCad for this.

You can use the Margin layer for this if you are OK with it applying keepouts on all layers of the design. KiCad does not have the equivalent of tRestrict: a layer where you can draw arbitrary shapes and any of these shapes will keep out copper fill on the top layer only. You could request this feature and see if it’s popular, but honestly I don’t understand what the use case is.

You can accomplish this in KiCad through drawing rule areas, but you can’t currently treat lines (rather than polygons / closed shapes) as rule areas while maintaining the ability to edit them as lines (you can create polygonal rule ares from them, though). You could also create a feature request to have line-segment rule areas, which is more likely to be implemented than some equivalent of tRestrict.

1 Like

Switching between different programs just because you want to use the “nice” features of each of them also has big disadvantages. When changing from one program to another, there should be a lot of advantages (or you just won’t switch at all), but it will nearly always miss some feature you have learned to appreciate from the old program. But constant switching between programs will become a big nuisance real fast, and it probably leads to permanently going back to the old program, or learning to cope with a compromise in the new program. And quite often, when you get more comfortable with the new program and have adjusted your workflow, it often is not “worse”, but just “different”, and after a while you may start to forget how the old program worked and free up some room in your brain for other new things.

You could also create a feature request to have line-segment rule areas, which is more likely to be implemented than some equivalent of tRestrict.

line-style rule areas would be enough. It’s just that simple lines are easy to draw and later are also easy to modify. Polygone-style rule areas are just not so “simple”, especially regarding the later modification.

I have to think a bit about that and maybe later this results in a feature-request.

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