Polygon is always ripped apart instead of dragged

Hi, I ran into a strange behviour of Kicad PCB editor.
I tried to create the board outline and clicked on the edge cuts layer (in the layers manager panel).
Then I can draw a polygon (with the shaded area look), but when I want to drag one side of it (to make the rectangle 5mm wider e.g.), it always only takes the one edge and moves this edge independently of the rest of the polygon. Strangely, when I draw a polygon on a copper layer and edit it such that it is on the edge cuts layer, I can drag it as I intended. Do I miss something here or is this a bug?
I tried searching for “drag edge cut kicad” and so on, but I seem to be the only person to ever notice.
Is there another internet which I am excluded from?
Thanks

This is simply kicads current behaviour. Polygons are not supported for outlines, so they are automatically converted to line segments. (Reason being: polygons are always filled which does not work for edge cuts stuff as DRC takes the filled area for its calculations -> you could not have anything on the board if it would be made from a filled polygon on edge cut)

1 Like

As Rene already wrote. Same with me.
I usually only draw simple rectangular outlines for Edge.Cuts and I always use a very coarse grid (usually 1mm or 5mm) for the outlines, which makes it easy to line up endpoints of lines (and arc’s if needed) flawlessly.

I also never put copper polygon edges on the same coordinates as Edge.Cuts. I usually draw the polygon in a weird shape such as a pentagon If I want it to flow to the board edge. In this way, if anything goes wrong during copper poors it is instantly very visible on Gerber files etc.

If such a polygon is not clipped properly and goes over the board edge, then you have a chance of having faulty PCB’s because of of copper burrs making shorts around the edges of the PCB.

1 Like

Thanks Rene,
so is my workaround valid or am I missing something here? Because I did this for a previous design and had no problems, only the added benefit of being able to drag the outline.

Hi Paul,
I don’t fully get what you wrote. So you also put a polygon on a copper layer and convert it to edge cuts layer (in order to have a “dragable” outline)? And for the pours, do you make them larger than your edge cuts or smaller? Can you give me an example what could go wrong?
Thanks

Nope, misunderstanding.

On Edge.Cuts I just draw simple line and arc segments.

The Polygons are only on the copper layers as usual.
The link below is an example where I drew a pentagon zone outline around the board, and let Pcbnew clip the polygon to within the board edges.

I have never seen KiCad go wrong on this, so I can not give an example of this. Another reason to do this is for example if you have multi layer boards. If you look at the Olinuxino A64 (On github, also link from KiCad website under “made with KiCad” they also use this. They have multiple power zones on different layers, and putting the edges way beyond the outline of the PCB makes each zone easy to select for editing it’s parameters.

Again: There are no polygons on Edge.Cuts, just simple lines at the moment. So your options are to simply use those simple lines and arcs, or use an external CAD program and import outlines via dxf format.

There is also an option in Gerbview to back-import Gerbers back into a KiCad project, which may be handy for reverse -engineering or re-using board outlines, mounting hole locations etc from other PCB’s even if made in a completely different PCB program.

1 Like

Ok thanks for you answer, I understood the reasoning, but the behaviour is different. Please try this:

  1. go to copper layer and create a polygon.
  2. edit the polygon and change layer to edge cuts
  3. click on an edge and you’ll see that it’s a polygon which you can drag without ripping it apart, but it’s on the edge cuts layer.
    My Kicad: 5.1.5-3 (if this is a version specific thing).

Can you reproduce this?
With your copper pour “trick”, I got that you make it bigger than your board and let the edgcut be your boundary for this, so in case anything goes wrong you will directly see in the gerbers, right (as seen in your link)? I think this is what I’ll be doing too, in my previous design I made it almost identical as my outline, but it was a pain aligning which I will not have anymore, thanks.

Yep. It works.
I just drew a polygon on some random layer and then moved it to Edge.Cuts.
I can move it, stretch it, and even create or remove corners.

Even if I draw a copper zone (which is different from a “polygon”!) then the copper pour is clipped on the usual distance from the board edge. (You can influence this by modifying the “Linewidth” of the polygon on Edge.Cuts.
The 3D viewer is also content with a board outline made in this way. (The 3D viewer usually complains if the board outline is not a closed shape).

Weird thing is though that if I first select Edge.Cuts, and then draw a polygon on it, it does not stay a polygon, but gets “exploded” into individual line segments, just as Rene posted earlier.

I guess this is one of the (many) parts in KiCad currently being worked on. Just recently I read a post here about making arc segments part of a closed polygon, but then the word “polygon” would not be a correct name for the shape anymore, because (mathematical) polygons have straight edges.

Correct, that is how I use it.

1 Like

Cool, thanks. Haha I found a feature:)

There’s some history behind that. First, just before 5.1.0, it was thought that allowing polygons on Edge.Cuts but interpreting them as outlines (polygonal group of lines) would be a good thing. But then it was noticed (by me - see https://www.mail-archive.com/kicad-developers@lists.launchpad.net/msg33100.html) that it would mean re-interpreting existing files differently, and that can’t be allowed at least within one major version. Therefore, to still allow drawing a new outline like with polygon to make it a bit easier, the behavior was quickly changed to the current one which “explodes” the polygon after it has been created.

So, you can blame me. :slight_smile:

1 Like

Thanks for the clarification.
I was thinking of opening an issue on github about this as I found the difference between drawing on Edge.Cuts and Moving an existing Polygon to Edge.Cuts weird.

Both Wayne and Seth agree and I gladly bow to y’all.

I did a simple check of the polygon moved to Edge.Cuts and made Gerbers out of it, and they do look like I would expect it to. I do not understand what it would have broken however.

But overall, for me it’s not such a big thing. It all becomes more important if arc segments also become parts of “polygons” and can keep their edges tangential with lines etc. as in “normal” mechanical CAD. I’m curious what it will be like in V6.

Good things come to those who … Wait.

1 Like

This is one of the areas that KiCommand can help. There are built in commands to round the corners of line segments connected as a polygon. If you’re interested in this route, I can give you pointers to the right commands.

1 Like

Reverting back to the old behaviour wouldn’t of course have broken nothing. But they still wanted something useful for drawing outlines. Changing a polygon to a bunch of lines on the fly did that because it’s run time action and doesn’t touch the file format interpretation. Changing polygons to be non-filled – which was the original plan – would have broken the compatibility. Maybe this all was done too hastily. Maybe it’s time to reconsider this now when compatibility isn’t so much of a problem.

1 Like

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