kicad-developers team mailing list archive
Mailing list archive
Re: Thermal spoke count
Apologies in advance for what will probably be a long message...
Would 8-way spokes be possible to implement "quickly" (in the algorithmic
sense, not the time to implement sense)? (I don't know if the shortcut
you've (Jeff) devised works for a paired set of 4 thermal spokes.) 8-way
thermals can be quite useful where there is a tough balance between
connection "strength" for current but also a requirement for thermal relief
Because of varying pad shapes, sometimes "+" spokes are best and other
times "x" may be preferred. So having a choice of those options, even
though both have the same number of thermal spokes, may be desirable. I
believe this is captured in the "initial angle" concept, but IMO having the
choice of "+", "x", "8 way", and "solid" is more obvious that picking an
initial angle. But perhaps I misunderstood.
What about if some spokes can't be connected because the pad is near a zone
edge? Would a "+" connection lop off the rightmost spoke, for example,
leaving the other three? Is there a way to set a minimum number of spokes?
Or to force the fourth spoke to move to another location around the pad so
that the specified number of spokes are always present?
Over the years I've made good use of a hierarchy of thermal spoke
- Board (default for new zones on the board)
- Per-zone properties
- Per-pad properties
As Seth said, SMD, THT, and vias all may need different connection types.
The "relief for PTHs only" option is usually OK, but having discrete
options for all pad types that can be connected to the zone does have some
benefit at times. Not often, as mentioned, so somewhat burying these
options is probably OK. I usually find these options powerful when I have
one large zone touching many parts; a patchwork of many zones might also
work but is usually a bigger hassle in the long run.
In addition, sometimes I want to manually control the zone connection so
having a per-pin option for "none", that creates a ratsnest until I
manually add a track for connection, is a valuable choice as well.
Each layer (or at least top, inner, and bottom) may benefit from a unique
connection type. For example, for large leads or parts that absorb heat
(like a THT power inductor) I can often use solid zone connection on the
bottom as that layer will touch the solder wave. But on other layers, I
need thermal relief to allow for acceptable barrel fill.
Those three pad types above may also benefit from unique clearance settings
instead of only a single per-zone clearance. If I can set additional
clearance for a single pad, and better still if I can adjust that clearance
per-layer, I can often improve solderability.
That's a huge matrix of options but they are all valid and valuable in some
circumstances (whether the user knows how to drive the tool or not). I see
no other way than to make all of this possible in other to best balance
electrical and thermal/manufacturing desires. I know it can be beneficial.
Surely there's a reasonable cadence of implementation and release, should
all of this be eventually added to KiCad.
On Mon, Jul 8, 2019 at 5:59 AM Seth Hillbrand <seth@xxxxxxxxxxxxx> wrote:
> On 2019-07-08 08:15, Jeff Young wrote:
> > To support it we’d need to add count (and probably initial angle) to
> > the zone properties dialog, the footprint’s local clearance and
> > spacing seciton and the pad’s local clearance and spacing section. So
> > it would complicate the GUI (although the second and third of those
> > are at least on a seldom-used tab).
> If we decide to implement this, I'd like to also have an optional
> "suppress instances" list so that if for some reason the auto placement
> of spokes on a custom shape didn't work, I could remove the unwanted
> But I think that these properties should not go in the zones, only in
> the footprint and pads as it is sufficiently outre that it is unlikely
> to find much use in the general setting.
> The properties that may be useful in the zones settings would be spoke
> defaults for SMD, through-hole and vias. These might be addressable by
> placing an ellipsis button after the Pad Connections drop down that
> brings up an advanced dialog setting.
> This is pure spitballing however.
> Mailing list: https://launchpad.net/~kicad-developers
> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help : https://help.launchpad.net/ListHelp