include module hc450() { w = 30; l = 55; h = 18; cube([w, l, h]); } in2mm = 25.4; module rplate(w, d, h, r) { hull() { for (x = [0, w-2*r]) { for (y = [0, d-2*r]) { translate([x+r, y+r, 0]) cylinder(h, r, r); } } } } module adafruit18() { w = 1.35*in2mm; l = 2.2*in2mm; h = 7; r = 0.1*in2mm; rplate(w, l, h, r); } module pizerow() { w = 30; l = 65; h = 5; r = 3; rplate(w, l, h, r); } module spdbt() { d = 100; w = 40; t = 3; translate([0, 0, -t]) rplate(w, d, t, 5); md = 50; mw = 15; module motors() { rotate([0, 180, 0]) translate([-mw, 0, 0]) { motormount(); translate([0, d, 0]) rotate([0, 0, 180]) motormount(); } } motors(); bw = 30; bd = 55; module battery() { translate([60+bw, (d-bd)/2, 0]) rotate([0, 180, 0]) hc450(); } module electronics() { color("skyblue") cube([60, 70, 1]); } module camera() { rplate(71, 31, 19, 10); // rotate([0, -30, 0]) // rotate([90, 0, 90]) } translate([0, (d-31)/2, 0]) { difference() { translate([0, -t, 0]) cube([20, 31+t*2, 50]); translate([30, 0, 10]) rotate([0, -120, 0]) camera(); } } // translate([mw*2 + t, 0, 0]) // electronics(); } $fn = 20; spdbt();