Auto arranging components

I have 240 3030 LEDs I need to arrange in following ways:

  1. 24x10 grid of 3030 pads with 10mmx15mm spacing
  2. multiple concentric circles of 3030 pads of given radius and spacing given in degrees; each pad aligned horizontally
  3. multiple concentric circles of 3030 pads of given radius and spacing given in degrees; each pad aligned with the center of the circle (important when installing lenses)

Is there a GUI or programmatic way to accomplish above in Horizon EDA?

Hi, afaik such tools don’t exist yet within horizon. However horizon uses very readable/writable json files for both the schematic and the board layout. If you know how to program it shouldn’t be too hard to write something that creates JSON-files for both.

Edit: So my suggestion would be to create a very basic file with 3 LEDs yourself, then analyze the resulting JSON files and then use that project as a base for the thing you like to generate. Reading/Manipulating/Writing JSON is a breeze with Python, but of course you need to know a little bit about programming.

I am not sure if tools to align, distribute etc are in the pipeline

Thinking about it more, I think it’s a job for traditional CAD type program as dimensions and position are very important. With recent addition of ability of importing circles in dxf I should be able to draft where LEDs should be in CAD and import it to Horizon and snap each led to circle’s center, one by one.

In other circumstances align and distribute would also be nice to have to make PCBs look more professional. I found a discussion on github about it so perhaps it will be added at some point.