36 lines
1.1 KiB
OpenSCAD
36 lines
1.1 KiB
OpenSCAD
$fn=60;
|
|
|
|
include <BOSL2/std.scad>
|
|
|
|
// Dimesions of the CM4-IO board and enclosure
|
|
CM4_WIDTH = 152; // mm
|
|
CM4_HEIGHT = 70; // mm
|
|
CM4_DEPTH = 36; // mm
|
|
ENclosure_WIDTH = CM4_WIDTH + 8; // mm
|
|
ENclosure_HEIGHT = CM4_HEIGHT + 10; // mm
|
|
ENclosure_DEPTH = CM4_DEPTH + 20; // mm
|
|
// CM4-IO placement and hole
|
|
cm4_io_offset = CM4_HEIGHT/2 + 5; // offset from bottom of enclosure
|
|
|
|
// Enclosure dimensions and hole positions
|
|
enclosure = rect_tube(size=[ENclosure_WIDTH,ENclosure_DEPTH], h=ENclosure_HEIGHT, wall=5);
|
|
|
|
holes = [
|
|
[[10, 10], [CM4_WIDTH-36, 10]], // Front holes for CM4-IO pins
|
|
[[2, ENclosure_HEIGHT - CM4_HEIGHT - 20], [ENclosure_WIDTH - 2, ENclosure_HEIGHT - CM4_HEIGHT - 20]] // Bottom hole for mounting
|
|
];
|
|
|
|
for (i = holes) {
|
|
translate(i[0][0], i[0][1], ENclosure_DEPTH - 5)
|
|
hole(r=3, d=5);
|
|
}
|
|
|
|
* cm4_io_placement = translate([cm4_io_offset,cm4_io_offset,0]) scale(1, -1, 1) rotate([0, 0, 90]) cm4_io;
|
|
|
|
// Add CM4-IO and enclosure to the final model
|
|
difference() {
|
|
enclosure;
|
|
for (i = cm4_io_placement.convex_hull.vertices) {
|
|
sphere(r=1, center=i);
|
|
}
|
|
} |