Zone corners are rounded

The corners of zones are rounded as seen in pcbNew:

They get exported to HyperLynx that way too.

Is there a way to prevent that?

Actually, only “outside corners” are round. Looks like insider corners are preserved:

1 Like

From what I know, everything is rounded.
That’s because Gerbers emulate a plotter that has round pens of different sizes.
The pens can also be exposure apertures, which are also round.

1 Like

yeah, except inside corners should look rounded too.

I was wanting to edit the shapes in the exported HyperLynx file to work-around not being able to have zone connected to two different nets. Those rounded corners made it much harder to find the lines that I needed to delete or change by editing coordinates.

But, I’m trying a different approach now. Added tiny pads on the zones and adding a lumped capacitor element in openEMS where I wanted the zones on different nets connected. Choose capacitor value so impedance is close enough to a short at the frequencies of interest with the capacitor value.

Maybe I could do the same thing in Kicad by using a capacitor footprint with geometries so small they won’t impact simulation accuracy. But I suspect DRC would get in the way again. No physical contraints once in openEMS environment.

1 Like

There is an option to round the inner corners (board setup)

And to change the zone rounding is on the zone settings

Why? A round pen can make sharp inside corners without problems.


Because even a round pen doesn’t make sharp corners. GERBERS are Dcodes, which are circles. There is then the chemical process that rounds everything. the smallest radius practically producible might be good enough for a “sharp” corner.

Also sharp corners are not good for HV :wink:

Round pens can make sharp inside corners no problem, as stated.

edit: that said, the reason inside corners are not filleted is demonstrated in the icon for the option:

It puts zone copper outside of the border of the zone, which is generally frowned upon (HV concerns may trump that)

1 Like

You seem to have missed the little word “inside”.

The rounded corner on the outside is a function of the min zone width. So you can reduce it, but you can’t eliminate it (KiCad enforces a minimum of 1mil/0.0254mm for the min zone width).

Those rounded corners make the HyperLynx export unusable in openEMS.

I finally gave up and wrote a script that reads a footprint with the desired geometry and generates openEMS statements. Those statements define the antenna geometry in openEMS

Commands that create a mesh fail when I use the Kicad export that includes a zone for the antenna trace. When I create the antenna trace in openEMS, the mesh is created without issue.

I’m just an openEMS beginner, but one of the steps in creating a mesh includes a command something like “detect edges”. So, I suspect everyone of those corners creates edges and the mesh commands are driven to attempt a mesh creation that can resolve the impact of those edges.

The script allows me to scale the rectangles. Translation is done in openEMS to place the trace.

Still the simulation is taking a long time, perhaps due to the corners on the remaining part of the ground plane zone.

If there’s a workaround to get the zones without any rounding, it would save a lot of time!

For what it’s worth, I think zones are the wrong way to define antenna geometry in KiCad, or the geometry of anything else where a precise shape is important.

The final shape of a zone depends on a lot more than just the zone outline, which I don’t think is what you want for an antenna.

I realize you were having some problems with graphical shapes in your other thread, but I think you would be better served trying to resolve those, whether that means drawing a shape in KiCad or importing it from an external tool.

So, I’ve tried about everything I can thing of in Kicad.

Polys cannot have net.

Footprints don’t export to HyperLynx

So, that’s why I punted and define the antenna geometry outside Kicad.

Suggestions welcome.


I did a bit of experimenting, and it’s possible to:

  1. Design your own footprint (I know, apparently does not export to Hyperlinkx).
  2. Add a pad to the footprint and Ctrl + e to Edit as graphic shapes
  3. Add a graphic shape.
  4. Select the graphic shape, and set the line width to zero.
  5. Save the stuff and use the footprint.

And a bit later …
I had a look at what exactly determines that rounding of corners in zones. You can get a lot sharper corners if you reduce the Minimum Width property of a zone.
If I try to add 1um in that entrybox, I do get an error message and apparently there is some (arbitrary?) minimum width of 25.4um, which probably results in a radius of 12.7um.

And a little check seems to confirm a minimum radius for a zone of about 12um:

I do not like magic numbers. I sort of would have expected to be able to find that value in PCB Editor / File / Board Setup / Design Rules / Constraints but I could not find it there. This could maybe be considered as a bug, but it’s also quite an abuse of zones, as they dynamically generate their boundaries by keeping clearance from other stuff. For the long run, export of footprints (with custom grahics in pads) to hyperlynx would be a better road to put some pavement on.

Yeah, I was using the minimum allowable line width. But, actually, the smaller the geometry, the worse it gets in openEMS.

I think the grid smoothing algorithm is trying really hard to add grid lines that will have sufficient resolution for those corners. Don’t know that for sure–just know it grids fine when I define the same geometry with square corners in openEMS.

I 100% agree that right answer is to have an option to export the footprint by layer.

Thanks for your attention and replies!

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