Files
2026-05-11 07:59:21 +02:00

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);
}
}