multi-esp/hardware/case/bh1750/BH1750-box.scad

68 lines
2.0 KiB
OpenSCAD

inner_box = [15, 3, 20];
wall_strength = 2;
difference() {
difference() {
cube(size=[inner_box[0]+wall_strength*2, inner_box[1]+wall_strength*2, inner_box[2]+wall_strength], center=true);
translate([0,0,wall_strength]) {
cube(size=[inner_box[0], inner_box[1], inner_box[2]+wall_strength], center=true);
};
};
translate([0, wall_strength / 2, (inner_box[2]/2 - wall_strength/2)]) {
cube(size=[inner_box[0] + wall_strength * 2, inner_box[1] + wall_strength, 4], center=true);
};
translate([0, -(wall_strength/2 + inner_box[1]/2), (((inner_box[2]- (8+5.5))/2) -inner_box[2]/2 + wall_strength/2 + 5.5) ]) {
cube(size=[inner_box[0]-3.5, wall_strength, inner_box[2]- (8+5.5)], center=true);
};
};
translate([inner_box[0]/2+wall_strength/2,inner_box[1]/2+wall_strength,(inner_box[2]/2+wall_strength/2)-4]) {
rotate([180,0,90]) {
translate([-(wall_strength+inner_box[1]), -wall_strength/2, 0]){
polyhedron(
points=[ [0,0,0],
[inner_box[1]+wall_strength,0,0],
[inner_box[1]+wall_strength,wall_strength,0],
[0,wall_strength,0],
[0,0,-4],
[0,wall_strength,-4],
],
faces=[ [0,1,2,3],
[5,4,0,3],
[4,1,0],
[3,2,5],
[2,1,4,5],
]
);
}
}
}
translate([-(inner_box[0]/2+wall_strength/2),inner_box[1]/2+wall_strength,(inner_box[2]/2+wall_strength/2)-4]) {
rotate([180,0,90]) {
translate([-(wall_strength+inner_box[1]), -wall_strength/2, 0]){
polyhedron(
points=[ [0,0,0],
[inner_box[1]+wall_strength,0,0],
[inner_box[1]+wall_strength,wall_strength,0],
[0,wall_strength,0],
[0,0,-4],
[0,wall_strength,-4],
],
faces=[ [0,1,2,3],
[5,4,0,3],
[4,1,0],
[3,2,5],
[2,1,4,5],
]
);
}
}
}