// Created by Christian A. Weber on 2017-01-07 // http://www.kinety.org/adding-a-monitor-camera-to-the-bq-hephestos-2-3d-printer/ $fa=1; $fs=0.25; // global resolution $plate_size = 6; $r_fillet = 2.5; $r_inner = 10; $arm_width = 25; // mounting plate. Fits into mounting holes on Hephestos 2's arm that moves along the z-axis translate([0, 0, 0]) { difference() { union() { translate([1 + $r_fillet, $r_fillet, 0]) minkowski() { cube([98 - $r_fillet * 2, 75 - $r_fillet * 2, $plate_size-1]); cylinder(r=$r_fillet, h=1); } translate([0, 11, 0]) cube([1, 55, $plate_size]); translate([99, 55, 0]) cube([1, 13, $plate_size]); } // save some material translate([60, -1, -1]) cube([40, 51, $plate_size + 2]); hull() { // make room for the camera and allow it to tilt translate([20 + $r_inner, 10, -1]) cube([64 - $r_inner, 59 - $r_inner, $plate_size + 2]); translate([20 + $r_inner, 68 - $r_inner, -1]) cylinder(r=$r_inner, h=$plate_size + 2); translate([84 - $r_inner, 68 - $r_inner, -1]) cylinder(r=$r_inner, h=$plate_size + 2); translate([20 + $r_inner, 10 + $r_inner, -1]) cylinder(r=$r_inner, h=$plate_size + 2); } } } // camera support arm translate([47.5 + $arm_width/2, 0, $plate_size-.001]) rotate([90, 0, 180]) { difference() { hull() { translate([0, 0, 0]) cube([$arm_width, 5, 6]); translate([$arm_width/2, 20, 0]) cylinder(r=6, h=6); } translate([$arm_width/2, 20, 0]) union() { // hole for camera's mounting screw: 2mm diameter translate([0, 0, -1]) cylinder(r=1, h=8); // camera's mounting inset is 4mm in diameter and 1.5mm high translate([0, 0, 6-1.5]) cylinder(r=2.2, h=2.5); // countersink camera's mounting screw by 2mm translate([0, 0, -1]) cylinder(r=3, h=3); } } }