How to place elements in a spiral swirl

Hello, I am a beginner who started studying kicad.

  1. I want to placing about 100 identical elements in a spiral swirl. I knew I had to use a python script. But I couldn’t find a way, so could you tell me how?

  2. Is there a guide for beginners about kipython of kicad 6.0 version?

If you not have the need to place a diffrent spiral every day, I would not start writing a script.

Take another mechanic CAD to draw the spiral with your dimensions.

Place the components on PCB anywhere

Right Click of the component opens a context menu to select “properties”

A window will open to type in the XY position and rotation angle manually.

The component jump exactly to the given location after closing the window. This cannot be achieved with mouse movements. Simply you need to have a table with your 100 exact coordinates of your spiral possibly from another mechanical CAD

1 Like

Have never tried but if you import a drawing with spiral and short lines at each interesting point then you probably will be able using mouse to place the footprints at each crosses of that lines with spiral.
We don’t know if footprint rotation is important - may be not. If these are LEDs than probably only the center of LED is important and not the rotation so may be it is possible without manual editions.
If the rotation is important and rotation step between elements is constant than (if remember well) you can set rotation step used by R hotkey.

1 Like

This is a wheel that has already been invented a bunch of times. There are at least 5 different scripts for generating spiral inductors in KiCad. I have not used them myself, but they are quite easy to find.

Do you know how to solve it by using a script?

You can use Place Footprints action plugin. I’ve just added the suport for spiral placement (use circular layout and adjust radial step.

You can istall the plugin from file or you can wait a day or so, and 1.2.8 should be available in KiCad’s plugin and content manager.

I’d appreciate any feedback on usability. If you manage to improve documentation, that would be even better.


This may not be the desired way to do it and exactness of position and rotation requires a bit of iteration but, a reasonable representation can b e accomplished (though, would be quicker to just place parts on an imported Spiral image…)

Oops, I see MitjaN just posted plugin info, but, I’ll post this anyway… I used the Circular_Array and set offsets…