Skip to content
Snippets Groups Projects
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);
	}
}
}
}