I would like to create a filled zone on a copper layer in a complex, irregular shape. I’ve drawn my shape in Inkscape and I can export it as a DXF. Is there a way to import a DXF as a zone? Or is this a case where I’m going to need to modify the .kicad_pcb file directly in order to do what I want?
You can do this but it’s not simple. I can make a video later this week since this 10 min explanation may not be good enough.
The first thing you need to do is convert your shape into a footprint using the bitmap tool.
Then you open up your layout and put in a dummy fill zone with the net you want. The one below is a triangle with no net assigned. Open your kicad_pcb file in a text editor and look for (zone (net 0) (net_name “”) . You will want to replace the bold xy points. Next import the footprint you made from the bitmap tool. You will see (module then your footprint library and name. You want to take the bold xy point from that and replace both polygon and filled_polygon in the zone section. Delete your footprint you used to copy the xy positions from. Once you save that reopen the file and the zone shape should now be the same as your bitmap footprint.
Thanks! It’s actually even easier than that, because you can just paste the points once, into the polygon section, and then use “Re-fill all zones” in KiCad to fix the filled_polygon section.