¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io

Re: Automatic disposition of thermal vias


 

OK, I've had a look at this now, and I see two options.

Doing a one-off the most sensible option is to roll up your sleeves and
get on with it! Yes, you can use the array tools to get yourself the
pads in the right place (deleting any unwanted pads from a created array
may be quicker than trying to be clever), but it's still a couple of
hours work. I note that the circular arrays are not simple, ie it's
not, for example, one via every ten degrees. So what you would need to
do is create the basic pattern for one segment using the array tool as
many times as you need, and then select every pad in the segment and use
the array tool to create the entire circle. Once you've finished,
you'll have a footprint with however many pads it has (call it n), and
kicad will have numbered them all for you (1-n). Yes, the numbering
probably wont be as you would like it, but just go with the flow. If
you want everything in the footprint rather than using zones, use a
graphical shape as one of the pads, so it gets rotated in an array
around the circle and kicad will know from the pin numbering which nets
it connects to. It looks like you would need two graphical shape pads
as your start point, one wide and one narrow (hint: use the centre-most
pad in each shape as the anchor, ie the thing you right-click on and
select "Edit Pad as Graphic Shapes"). The downside of not using zones
is you will need to run tracks between the vias (doing something similar
to you, this is the one time when I let the autorouter do its worst, as
whatever mess it created was hidden by the pads; all I cared about was
the connectivity).

For lots of variations on a theme, I would give serious consideration to
coding myself a program to do the job (indeed I have done this). Kicad
uses text files, so writing a program to output a footprint is not
unusually challenging, but the work required will be such that's it's
not worth doing for a one-off.

Once the footprint is created, in eeschema create a symbol with n pins,
and, referring to the footprint, wire them up with the required
connectivity. Don't forget that because you worked with arrays, copy
and paste will be your friend; create a bunch of wires for one segment,
and then copy and paste to wire up the remaining segments. Pcbnew will
then know how all the pads are connected, and how they are connected to
any zones you choose to use.

I've tried not to give away too much of the design, but I hope that
doesn't render my description too vague to be useless.

Regards,

Robert.

Join [email protected] to automatically receive all group messages.