Tips to work with filled zones more easily?

Hi forum,

I’m a (relatively) new user; started and am still using version 5.0 (the initial 5.0 release).

Executive summary of my post: filled zones: absolutely awesome feature; but implementation/functionality seems buggy / quirky / incomplete. (and when I say “seems”, of course the question is: am I missing something and/or incorrectly using the functionality?)

I’m trying to create filled zones with “arbitrary” shapes (for example, see my earlier question about routing traces, where in the end I was told that filled zones are the right tool for that task).

Some of the problems I’m finding:

  • UNDO does not work for individual corners — if I click, and then (maybe right away, maybe two corners later) I want to undo that corner, Ctrl-Z won’t have any effect.
  • The equivalent of the / key when routing traces (the “change posture”) does not work here (well, I can tell that the / key does not work — not sure if there is a command to change posture while defining the zone’s edge). For example, in this screen capture (with the zone settings specifying H,V, and 45 degrees only):

I want that “rounded” corner on the right, and I need to continue the vertical edge on the right till further down; however, the thing does this when I keep going down: [[ edit, to clarify why this is a problem: I know that I can click first while the software has not changed theposture — however, say that I need the right edge perfectly aligned with some other footprint that is way down. If I click and I was too far right, then I’m toast, since I cannot undo; and if I’m close, well, it doesn’t matter because as I then move down, the software continues to do the same thing as the figure below ]]

  • Also related to / overlapping with the previous item: editing a zone once done is a bit of a nightmare. Even though the zone’s settings specify “only H,V, and 45”, that constraint seems to be lost when we grab the polygon’s vertices (what the KiCAD pop-up menu calls “corners”). Guaranteeing vertical (or horizontal) lines is challenging, as the coordinates of those points cannot be edited individually.

  • As an alternative (rather a “hack”), I figure that the outer edge could be defined with a trace (easy, given the router’s ability/flexibility and the interactive drag to “force it” to make the shapes I want), and then create a zone that overlaps with the traces. It doesn’t seem to always work. For example, see this screen capture after creating a zone for net +3.3V:

  • [[ edit – additional issue/wishlist item: It would be also great if the corners (the polygon vertices) could also be handled through the Align/Distribute menu — the “distribute” part not so much, but then selecting several corners and doing “align to left / right / top / bottom” would be useful, I believe ]]

Any comments on the above? More in general, any tips or pointers / tutorials on how to effectively work with filled zones?

Thanks,
Cal-linux

Just keep putting down corners and delete the unwanted ones later.

Just put a corner where you want/need one. The zone will stick to that. It’s not like tracks, it’s more like poly-lines. Any direction change of your outline - put down a corner.

Use the grid. Really, use the grid.

The menu for adding/deleting corners for a zone have been moved a bit downwards from v4 in the context menu, but they are there. Use them.

And stay on the grid if you want H/V/45deg outlines.

1 Like

Hold down the Ctrl key while drawing the lines.
Edit: and use large enough grid, as Joan said.

1 Like

Thanks Joan_Sparky!

Some follow-up comments/questions/ranting :slight_smile:

Good point. I would still complaint that this is a quirk in the software; but ok, at least there is a very easy-to-use hack around it.

Actually, this is one of my general complaints about KiCAD: the grid is practically useless. It is not visible most of the time, and when it is, it is barely visible (to the point of not being useful). For that matter, the lines while I’m creating the filled-zones outline is, at times, essentially not visible. Really.

At first I thought it was my monitor at home (since it is not a monitor — it is a 4k television set that I’m using as the computer monitor). But at work, I have a top-quality, 2560x1440 monitor, so I would discard “crappy monitor” as a potential culprit.

Well, keep in mind that I never used v4, so there would never be something that surprises me due to having changed from v4. BTW, I did notice (and have used) the “Add corner” and “Remove corner” in the pop-up menu. But still, that falls in the category of “editing manually being a nightmare” (no?)

Thanks,
Cal-linux

I just tried, and the Ctrl key makes no difference (I mean, I tried the exact example shown above, the first two images — I still get the unwanted behaviour of the second image). Can you expand, or let me know if I’m still doing something the wrong way?

Thanks,
Cal-linux

BTW, should this be considered a “bug” to be reported?

As a user, I would expect that if the zone is defined with “H,V,45” constraints, those constraints should be persistent — that would mean that when dragging corners to edit the zone’s edge polygon, that should behave similar to the “interactive drag” with traces, and apply the constraints while moving.

Cal-linux

This can be changed. I do not have access to v5 right now (This pc has a nightly running) so i can not say for certain where this setting is. If i remember correctly either under the preferences, setup or view menu there should be some display options. You can switch between grid dots, small crosses and full grid lines. you can also change the line width in the same dialog. In addition to that you can change the color in the right sidebar under the “items” tab.

2 Likes

I found your first post difficult to follow and misunderstood. I thought you needed n*45 deg lines only, but you seem to want to change where a corner is created and a new edge started?

Editing an existing polygon with n*45 deg lines only is logically difficult or impossible. Grabbing a point in the middle of an edge (not a corner!) and dragging it with Ctrl held down gives partial help.

Drawing polygon edges works a bit like interactive routing - you can click when you have reached a point which you want to fix as a corner. After that it works predictably until the next corner.

1 Like

Sweet! This works and is a very helpful tip !!

However, is the “Min grid spacing” functionality buggy?

For example, I just set Min grid spacing = 20px. As I zoom out with the mouse wheel, the grid points (well, crosses) start to get closer, and then closer. At the point where the next step would bring them closer than 20px apart, the crosses get much much farther apart than in the previous step. It seems to then “jump” to a “show one every 10 grid points” setting (instead of “show every other”, which would then comply with the “Min grid spacing setting”, since the zoom-level steps are smaller than a factor of 2).

Am I missing something?

Thanks,
Cal-linux

That simply comes from how the metric system works. Everything is in factors of 10 so it makes sense to switch to the next factor of 10 if the min spacing is violated. (People who grew up with that system are used to thinking that way. The main devs of kicad are based in metric countries.)

Additionally: Every other CAD program i worked with did it that way.

1 Like

OH, sweeeeeet !!! The grid (snapping to grid) works even for editing zones that were created before!!! (i.e., the points being dragged when editing the zone’s outline are constrained to fall only at a grid point — sweeet!!!)

Cal-linux

I certainly disagree with this. I grew up in a country that uses metric system (and I’m, like, 1000% pro-metric system), and I disagree with this reasoning: the fact that measurement units have conversion factors that are always 10 or powers of 10 does not mean that everything in the world should change in steps of 10. (with that said, the fact that a ruler shows lines at each mm and then, every 10 lines you get a thick line marking the cm, I can see how this idea could “leak” into the scenario of a grid)

Like I said: to me, what makes sense is that whenever min spacing is violated, you display as many grid points as you can — it just happens that an easy way to implement this is jumping by a factor of 2.

Well, but they’re still software developers, and thinking in factors of 2 should take precedence, right? Tell me: when you see the statement “there are 10 types of people, those who can read binary and those who can’t”, don’t you just go “right, what about it? so there are one-zero types of people, what’s so funny about it?” :laughing:

Interesting. I had never seen this (however, that may simply mean that I never used the “Min grid spacing” feature, or in any case I had never noticed the effect)

Cheers,
Cal-linux

The grid points are still there, they just only show every 10th then.
And for metric people this makes sense.

If you go for your version first level is:
0,1,2,3,4,5,6…
Next zoom and you get:
0,2,4,6,8…
Next zoom you get:
0,4,8,12…
Next zoom you get:
0,8,16…

See what problem that is?
Metric people either think in 10 or if it needs to really step finer in 5.
I personally agree that there could be another zoom level between:
0,1,2,3,4,5,6…
and
0,10,20,30…
But it would then be:
0,5,10,15,20…

But this is optical only anyway.
The grid will be what you set it to, no matter what the display shows. And your mouse pointer will snap to it.

And if you draw your zones it’s easy to change the grid in-between if you need to do finer work anyway, so the whole point becomes moot.

2 Likes

That’s true, it makes sense. The only other nths which would make sense would be every 2nd and 5th because of the 10-based system. For long time I have thought that 12-based system would be much better, then every 2nd, 3rd, 4th and 6th would make sense and instead of 33.33333…% we would have 40%. But unfortunately our hands have been cursed with 10 fingers. Maybe I should write a bug report, asking for 12-based system for KiCad. :space_invader:

2 Likes

Hrmm. Most of us Earthlings have 8 fingers and 2 thumbs?

What version of keyboard do you have that allows for 10 finger and 2 thumb efficient base-12 operation?

The 1-2-5 system was the midway approach to make things nice logarithmic steps, near enough to doubling at each step to make things intuitive, rotate the knob one way to double, the other to halve,

1 Like

It’s a ‘feature’ not a bug.

1 Like

The base 12 counting system actually comes from our fingers. As @Spring already noticed we have 4 fingers and a thumb. Every finger has 3 sections. Allowing you do easily count to 12 on one hand by counting the sections of your fingers using your thumb.

2 Likes

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