separate data into *-data.scad for 3d models
[challenge-bot] / 3d-printables / motor-mount-data.scad
diff --git a/3d-printables/motor-mount-data.scad b/3d-printables/motor-mount-data.scad
new file mode 100644 (file)
index 0000000..ccf88f5
--- /dev/null
@@ -0,0 +1,45 @@
+// from schematic http://goo.gl/96RKol
+collar_radius = 9.2 / 2 + 0.25;
+nubbin_radius = 4.48 / 2;
+screw_radius = 2.9 / 2 + 0.35; // a little bigger so screws fit through
+
+motor_height = 22.23;
+
+// http://freespace.virgin.net/matt.waite/resource/handy/screwsize.htm
+_6_radius = 3.5 / 2 + 0.25;
+
+// measurements we made up:
+mount_total_x = 38;
+mount_total_y = mount_total_x;
+mount_total_z = 3.175; // 3/16 in mm
+
+module motor_holes() {
+  collar_x_offset = 10.8;
+  nubbin_x_offset = 22.23;
+  // actual motor screw holes are 0.2 further than spec says
+  screw_x_offset = 30.81 + 0.2;
+  screw_y_offset = 17.44 / 2;
+
+  translate([collar_x_offset, 0, 0]) {
+    cylinder(r = collar_radius, h = mount_total_z + 0.1); }
+  translate([nubbin_x_offset, 0, 0]) {
+    cylinder(r = nubbin_radius, h = mount_total_z + 0.1); }
+  translate([screw_x_offset, 0, 0]) {
+    translate([0, screw_y_offset, 0]) {
+      cylinder(r = screw_radius, h = mount_total_z + 0.1); }
+    translate([0, -screw_y_offset, 0]) {
+      cylinder(r = screw_radius, h = mount_total_z + 0.1); } } }
+
+module bracket_holes() {
+  translate([6.2, 0, 0])
+  cylinder(r = _6_radius, h = mount_total_z + 0.1);
+  translate([mount_total_x - 6.2, 0, 0])
+  cylinder(r = _6_radius, h = mount_total_z + 0.1); }
+
+module motor_mount() {
+  difference() {
+    cube([mount_total_x, mount_total_y, mount_total_z]);
+    translate([0, 6.2, -0.05]) {
+      bracket_holes(); }
+    translate([1, mount_total_y - motor_height / 2 - 3, -0.05]) {
+      motor_holes(); } } }