You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
459 lines
14 KiB
459 lines
14 KiB
$fn=36;
|
|
Pitch=2.54;
|
|
Color="white";
|
|
Size=1; //0=5mm 1=5mm bicolor 2=5mm RGB 3=3mm 4=3mm bicolor 5=3mm rgb
|
|
Solder=1;
|
|
|
|
module Led(Color,Size,,Solder)
|
|
{
|
|
if(Size==0)
|
|
translate([1.27,0,3])
|
|
difference()
|
|
{
|
|
union()
|
|
{
|
|
color("Silver")
|
|
translate([Pitch/2-0.25,-0.25,-28],center=true)
|
|
cube([0.5,0.5,30]);
|
|
color("Silver")
|
|
translate([-Pitch/2-0.25,-0.25,-26],center=true)
|
|
cube([0.5,0.5,28.5]);
|
|
color("Silver")
|
|
translate([0,0,3],center=true)
|
|
cylinder(d1=0,d2=2,center=true);
|
|
|
|
color("Silver")
|
|
difference()
|
|
{
|
|
translate([-Pitch/2-0.25,-0.25,1.5])
|
|
cube([Pitch+0.5,0.5,2]);
|
|
translate([0.65,-0.25,3])
|
|
rotate([0,35,0])
|
|
cube([0.5,5,5],center=true);
|
|
}
|
|
|
|
if(Solder==1)
|
|
{
|
|
color("Silver")
|
|
translate([Pitch*0.5,0,-3])
|
|
rotate([0,0,0])
|
|
scale([1,1,1.1])
|
|
sphere(d=2);
|
|
color("Silver")
|
|
translate([-Pitch*0.5,0,-3])
|
|
rotate([0,0,0])
|
|
scale([1,1,1.1])
|
|
sphere(d=2);
|
|
}
|
|
|
|
color(Color,0.8)
|
|
{
|
|
hull()
|
|
{
|
|
translate([0,0,6])
|
|
sphere(d=5);
|
|
translate([0,0,1])
|
|
cylinder(d=5,h=1);
|
|
}
|
|
cylinder(d=6,h=1);
|
|
}
|
|
}
|
|
color(Color,0.6)
|
|
translate([-7.5,0,-1])
|
|
cube([10,10,10],center=true);
|
|
}
|
|
|
|
|
|
if(Size==1)
|
|
translate([0,0,3])
|
|
difference()
|
|
{
|
|
union()
|
|
{
|
|
color("Silver")
|
|
translate([Pitch,0,-18])
|
|
cube([0.5,0.5,30],center=true);
|
|
color("Silver")
|
|
translate([-Pitch,0,-17.4])
|
|
cube([0.5,0.5,28.5],center=true);
|
|
color("Silver")
|
|
translate([1.75,0,-1])
|
|
rotate([0,-20,0])
|
|
cube([0.5,0.5,5],center=true);
|
|
color("Silver")
|
|
translate([-1.75,0,-1])
|
|
rotate([0,20,0])
|
|
cube([0.5,0.5,5],center=true);
|
|
color("Silver")
|
|
translate([0,0,-15.5])
|
|
cube([0.5,0.5,34],center=true);
|
|
|
|
color("Silver")
|
|
translate([0,0,2.5])
|
|
cylinder(d1=0,d2=2,center=true);
|
|
|
|
color("Silver")
|
|
difference()
|
|
{
|
|
translate([-Pitch/2-0.25,-0.25,1])
|
|
cube([Pitch+0.5,0.5,2]);
|
|
translate([0.65,-0.25,2.5])
|
|
rotate([0,35,0])
|
|
cube([0.5,5,5],center=true);
|
|
}
|
|
|
|
if(Solder==1)
|
|
{
|
|
color("Silver")
|
|
translate([Pitch,0,-3])
|
|
rotate([0,0,0])
|
|
scale([1,1,1.1])
|
|
sphere(d=2);
|
|
color("Silver")
|
|
translate([0,0,-3])
|
|
rotate([0,0,0])
|
|
scale([1,1,1.1])
|
|
sphere(d=2);
|
|
color("Silver")
|
|
translate([-Pitch,0,-3])
|
|
rotate([0,0,0])
|
|
scale([1,1,1.1])
|
|
sphere(d=2);
|
|
|
|
}
|
|
|
|
color(Color,0.8)
|
|
{
|
|
hull()
|
|
{
|
|
translate([0,0,6])
|
|
sphere(d=5);
|
|
translate([0,0,1])
|
|
cylinder(d=5,h=1);
|
|
}
|
|
cylinder(d=6,h=1);
|
|
}
|
|
}
|
|
color(Color,0.6)
|
|
translate([-7.5,0,4])
|
|
cube([10,10,10],center=true);
|
|
}
|
|
|
|
|
|
if(Size==2)
|
|
translate([Pitch/2,Pitch/2,3])
|
|
difference()
|
|
{
|
|
union()
|
|
{
|
|
color("Silver")
|
|
translate([Pitch/2,-Pitch/2,-18.15])
|
|
cube([0.5,0.5,30],center=true);
|
|
color("Silver")
|
|
translate([-Pitch/2,-Pitch/2,-17.4])
|
|
cube([0.5,0.5,28.5],center=true);
|
|
color("Silver")
|
|
translate([Pitch/2,Pitch/2,-18.15])
|
|
cube([0.5,0.5,30],center=true);
|
|
color("Silver")
|
|
translate([-Pitch/2,Pitch/2,-18.15])
|
|
cube([0.5,0.5,30],center=true);
|
|
|
|
color("Silver")
|
|
translate([0.73,0.73,-1])
|
|
rotate([13,-13,0])
|
|
cube([0.5,0.5,5],center=true);
|
|
color("Silver")
|
|
translate([-0.73,0.73,-1])
|
|
rotate([13,13,0])
|
|
cube([0.5,0.5,5],center=true);
|
|
color("Silver")
|
|
translate([-0.73,-0.73,-1])
|
|
rotate([-13,13,0])
|
|
cube([0.5,0.5,5],center=true);
|
|
color("Silver")
|
|
translate([0.73,-0.73,-1])
|
|
rotate([-13,-13,0])
|
|
cube([0.5,0.5,5],center=true);
|
|
|
|
color("Silver")
|
|
translate([0,0,2.5])
|
|
cylinder(d1=0,d2=2,center=true);
|
|
|
|
color("Silver")
|
|
difference()
|
|
{
|
|
translate([-Pitch/2-0.25,-0.25,1])
|
|
cube([Pitch+0.4,0.4,2]);
|
|
translate([0.65,-0.25,2.5])
|
|
rotate([0,35,0])
|
|
cube([0.5,5,5],center=true);
|
|
}
|
|
if(Solder==1)
|
|
{
|
|
color("Silver")
|
|
translate([Pitch/2,Pitch/2,-3])
|
|
rotate([0,0,0])
|
|
scale([1,1,1.1])
|
|
sphere(d=2);
|
|
color("Silver")
|
|
translate([-Pitch/2,Pitch/2,-3])
|
|
rotate([0,0,0])
|
|
scale([1,1,1.1])
|
|
sphere(d=2);
|
|
color("Silver")
|
|
translate([Pitch/2,-Pitch/2,-3])
|
|
rotate([0,0,0])
|
|
scale([1,1,1.1])
|
|
sphere(d=2);
|
|
color("Silver")
|
|
translate([-Pitch/2,-Pitch/2,-3])
|
|
rotate([0,0,0])
|
|
scale([1,1,1.1])
|
|
sphere(d=2);
|
|
}
|
|
|
|
color(Color,0.8)
|
|
{
|
|
hull()
|
|
{
|
|
translate([0,0,6])
|
|
sphere(d=5);
|
|
translate([0,0,1])
|
|
cylinder(d=5,h=1);
|
|
}
|
|
cylinder(d=6,h=1);
|
|
}
|
|
|
|
}
|
|
color(Color,0.6)
|
|
translate([-7.5,0,4.95])
|
|
cube([10,10,10],center=true);
|
|
}
|
|
|
|
if(Size==3)
|
|
translate([Pitch/2,0,3])
|
|
difference()
|
|
{
|
|
union()
|
|
{
|
|
color("Silver")
|
|
translate([Pitch/2,0,-14],center=true)
|
|
cube([0.4,0.4,30],center=true);
|
|
color("Silver")
|
|
translate([-Pitch/2,0,-13],center=true)
|
|
cube([0.4,0.4,28.5],center=true);
|
|
color("Silver")
|
|
translate([0,0,2.2],center=true)
|
|
cylinder(d1=0,d2=2,center=true);
|
|
|
|
color("Silver")
|
|
difference()
|
|
{
|
|
translate([0,0,1.5])
|
|
cube([Pitch,0.5,2],center=true);
|
|
translate([1.2,-0.25,3])
|
|
rotate([0,35,0])
|
|
cube([0.5,5,6.5],center=true);
|
|
}
|
|
|
|
if(Solder==1)
|
|
{
|
|
color("Silver")
|
|
translate([Pitch*0.5,0,-3])
|
|
rotate([0,0,0])
|
|
scale([1,1,1.1])
|
|
sphere(d=2);
|
|
color("Silver")
|
|
translate([-Pitch*0.5,0,-3])
|
|
rotate([0,0,0])
|
|
scale([1,1,1.1])
|
|
sphere(d=2);
|
|
}
|
|
|
|
color(Color,0.8)
|
|
{
|
|
hull()
|
|
{
|
|
translate([0,0,3.5])
|
|
sphere(d=3);
|
|
translate([0,0,1])
|
|
cylinder(d=3,h=1);
|
|
}
|
|
cylinder(d=4,h=1);
|
|
}
|
|
|
|
}
|
|
color(Color,0.6)
|
|
translate([-7.5,0,-1])
|
|
cube([10,10,10],center=true);
|
|
}
|
|
|
|
|
|
if(Size==4)
|
|
translate([0,0,3])
|
|
difference()
|
|
{
|
|
union()
|
|
{
|
|
color("Silver")
|
|
translate([Pitch,0,-18.15])
|
|
cube([0.5,0.5,30],center=true);
|
|
color("Silver")
|
|
translate([-Pitch,0,-17.4])
|
|
cube([0.5,0.5,28.5],center=true);
|
|
color("Silver")
|
|
translate([1.6,0,-1])
|
|
rotate([0,-23,0])
|
|
cube([0.5,0.5,5],center=true);
|
|
color("Silver")
|
|
translate([-1.6,0,-1])
|
|
rotate([0,23,0])
|
|
cube([0.5,0.5,5],center=true);
|
|
color("Silver")
|
|
translate([0,0,-15.5])
|
|
cube([0.5,0.5,34],center=true);
|
|
|
|
color("Silver")
|
|
translate([0,0,2.5])
|
|
cylinder(d1=0,d2=2,center=true);
|
|
|
|
color("Silver")
|
|
difference()
|
|
{
|
|
translate([0,0,2])
|
|
cube([Pitch+0.4,0.4,2],center=true);
|
|
translate([0.65,-0.25,2.5])
|
|
rotate([0,35,0])
|
|
cube([0.5,5,5],center=true);
|
|
}
|
|
if(Solder==1)
|
|
{
|
|
color("Silver")
|
|
translate([Pitch,0,-3])
|
|
rotate([0,0,0])
|
|
scale([1,1,1.1])
|
|
sphere(d=2);
|
|
color("Silver")
|
|
translate([-Pitch,0,-3])
|
|
rotate([0,0,0])
|
|
scale([1,1,1.1])
|
|
sphere(d=2);
|
|
color("Silver")
|
|
translate([0,0,-3])
|
|
rotate([0,0,0])
|
|
scale([1,1,1.1])
|
|
sphere(d=2);
|
|
}
|
|
|
|
color(Color,0.8)
|
|
{
|
|
hull()
|
|
{
|
|
translate([0,0,3.5])
|
|
sphere(d=3);
|
|
translate([0,0,1])
|
|
cylinder(d=3,h=1);
|
|
}
|
|
cylinder(d=4,h=1);
|
|
}
|
|
|
|
}
|
|
color(Color,0.6)
|
|
translate([-6.5,0,4.95])
|
|
cube([10,10,10],center=true);
|
|
}
|
|
|
|
if(Size==5)
|
|
translate([Pitch/2,Pitch/2,3])
|
|
difference()
|
|
{
|
|
union()
|
|
{
|
|
color("Silver")
|
|
translate([Pitch/2,-Pitch/2,-18.15])
|
|
cube([0.5,0.5,30],center=true);
|
|
color("Silver")
|
|
translate([-Pitch/2,-Pitch/2,-17.4])
|
|
cube([0.5,0.5,28.5],center=true);
|
|
color("Silver")
|
|
translate([Pitch/2,Pitch/2,-18.15])
|
|
cube([0.5,0.5,30],center=true);
|
|
color("Silver")
|
|
translate([-Pitch/2,Pitch/2,-18.15])
|
|
cube([0.5,0.5,30],center=true);
|
|
|
|
color("Silver")
|
|
translate([0.73,0.73,-1])
|
|
rotate([13,-13,0])
|
|
cube([0.5,0.5,5],center=true);
|
|
color("Silver")
|
|
translate([-0.73,0.73,-1])
|
|
rotate([13,13,0])
|
|
cube([0.5,0.5,5],center=true);
|
|
color("Silver")
|
|
translate([-0.73,-0.73,-1])
|
|
rotate([-13,13,0])
|
|
cube([0.5,0.5,5],center=true);
|
|
color("Silver")
|
|
translate([0.73,-0.73,-1])
|
|
rotate([-13,-13,0])
|
|
cube([0.5,0.5,5],center=true);
|
|
|
|
color("Silver")
|
|
translate([0,0,2.5])
|
|
cylinder(d1=0,d2=2,center=true);
|
|
|
|
color("Silver")
|
|
difference()
|
|
{
|
|
translate([-Pitch/2-0.25,-0.25,1])
|
|
cube([Pitch+0.4,0.4,2]);
|
|
translate([0.65,-0.25,2.5])
|
|
rotate([0,35,0])
|
|
cube([0.5,5,5],center=true);
|
|
}
|
|
if(Solder==1)
|
|
{
|
|
color("Silver")
|
|
translate([Pitch/2,Pitch/2,-3])
|
|
rotate([0,0,0])
|
|
scale([1,1,1.1])
|
|
sphere(d=2);
|
|
color("Silver")
|
|
translate([-Pitch/2,Pitch/2,-3])
|
|
rotate([0,0,0])
|
|
scale([1,1,1.1])
|
|
sphere(d=2);
|
|
color("Silver")
|
|
translate([Pitch/2,-Pitch/2,-3])
|
|
rotate([0,0,0])
|
|
scale([1,1,1.1])
|
|
sphere(d=2);
|
|
color("Silver")
|
|
translate([-Pitch/2,-Pitch/2,-3])
|
|
rotate([0,0,0])
|
|
scale([1,1,1.1])
|
|
sphere(d=2);
|
|
}
|
|
|
|
color(Color,0.8)
|
|
{
|
|
hull()
|
|
{
|
|
translate([0,0,3.5])
|
|
sphere(d=3);
|
|
translate([0,0,1])
|
|
cylinder(d=3,h=1);
|
|
}
|
|
cylinder(d=4,h=1);
|
|
}
|
|
|
|
}
|
|
color(Color,0.6)
|
|
translate([-6.5,0,4.95])
|
|
cube([10,10,10],center=true);
|
|
}
|
|
}
|
|
|
|
Led(Color,Size,Solder);
|