← Back to team overview

kicad-developers team mailing list archive

Segvia and zone filling.

 

I have a board that has a GND zone on the top and on the bottom.
Normally, I would connect the two zones in various places around the
board with vias. However, PCBNew does not support this functionality.
For one, a lone via cannot be placed onto the board if it is not
connected to a pad somehow.  And secondly, If there is a lone via
somewhere on the board (this can happen if the save file is manually
edited) the Zones do not connect to it even if they are in the same
net.
I am trying to add this functionality, however I am unsure how to go about it.


It seems that  the "AddClearanceAreasPolygonsToPolysList" function
found in  "zones_convert_brd_items_to_polygons_with_Boost.cpp" is what
removes the zone area from around the via.
Specifically, there is a for loop at line 258 which goes through the
Tracks (and segvias) and removes the area around those that are on the
same layer, but of a different net.

However, I can't figure out why this would be removing the area from
around the lone segvias even though they are of the same net?

I notice also that these lone vias when drawn by Pcbnew do not have
there net labeled like the connected ones.  This leads me to believe
that the segvias are somehow 'forgetting' their net info if they are
not connected to some other item in the same net, or that they are not
are not being included in that net for some reason.

Are there any ideas as to what to check to see whats causing this.  If
i am correct I will look into adding the necessary code to allow lone
vias which hold onto their individual drill and diameter size.
I am also wondering if there is any interest in being able to modify
individual vias.  The save function saves this information for each
individual via, so it would just be a matter of adding a dialog?


Follow ups