ElectronicDesign/Placement

Tricks and tips for ElectronicDesign


Eagle

Eagle has scriptability. Eg moving components is possible with simple commands. However, moving connected traces and vias can be a problem.


Circular placement

Let's assume we want to place 10 or 11 pads on a circle (centered 0,0 - offsetting is really simple).

In the example:

The octave (matlab) formula would be:

r=22;
dist=2.54;
# calculate the half of base angle in radian:
ang=dist / r / 2 ;
# Let's make a vector with some values:
a=[0 : ang : 0.6];

# now let's see the coordinates in mil units
# Since r is in mm,
# we apply the * (1 / 0.0254 ) constantmultiplier to get mils:
b= r / 0.0254 .*[sin(a); cos(a)]

Similar, but slightly different values and formatting:

# in mil:
r=895;
dist=100;
# calculate the half of base angle in radian:
ang=dist / r / 2 ;
a=[0 : ang : 0.6];
b= r .*[cos(a); sin(a)]'

That looks much better then the way I did it on the LED test pcb.

I used mastercam to place it then I readout the x,y for each in mastercam. And then did move one at a time to the x,y in eagle