Rok Markovic a écrit :
Hi
There are still some problems with thermals. One, that I encounter in my
boards is when in close pitch components (VQFP, ... ) two neighbouring
pads are on zone. When drawing thermal holes in such a situation, each
neighbouring pad draws around itself a hole. This hole cuts the thermal
connection to other pad. Please see atached pictures, I understand if my
explanation is unclear.
The only option I see is to add thermal connections after removing all
pads from zones. I understand that this concept has problems (DRC), but
I would like to ask if it CAN be done.
Removal all pads in zone is NOT the problem.
The problem is you have set parameters that cannot allow stubs.
You cannot want a minimun thickness copper zone bigger than max stubs
width and expect to have subs.
You cannot want an antipad size bigger than pads gap and have copper
between pads.
You cannot solve this by code modification, because this is not really a
code problem.
One can want to specify specific thermal parameters for a givn footprint
( or a given pad).
A possible approach is to allow to define parameters (when are not set
to default) on a footprint and/or pad basis.
But obviously, minimun thickness copper zone must be bigger than max
stubs width.
Advantage: handle very small pads ans special cases.
Drawback: more and more complex way to handle zones parameters, and in
many cases not very easy to understand.
But this can be a solution in some cases and must be considered.
Many kicad users could be unable to set/choose good parameters.
the answer to your question is:
this can be done.
But this will creates some ugly code and problems:
- stubs must are tracks, not zone fill segments, because they will be
outside filled areas, and must be considered in connection and DRC
calculations
As a consequence, they are obstacle to create new tracks. Existing
zones are never obstacles, because copper in areas is removed when
calculating new filled ares in zones.
- stubs *must* be removed when a zone (or its filled areas) is removed.
So i am not well-disposed to this approach because this problem is only
the result of an other problem, mainly a bad parameters choice.