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.
374 lines
9.3 KiB
374 lines
9.3 KiB
$fn=36;
|
|
|
|
use<PCB.scad>
|
|
|
|
Type=0; //0=6x6 horizontal 1=6x6 vertical 2=12x12 horizontal 3=12x12 vertical
|
|
Knob_height=10; //Only knob height
|
|
Solder=0;
|
|
|
|
|
|
module Push_button(Type,Knob_height,Solder)
|
|
{
|
|
if(Type==0)
|
|
translate([0,1.27,1])
|
|
difference()
|
|
{
|
|
union()
|
|
{
|
|
color("Black")
|
|
hull()
|
|
{
|
|
translate([3,3,0.25])
|
|
sphere(d=0.5);
|
|
translate([3,-3,0.25])
|
|
sphere(d=0.5);
|
|
translate([-3,3,0.25])
|
|
sphere(d=0.5);
|
|
translate([-3,-3,0.25])
|
|
sphere(d=0.5);
|
|
translate([3,3,3-0.25])
|
|
sphere(d=0.5);
|
|
translate([3,-3,3-0.25])
|
|
sphere(d=0.5);
|
|
translate([-3,3,3-0.25])
|
|
sphere(d=0.5);
|
|
translate([-3,-3,3-0.25])
|
|
sphere(d=0.5);
|
|
}
|
|
color("Silver")
|
|
hull()
|
|
{
|
|
translate([3-0.5,3-0.5,3-0.15])
|
|
sphere(d=0.5);
|
|
translate([3-0.5,-3+0.5,3-0.15])
|
|
sphere(d=0.5);
|
|
translate([-3+0.5,3-0.5,3-0.15])
|
|
sphere(d=0.5);
|
|
translate([-3+0.5,-3+0.5,3-0.15])
|
|
sphere(d=0.5);
|
|
}
|
|
color("Black")
|
|
{
|
|
translate([3-1,3-1,3+0.1])
|
|
scale([1,1,0.5])
|
|
sphere(d=1);
|
|
translate([3-1,-3+1,3+0.1])
|
|
scale([1,1,0.5])
|
|
sphere(d=1);
|
|
translate([-3+1,3-1,3+0.1])
|
|
scale([1,1,0.5])
|
|
sphere(d=1);
|
|
translate([-3+1,-3+1,3+0.1])
|
|
scale([1,1,0.5])
|
|
sphere(d=1);
|
|
}
|
|
color("Silver")
|
|
{
|
|
translate([2.54,0,0.5])
|
|
cube([0.6,7.93,0.3],center=true);
|
|
translate([-2.54,0,0.5])
|
|
cube([0.6,7.93,0.3],center=true);
|
|
translate([-2.54,-2.54*1.5,-1.5])
|
|
cube([0.6,0.3,4],center=true);
|
|
translate([2.54,-2.54*1.5,-1.5])
|
|
cube([0.6,0.3,4],center=true);
|
|
translate([-2.54,2.54*1.5,-1.5])
|
|
cube([0.6,0.3,4],center=true);
|
|
translate([2.54,2.54*1.5,-1.5])
|
|
cube([0.6,0.3,4],center=true);
|
|
}
|
|
|
|
color("Black")
|
|
translate([0,0,1])
|
|
cylinder(d=3.5,h=2+Knob_height);
|
|
|
|
if(Solder==1)
|
|
{
|
|
color("Silver")
|
|
translate([2.54,2.54*1.5,-1])
|
|
rotate([0,0,0])
|
|
scale([1,1,1.1])
|
|
sphere(d=2);
|
|
color("Silver")
|
|
translate([-2.54,2.54*1.5,-1])
|
|
rotate([0,0,0])
|
|
scale([1,1,1.1])
|
|
sphere(d=2);
|
|
color("Silver")
|
|
translate([2.54,-2.54*1.5,-1])
|
|
rotate([0,0,0])
|
|
scale([1,1,1.1])
|
|
sphere(d=2);
|
|
color("Silver")
|
|
translate([-2.54,-2.54*1.5,-1])
|
|
rotate([0,0,0])
|
|
scale([1,1,1.1])
|
|
sphere(d=2);
|
|
}
|
|
}
|
|
}
|
|
|
|
if(Type==1)
|
|
translate([0,0.5,5])
|
|
rotate([90,0,0])
|
|
union()
|
|
{
|
|
color("Black")
|
|
hull()
|
|
{
|
|
translate([3,3,0.25])
|
|
sphere(d=0.5);
|
|
translate([3,-3,0.25])
|
|
sphere(d=0.5);
|
|
translate([-3,3,0.25])
|
|
sphere(d=0.5);
|
|
translate([-3,-3,0.25])
|
|
sphere(d=0.5);
|
|
translate([3,3,3-0.25])
|
|
sphere(d=0.5);
|
|
translate([3,-3,3-0.25])
|
|
sphere(d=0.5);
|
|
translate([-3,3,3-0.25])
|
|
sphere(d=0.5);
|
|
translate([-3,-3,3-0.25])
|
|
sphere(d=0.5);
|
|
}
|
|
color("Silver")
|
|
hull()
|
|
{
|
|
translate([3-0.5,3-0.5,3-0.15])
|
|
sphere(d=0.5);
|
|
translate([3-0.5,-3+0.5,3-0.15])
|
|
sphere(d=0.5);
|
|
translate([-3+0.5,3-0.5,3-0.15])
|
|
sphere(d=0.5);
|
|
translate([-3+0.5,-3+0.5,3-0.15])
|
|
sphere(d=0.5);
|
|
}
|
|
color("Black")
|
|
{
|
|
translate([3-1,3-1,3+0.1])
|
|
scale([1,1,0.5])
|
|
sphere(d=1);
|
|
translate([3-1,-3+1,3+0.1])
|
|
scale([1,1,0.5])
|
|
sphere(d=1);
|
|
translate([-3+1,3-1,3+0.1])
|
|
scale([1,1,0.5])
|
|
sphere(d=1);
|
|
translate([-3+1,-3+1,3+0.1])
|
|
scale([1,1,0.5])
|
|
sphere(d=1);
|
|
}
|
|
color("Silver")
|
|
{
|
|
translate([2.54,-7,0.5])
|
|
cube([0.6,9,0.3],center=true);
|
|
translate([-2.54,-7,0.5])
|
|
cube([0.6,9,0.3],center=true);
|
|
}
|
|
|
|
color("Black")
|
|
translate([0,0,1])
|
|
cylinder(d=3.5,h=2+Knob_height);
|
|
|
|
if(Solder==1)
|
|
{
|
|
color("Silver")
|
|
translate([2.54,-2.54*1.96,0.5])
|
|
rotate([0,0,0])
|
|
scale([1,1,1.1])
|
|
sphere(d=2);
|
|
color("Silver")
|
|
translate([-2.54,-2.54*1.96,0.5])
|
|
rotate([0,0,0])
|
|
scale([1,1,1.1])
|
|
sphere(d=2);
|
|
}
|
|
}
|
|
|
|
if(Type==2)
|
|
translate([0,1.27,1])
|
|
difference()
|
|
{
|
|
union()
|
|
{
|
|
color("Black")
|
|
hull()
|
|
{
|
|
translate([6,6,0.25])
|
|
sphere(d=0.5);
|
|
translate([6,-6,0.25])
|
|
sphere(d=0.5);
|
|
translate([-6,6,0.25])
|
|
sphere(d=0.5);
|
|
translate([-6,-6,0.25])
|
|
sphere(d=0.5);
|
|
translate([6,6,3.45])
|
|
sphere(d=0.5);
|
|
translate([6,-6,3.45])
|
|
sphere(d=0.5);
|
|
translate([-6,6,3.45])
|
|
sphere(d=0.5);
|
|
translate([-6,-6,3.45])
|
|
sphere(d=0.5);
|
|
}
|
|
color("Silver")
|
|
hull()
|
|
{
|
|
translate([5.5,5.5,3.55])
|
|
sphere(d=0.5);
|
|
translate([5.5,-5.5,3.55])
|
|
sphere(d=0.5);
|
|
translate([-5.5,5.5,3.55])
|
|
sphere(d=0.5);
|
|
translate([-5.5,-5.5,3.55])
|
|
sphere(d=0.5);
|
|
}
|
|
color("Black")
|
|
{
|
|
translate([4.5,4.5,3.75])
|
|
scale([1,1,0.5])
|
|
sphere(d=1.5);
|
|
translate([4.5,-4.5,3.75])
|
|
scale([1,1,0.5])
|
|
sphere(d=1.5);
|
|
translate([-4.5,4.5,3.75])
|
|
scale([1,1,0.5])
|
|
sphere(d=1.5);
|
|
translate([-4.5,-4.5,3.75])
|
|
scale([1,1,0.5])
|
|
sphere(d=1.5);
|
|
}
|
|
color("Silver")
|
|
{
|
|
translate([2.54,0,0.5])
|
|
cube([0.6,7.93,0.3],center=true);
|
|
translate([-2.54,0,0.5])
|
|
cube([0.6,7.93,0.3],center=true);
|
|
translate([-2.54,-2.54*2.5,-1])
|
|
cube([0.6,0.3,3],center=true);
|
|
translate([2.54,-2.54*2.5,-1])
|
|
cube([0.6,0.3,3],center=true);
|
|
translate([-2.54,2.54*2.5,-1])
|
|
cube([0.6,0.3,3],center=true);
|
|
translate([2.54,2.54*2.5,-1])
|
|
cube([0.6,0.3,3],center=true);
|
|
}
|
|
|
|
color("Black")
|
|
translate([0,0,1])
|
|
cylinder(d=6.7,h=2.5+Knob_height);
|
|
|
|
if(Solder==1)
|
|
{
|
|
color("Silver")
|
|
translate([2.54,2.54*2.5,-1])
|
|
rotate([0,0,0])
|
|
scale([1,1,1.1])
|
|
sphere(d=2);
|
|
color("Silver")
|
|
translate([-2.54,2.54*2.5,-1])
|
|
rotate([0,0,0])
|
|
scale([1,1,1.1])
|
|
sphere(d=2);
|
|
color("Silver")
|
|
translate([2.54,-2.54*2.5,-1])
|
|
rotate([0,0,0])
|
|
scale([1,1,1.1])
|
|
sphere(d=2);
|
|
color("Silver")
|
|
translate([-2.54,-2.54*2.5,-1])
|
|
rotate([0,0,0])
|
|
scale([1,1,1.1])
|
|
sphere(d=2);
|
|
}
|
|
}
|
|
}
|
|
|
|
if(Type==3)
|
|
translate([0,0.5,8])
|
|
rotate([90,0,0])
|
|
difference()
|
|
{
|
|
union()
|
|
{
|
|
color("Black")
|
|
hull()
|
|
{
|
|
translate([6,6,0.25])
|
|
sphere(d=0.5);
|
|
translate([6,-6,0.25])
|
|
sphere(d=0.5);
|
|
translate([-6,6,0.25])
|
|
sphere(d=0.5);
|
|
translate([-6,-6,0.25])
|
|
sphere(d=0.5);
|
|
translate([6,6,3.45])
|
|
sphere(d=0.5);
|
|
translate([6,-6,3.45])
|
|
sphere(d=0.5);
|
|
translate([-6,6,3.45])
|
|
sphere(d=0.5);
|
|
translate([-6,-6,3.45])
|
|
sphere(d=0.5);
|
|
}
|
|
color("Silver")
|
|
hull()
|
|
{
|
|
translate([5.5,5.5,3.55])
|
|
sphere(d=0.5);
|
|
translate([5.5,-5.5,3.55])
|
|
sphere(d=0.5);
|
|
translate([-5.5,5.5,3.55])
|
|
sphere(d=0.5);
|
|
translate([-5.5,-5.5,3.55])
|
|
sphere(d=0.5);
|
|
}
|
|
color("Black")
|
|
{
|
|
translate([4.5,4.5,3.75])
|
|
scale([1,1,0.5])
|
|
sphere(d=1.5);
|
|
translate([4.5,-4.5,3.75])
|
|
scale([1,1,0.5])
|
|
sphere(d=1.5);
|
|
translate([-4.5,4.5,3.75])
|
|
scale([1,1,0.5])
|
|
sphere(d=1.5);
|
|
translate([-4.5,-4.5,3.75])
|
|
scale([1,1,0.5])
|
|
sphere(d=1.5);
|
|
}
|
|
color("Silver")
|
|
{
|
|
translate([2.54,-9,0.5])
|
|
cube([0.6,7.93,0.3],center=true);
|
|
translate([-2.54,-9,0.5])
|
|
cube([0.6,7.93,0.3],center=true);
|
|
}
|
|
|
|
color("Black")
|
|
translate([0,0,1])
|
|
cylinder(d=6.7,h=2.5+Knob_height);
|
|
|
|
if(Solder==1)
|
|
{
|
|
color("Silver")
|
|
translate([2.54,-2.54*3.15,0.5])
|
|
rotate([0,0,0])
|
|
scale([1,1,1.1])
|
|
sphere(d=2);
|
|
color("Silver")
|
|
translate([-2.54,-2.54*3.15,0.5])
|
|
rotate([0,0,0])
|
|
scale([1,1,1.1])
|
|
sphere(d=2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Push_button(Type,Knob_height,Solder);
|
|
|
|
*PCB(100,100,1,2.54,1);
|