// camera_mount.scad — Support stéréo pour 2x Microsoft LifeCam HD-3000 // Baseline: 110 mm (médiane 10-12 cm optimal) // Fixation: 4x M3 sur châssis AUV // Matériau recommandé: PETG (résistance eau, impact) // Auteur: Baptiste Moulin 2026 $fn = 60; // --- Paramètres principaux --- BASELINE = 110; // mm entre axes optiques CAM_W = 34; // largeur boîtier LifeCam (section base) CAM_H = 34; // hauteur boîtier LifeCam CAM_DEPTH = 10; // profondeur empreinte caméra dans le support MOUNT_THICK = 6; // épaisseur plaque support MOUNT_H = 50; // hauteur totale support BOLT_D = 3.4; // diamètre trou M3 (passage libre) BOLT_PITCH_X = 96; // entraxe vis de fixation AUV (X) BOLT_PITCH_Y = 30; // entraxe vis de fixation AUV (Y) // --- Longueur totale de la plaque --- PLATE_L = BASELINE + CAM_W + 10; module cam_cutout() { // Empreinte caméra: rectangle + passage câble USB cube([CAM_W, CAM_DEPTH, CAM_H], center=true); // Slot câble USB (6x10 mm) en bas de l'empreinte translate([0, 0, -CAM_H/2 + 5]) cube([12, CAM_DEPTH + 2, 10], center=true); } module bolt_holes_mount() { // 4 trous M3 pour fixation sur châssis AUV for (x = [-BOLT_PITCH_X/2, BOLT_PITCH_X/2]) for (y = [-BOLT_PITCH_Y/2, BOLT_PITCH_Y/2]) translate([x, y, 0]) cylinder(d=BOLT_D, h=MOUNT_THICK + 2, center=true); } module support() { difference() { // Corps principal union() { // Plaque horizontale cube([PLATE_L, MOUNT_THICK, MOUNT_H], center=true); // Renforts latéraux sur chaque caméra for (side = [-1, 1]) translate([side * BASELINE/2, MOUNT_THICK/2, 0]) cube([CAM_W + 4, MOUNT_THICK * 2, MOUNT_H], center=true); } // Empreinte caméra gauche translate([-BASELINE/2, 0, 0]) cam_cutout(); // Empreinte caméra droite translate([BASELINE/2, 0, 0]) cam_cutout(); // Trous de fixation AUV bolt_holes_mount(); // Allègement central (triangle) translate([0, 0, 0]) cube([BASELINE - CAM_W - 8, MOUNT_THICK + 2, MOUNT_H - 16], center=true); } } // --- Rendu principal --- support(); // --- Annotations (commentaires) --- // Axes optiques à Z=0, Y=MOUNT_THICK+5 // Baseline mesurée = BASELINE mm entre les 2 marques rouges // Imprimer à 0.2 mm layer height, 40% infill gyroid, 3 périmètres