ControlBoxSidepanels.scad 1.30 KiB
width=6;
module basepanel(){
width=95;
height=32;
depth=2.5;
edgewidth=3;
edgedepth=1;
union(){
cube([width-2*edgewidth, height-2*edgewidth,depth-edgedepth], center=true);
color([0.7,0.7,0]) {
translate([0,0, depth/2]){
cube([width, height, 1], center=true);
}
}
}
}
module dsub(width){
edge = 2;
height = 8.4;
holedst = width+7;
translate([-width/2, -height/2, 0]){
linear_extrude(height = 10, center = true) {
polygon(points=[[0,0],[width ,0],[width - edge, height],[edge,height]], paths=[[0,1,2,3]]);
}
}
translate([-holedst/2, 0, 0]){
cylinder(r=1.5, h=10, center=true, $fn=20);
}
translate([holedst/2, 0, 0]){
cylinder(r=1.5, h=10, center=true, $fn=20);
}
translate([0,0, -1]) cube([width+13, 12.6,3], center=true);
}
module roundedge(){
size=4;
height=1.5;
difference(){
cube([size,size,height], center=true);
translate([size/2,size/2,0]){
cylinder(r=size,h=height*2, center=true, $fn=20);
}
}
}
mirror([0,0,1]){
translate([80,40,0]){
translate([0,-20,0]){
difference(){
basepanel();
translate([-30,0,0]){
cylinder(r=8, h=10, center=true, $fn=36);
}
translate([-7,0,0]){
cylinder(r=8, h=10, center=true, $fn=36);
}
translate([22,0,0]){
dsub(18);
}
}
}
translate([0,20,0]){
difference(){
basepanel();
dsub(18);
}
}
}
}