/* Support Picam Debian 9.5 Stretch @ kirin / 20220411 / pierre @ lesporteslogiques.net OpenSCAD 2021.1 */ difference() { color([0, 0.8, 0.8]) cube(size=[58, 2, 26], center=false); color([1, 0, 0]) percement_fixation(); } difference() { color([0, 0.8, 0.8]) translate([12, 0, 0])cube(size=[24, 140, 2], center=false); // plateforme translate([27, 115, 1]) rotate([0, 0, 90]) percement_picam(); // percement_picam } color([0, 0.8, 0.8]) translate([30, 0, 0]) rotate([270, 0, 90]) renfort(4); //color([0, 0.8, 0.8]) translate([58, 0, 0]) rotate([270, 0, 90]) renfort(); module renfort(ep = 2) { linear_extrude(ep) { polygon( points=[ [0,0], [0,-20] ,[80,0] ], paths =[ [0,1,2] ] ); }; } module percement_fixation() { translate([12, 2, 17]) rotate([0, 90, 90]) cylinder($fn=36, h=6, r=3.2, center=true); translate([46, 2, 17]) rotate([0, 90, 90]) cylinder($fn=36, h=6, r=3.2, center=true); } module percement_picam(startx = 0, starty = 0, startz = 0) { { % translate([startx, starty, startz]) %cube([25, 24, 1], center = true); // forme pcb picam % translate([startx, starty, startz-15]) cylinder($fn = 3, h = 30, r=0.3); // axe % translate([startx, starty -2.5, 4]) cylinder($fn=36, h=4, r=3.2, center=true); // objectif picam } color([0.5, 0, 0.8]) translate([startx - 10.5, starty -2.5, startz]) cylinder($fn=36, h=4, r=1, center=true); color([0.5, 0, 0.8]) translate([startx + 10.5, starty -2.5, startz]) cylinder($fn=36, h=4, r=1, center=true); color([0.5, 0, 0.8]) translate([startx - 10.5, starty +10, startz]) cylinder($fn=36, h=4, r=1, center=true); color([0.5, 0, 0.8]) translate([startx + 10.5, starty +10, startz]) cylinder($fn=36, h=4, r=1, center=true); }