|
|
@ -2,7 +2,7 @@ |
|
|
|
wall = 2.0; |
|
|
|
tolerance = 0.4; |
|
|
|
|
|
|
|
width=65.0+6; |
|
|
|
width=3+65.0+3; |
|
|
|
length=30.0+32.0; |
|
|
|
height=14.0; |
|
|
|
|
|
|
@ -14,15 +14,15 @@ $fn=50; |
|
|
|
|
|
|
|
hdmi_y_space = 33.0; |
|
|
|
|
|
|
|
module base(x, y, z, thick) { |
|
|
|
translate([0,0,-thick]) |
|
|
|
module base(x, y, z, thick, bottom_thick) { |
|
|
|
translate([0,0,-bottom_thick]) |
|
|
|
difference() { |
|
|
|
minkowski() { |
|
|
|
cube([x,y,z]); |
|
|
|
cylinder(r=wall,h=0.1); |
|
|
|
cylinder(r=thick,h=0.1); |
|
|
|
} |
|
|
|
translate([thick,thick,thick]) minkowski() { |
|
|
|
cube([x-2*thick,y-2*thick,z]); |
|
|
|
translate([thick,thick,bottom_thick]) minkowski() { |
|
|
|
cube([x-2*thick,y-2*thick,z+2]); |
|
|
|
cylinder(r=thick,h=0.1); |
|
|
|
} |
|
|
|
} |
|
|
@ -35,14 +35,66 @@ module holes(r, 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); |
|
|
|
} |
|
|
|
|
|
|
|
translate([-(width-holes_x)/2,-hdmi_y_space,0]) base(width, length, height, wall); |
|
|
|
difference() { |
|
|
|
union() { |
|
|
|
translate([-3-3.5,-hdmi_y_space,0]) base(width, length, 14/2, wall, wall); |
|
|
|
holes(3.5, 1.0); |
|
|
|
holes(2.0/2, height); |
|
|
|
holes(2.0/2, 14/2); |
|
|
|
} |
|
|
|
|
|
|
|
#translate([12.4-3.5,-hdmi_y_space-1+(12/2),(13/2)-1.2]) { |
|
|
|
cube([22,12,13], center=true); |
|
|
|
translate([0,-2*wall,0]) cube([17.5,12,9], center=true); |
|
|
|
translate([12.4-3.5,-hdmi_y_space-1+(16/2),(13/2)-1.2]) { |
|
|
|
cube([22,16,13], center=true); |
|
|
|
translate([0,-2*wall,0]) cube([17.5,16,9], center=true); |
|
|
|
} |
|
|
|
translate([41.4-3.5,-30,(13/2)-1.2]) rotate([90,0,0]) cylinder(r=3.0/2,h=10); |
|
|
|
|
|
|
|
// led1 +22.5 |
|
|
|
translate([22.5-3.5,+35,(13/2)-1.2]) rotate([90,0,0]) cylinder(r=5.0/2,h=10); |
|
|
|
// led2 +45 |
|
|
|
translate([45-3.5,+35,(13/2)-1.2]) rotate([90,0,0]) cylinder(r=5.0/2,h=10); |
|
|
|
|
|
|
|
#translate([41.4-3.5,-30,4]) rotate([90,0,0]) cylinder(r=3.0/2,h=10); |
|
|
|
//#translate([-20,-50,(13/2)-1.2]) cube([100,100,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([-3-3.5+wall,-hdmi_y_space+wall,0]) base(width-2*wall, length-2*wall, 14/2, 2*wall, wall); |
|
|
|
difference() { |
|
|
|
holes(3.5, 14/2); |
|
|
|
translate([0,0,4]) holes(2.0/2+tolerance, 14/2); |
|
|
|
} |
|
|
|
translate([wall+tolerance-3-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+(16/2),(13/2)-1.2]) { |
|
|
|
cube([22,16,13], center=true); |
|
|
|
translate([0,-2*wall,0]) cube([17.5,16,9], center=true); |
|
|
|
} |
|
|
|
translate([41.4-3.5,-30,(13/2)-1.2]) rotate([90,0,0]) { |
|
|
|
cylinder(r=3.0/2,h=10); |
|
|
|
translate([0,5/2,0]) cube([3.0,5,10], center=true); |
|
|
|
} |
|
|
|
|
|
|
|
// led1 +22.5 |
|
|
|
translate([22.5-3.5,+35,(13/2)-1.2]) rotate([90,0,0]) { |
|
|
|
cylinder(r=5.0/2,h=10); |
|
|
|
translate([0,5/2,7]) cube([5.0,5,10], center=true); |
|
|
|
} |
|
|
|
// led2 +45 |
|
|
|
translate([45-3.5,+35,(13/2)-1.2]) rotate([90,0,0]) { |
|
|
|
cylinder(r=5.0/2,h=10); |
|
|
|
translate([0,5/2,7]) cube([5.0,5,10], center=true); |
|
|
|
} |
|
|
|
|
|
|
|
translate([-6.1,4.5,0]) cube([10,14,10]); |
|
|
|
|
|
|
|
//#translate([-20,-50,(13/2)-1.2]) cube([100,100,10]); |
|
|
|
} |