← Back to team overview

kicad-developers team mailing list archive

Re: Simplified vias patch proposal


Le 27/06/2012 11:13, Samuel Lesueur a écrit :
Hi wayne,

On Tue, Jun 26, 2012 at 10:33:54AM -0400, Wayne Stambaugh wrote:
A few minor comments on your patch.  As Lorenzo already mentioned,
add a new line before comment lines to group the comment with the
code that it is associated with.  Also use a new line between the
break and next case statement to define the end of the last case
statement and the beginning of the next one.

Humm, actually, my patch was only a proof of concept, It is only a quick
and dirty patch that uses the functions from the shortcut keys, it was
not meant to be integrated but was here to say : "hey guys, i would like
this feature, here I found a dirty way to add vias, I know it is not the
right way to do it, but it is a start and it's better thant nothing"

I will look your coding style policy, but I was more expecting some
hints to add the vias directly in the memory mapping of the board, and
to get a general feeling about the way this feature should be implemented.

After testing, there is clearly a bug with this patch and the track
auto-remove subsystem. For example, if I add a via directly on a zone
and then remove the zone, the via becomes orphan and loose it net

There is also a small graphical bug : after adding a via it is not
displayed because drawn under the track. I have to zoom in or zoom out
to trigger a screen refresh before I can see it. Is there a function to
refresh the screen I can use in my patch?

On Wed, Jun 27, 2012 at 08:29:42AM +0200, jean-pierre charras wrote:
I also should say I do not understand why it is so hard to start a
track from$ and then press the v key to insert a via, as many times as
you want.

Jean-pierre : Well indeed it might be a solution but not acceptable if
you have to add 500 vias on a power board, either for power dissipation
or for connecting two cooper zones. If you knit tracks all around your
board just to add vias, the final outputs will just be aufull and each
time you will have to do minor layout changes on your board, those
tracks and vias will always be on your way ...

Thanks for your response.
500 track segments could be an issue, I should say, for board edition.
However still we have 500 vias...

Imagine if we can add a feature that draw those termal vias during the
"zone filling" process. It would be so usefull for power designers !

I imagine! certainly it could be a must.

I am willing to do it (or at least to try ;) ) but I need some
directions to find where I should look and work in the code.

Thanks for your time guys !


Thanks you for your proposal.

Zone handling mainly use operations on polygons. You can have a look to zone*.*, and files in polygon folder.
And should know something about operations on polygons (ANd, OR ..)
Not very difficult, just surprising for beginners.

Here are some thoughts:
I am thinking stitching zones is only one of problems you can find now for power designs, or microwave designs.
multiple vias handling is also an useful feature when creating vias, for user who design switching designs.

Some tools know something like an array of via, or via group.

An array via, or, if you want, a group of vias, is not easy no manage.
However, I am thinking vias in Pcbnew could be seriously enhanced.

For instance, vias with multiple holes could be very helpful.
Most of time, this is what users need: not really many vias, but just many holes.

Vias with multiple holes could be a via with a suitable shape ( square, rectangle or oval, like a segment),
just a via having the room for more than one hole.

The advantage is this feature does not break the current code,
and is more easy to code than stitching zones (by far).
DRC already handle this kind of shape.
A via with multiple hole is very near a group of vias, with no problem for moving, deleting, placing ... it.

Remember difficulties are sometimes more having a good idea than code a bad idea.

Just my thoughts.

Jean-Pierre CHARRAS

Follow ups