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.
 
 
 
 
 

108 lines
3.0 KiB

wall = 2.0;
tolerance = 0.4;
width=4+65.0+4;
length=30.0+33.0;
height=14.0;
$fn=50;
holes_x=58.0;
holes_y=23.0;
hdmi_y_space = 33.0;
module base(x, y, z, thick, bottom_thick) {
translate([0,0,-bottom_thick])
difference() {
minkowski() {
cube([x,y,z]);
cylinder(r=thick,h=0.1);
}
translate([thick,thick,bottom_thick]) minkowski() {
cube([x-2*thick,y-2*thick,z+2]);
cylinder(r=thick,h=0.1);
}
}
}
module holes(r, h) {
translate([0,0,0]) cylinder(r=r,h=h);
translate([holes_x,0,0]) cylinder(r=r,h=h);
translate([0,holes_y,0]) cylinder(r=r,h=h);
translate([holes_x,holes_y,0]) cylinder(r=r,h=h);
}
module screw() {
cylinder(r=2.6/2,h=10);
cylinder(r=7/2, h=2);
}
difference() {
union() {
translate([-4-3.5+wall,-hdmi_y_space+wall,0]) base(width-2*wall, length-2*wall, 14/2, 2*wall, wall);
holes(3.5, 1.0);
holes(2.0/2, 14/2);
translate([wall+tolerance-4-3.5,wall+tolerance-hdmi_y_space,0]) base(width-2*wall-2*tolerance, length-2*wall-2*tolerance, 14/2+2, wall);
}
translate([12.4-3.5,-hdmi_y_space-1+(20/2),(13/2)-1.2]) {
cube([22,20,13], center=true);
translate([0,-2*wall,0]) cube([17.5,20,9], center=true);
}
translate([41.4-3.5,-30,(13/2)-1.2]) rotate([90,0,0]) {
cylinder(r=3.0/2+tolerance,h=10);
translate([0,5/2,5]) cube([3.0+2*tolerance,5,10], center=true);
}
// led1 +22.5
translate([22.5-3.5,+35,(13/2)-2]) rotate([90,0,0]) {
cylinder(r=5.0/2+tolerance,h=10);
translate([0,5/2,5]) cube([5.0+2*tolerance,5,10], center=true);
}
// led2 +45
translate([45-3.5,+35,(13/2)-2]) rotate([90,0,0]) {
cylinder(r=5.0/2+tolerance,h=10);
translate([0,5/2,5]) cube([5.0+2*tolerance,5,10], center=true);
}
translate([-7.2,1.4,0]) cube([3,20,10]);
translate([width-10.8,1.4,0]) cube([3,20,10]);
}
//translate([-3-3.5+2,-hdmi_y_space+length-2,-0.2]) screw();
%translate([0,80,0]) mirror([0,1,0]) difference() {
union() {
translate([-4-3.5,-hdmi_y_space,0]) base(width, length, 14/2, wall, wall);
difference() {
holes(3.5, 14/2);
translate([0,0,3]) holes(2.0/2+tolerance, 14/2);
}
}
translate([12.4-3.5,-hdmi_y_space-1+(20/2),(13/2)-1.2]) {
cube([22,20,13], center=true);
translate([0,-2*wall,0]) cube([17.5,20,9], center=true);
}
translate([41.4-3.5,-30,(13/2)-1.2]) rotate([90,0,0]) {
cylinder(r=3.0/2+tolerance,h=10);
translate([0,5/2,0]) cube([3.0+2*tolerance,5,10], center=true);
}
// led1 +22.5
translate([22.5-3.5,+35,(13/2)-2]) rotate([90,0,0]) {
cylinder(r=5.0/2+tolerance,h=10);
translate([0,5/2,5]) cube([5.0+2*tolerance,5,10], center=true);
}
// led2 +45
translate([45-3.5,+35,(13/2)-2]) rotate([90,0,0]) {
cylinder(r=5.0/2+tolerance,h=10);
translate([0,5/2,5]) cube([5.0+2*tolerance,5,10], center=true);
}
}