include include // 80 35 15 // screw holes on back plate // 42.5 47.5 // back plate height from profile 47, thickness 10 // full h 67 back_plate_s = [80, 10, 67]; bps = back_plate_s; // dist bitw back plate and back screw holder 26 bp_bsh_dist = 26; // openscad y is scanner z, and wise versa back_screw_holder_s = [80, 15, 35]; bshs = back_screw_holder_s; // for base part mounted on profiles base_wall_thickness = 10; bwt = base_wall_thickness; side_wall_s = [bwt, 50, 55]; sws = side_wall_s; module profile_20x20x50() { scale([1, 1, 2]) translate([-0.06, -61, -10]) import("Modular profile 20x20 - 973094/files/Profilo_20x20_L50.stl"); } // back plate/motor holder color("black", 0.5) translate([0, -bps[1] / 2, bps[2] / 2 - 20]) cube(bps, center = true); // back screw holder color("black", 0.5) translate([0, bshs[1] / 2 + bp_bsh_dist, bshs[2] / 2]) cube(bshs, center = true); // profiles base color("grey") { translate([-(bshs[0] - 20) / 2, 0, -20 / 2]) rotate([-90, 0, 0]) profile_20x20x50(); translate([(bshs[0] - 20) / 2, 0, -20 / 2]) rotate([-90, 0, 0]) profile_20x20x50(); } // base color("orange", 0.4) union() { translate([-sws[0] / 2 - bshs[0] / 2, sws[1] / 2, sws[2] / 2 - 20]) cube(sws, center = true); translate([sws[0] / 2 + bshs[0] / 2, sws[1] / 2, sws[2] / 2 - 20]) cube(sws, center = true); top_s = [bshs[0] + bwt * 2, sws[1], bwt]; translate([0, top_s[1] / 2, top_s[2] / 2 + bshs[2]]) cube(top_s, center = true); }