Place components on a circumference

Place components on a circumference

CarloTentelli9165
Contributor Contributor
1,847 Views
3 Replies
Message 1 of 4

Place components on a circumference

CarloTentelli9165
Contributor
Contributor

Hi,

I've a lot of leds to placment on a circle (about 50). There's an automatic disposition?
In attached an example(14 leds).

PS I will wish to use maximun precision(0.01). At times the space is very very small

Best regards.

Reply
Reply
0 Likes
Accepted solutions (2)
1,848 Views
3 Replies
Replies (3)
Message 2 of 4

rachaelATWH4
Mentor
Mentor
Accepted solution

Hello,

 

You can use the command line and polar coordinates to place your LED's in a circle without too much effort.

 

First of all you want to set a mark point at the centre of where the circle will be.

 

MARK (x y);

 

Then you move your LED's first to the mark and then to their correct location as follows:

 

MOVE LED1 (R 0 0); MOVE LED1 (P radiusVal angle);

 

Where radiusVal is the radius of the circle (clearly!) and angle is incremented for each LED in the circle.

 

So lets say I want to place 12 LED's, LED1 through LED12 in a 30mm radius centred at 50mm x 75mm on the board. 360/12 = 30.

 

GRID MM; MARK (50 75);
MOVE LED1  (R 0 0); MOVE LED1  (P 30 0);
MOVE LED2  (R 0 0); MOVE LED2  (P 30 30);
MOVE LED3  (R 0 0); MOVE LED3  (P 30 60);
MOVE LED4  (R 0 0); MOVE LED4  (P 30 90);
MOVE LED5  (R 0 0); MOVE LED5  (P 30 120);
MOVE LED6  (R 0 0); MOVE LED6  (P 30 150);
MOVE LED7  (R 0 0); MOVE LED7  (P 30 180);
MOVE LED8  (R 0 0); MOVE LED8  (P 30 210);
MOVE LED9  (R 0 0); MOVE LED9  (P 30 240);
MOVE LED10 (R 0 0); MOVE LED10 (P 30 270);
MOVE LED11 (R 0 0); MOVE LED11 (P 30 300);
MOVE LED12 (R 0 0); MOVE LED12 (P 30 330);

 

Best Regards,

 

Rachael

Reply
Reply
Message 3 of 4

C.Nicks
Advisor
Advisor
Accepted solution

There is also a ulp that automates what Rachael posted. The ulp is called component-array.ulp, written by Jorge. It works for placing rectangular and circular arrays.

component-array.ulpcomponent-array.ulpAfter running circularAfter running circular

Best Regards,
Cameron

Eagle Library Resources


Kudos are much appreciated if the information I have shared is helpful to you and/or others.
Did this resolve your issue? Please accept it "As a Solution" so others may benefit from it.

Reply
Reply
Message 4 of 4

rachaelATWH4
Mentor
Mentor

@C.Nicks wrote:

There is also a ulp that automates what Rachael posted. The ulp is called component-array.ulp, written by Jorge. It works for placing rectangular and circular arrays.


Oh very cool! I didn't know about that one. I was just about to write something similar to automate it Smiley Happy

 

I was thinking it would be good to able to use the components in a group as the basis for the array placement or specify them with a string such as LED1-4,LED11-14,LED21-24 and internally it work out what that means so you don't have to type every single one in. Maybe I could add something like this to my moveTools.ulp?

 

Best Regards,


Rachael

Reply
Reply
0 Likes