← Back to team overview

kicad-developers team mailing list archive

Re: Thermal spoke count


Hi Evan,

> On 8 Jul 2019, at 17:04, Evan Shultz <evan.shultz@xxxxxxxxx> wrote:
> 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 during soldering.

8 cannot be done “fast”, although both “+” and “x” can (we do that by rotating for the calculations and then rotating back).  

> 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.

Right now we do “x” on circular pads and “+” on everything else.

> 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?

Currently spokes never move, but they are lopped off if they don’t reach the zone.

> Over the years I've made good use of a hierarchy of thermal spoke properties:
> - 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.

He he.  I had trouble parsing that last sentence; I kept reading “Cadence” as the company.


> On Mon, Jul 8, 2019 at 5:59 AM Seth Hillbrand <seth@xxxxxxxxxxxxx <mailto: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 
> spokes.
> 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.
> -S
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> Unsubscribe : https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
> More help   : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>