From ce505d83c6fc22e5ffe8eeda7a4a7ab823fdd35e Mon Sep 17 00:00:00 2001 From: mattmcw Date: Mon, 10 Oct 2022 08:43:35 -0400 Subject: [PATCH] Center the mount plate and also create a "minimal_mount" module for incorporating this into other SCAD files. The idea being that this is a centered mount for a motor that can be dropped into different designs. --- takeup.scad | 64 +++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 45 insertions(+), 19 deletions(-) diff --git a/takeup.scad b/takeup.scad index 9b82540..e62daf1 100755 --- a/takeup.scad +++ b/takeup.scad @@ -127,33 +127,47 @@ module motor_mount_void (D, Z) { } module mount_plate_void () { - cylinder(r = 4 / 2, h = 20, center = true, $fn = 40); - translate([0, 0, 0.5]) cylinder(r2 = 4/2, r1 = 6 / 2, h = 3, center = true, $fn = 40); + cylinder(r = 4.25 / 2, h = 20, center = true, $fn = 40); + translate([0, 0, 0.5]) cylinder(r = 8 / 2, h = 3, center = true, $fn = 40); } module mount_plate () { Z = 1.5; D = 7.5 + 1.5; - MOUNT_X = 40; - MOUNT_Y = 55; + X = 60; + Y = 60; - CORNER = 4; - X_CORNER = (60 / 2) - (CORNER / 2); - Y_CORNER = (70 / 2) - (CORNER / 2); + MOUNT_X = 42; + MOUNT_Y = 42; + + CORNER = 3; + X_CORNER = (X / 2) - (CORNER / 2); + Y_CORNER = (Y / 2) - (CORNER / 2); + + //center + //color("red") cylinder(r = 15 / 2, h = 20, center = true, $fn = 60); difference () { - translate([0, 0, 3.26 - .5]) cube([60, 70, 7], center = true); - translate([MOTOR_MOUNT_X / 2, MOTOR_MOUNT_Y / 2, 0]) motor_mount_void(D, Z); - translate([-MOTOR_MOUNT_X / 2, MOTOR_MOUNT_Y / 2, 0]) motor_mount_void(D, Z); - translate([MOTOR_MOUNT_X / 2, -MOTOR_MOUNT_Y / 2, 0]) motor_mount_void(D, Z); - translate([-MOTOR_MOUNT_X / 2, -MOTOR_MOUNT_Y / 2, 0]) motor_mount_void(D, Z); - translate([-(46 / 2) + 15 + 1, 0, 0]) cylinder(r = 15 / 2, h = 20, center = true, $fn = 60); + translate([0, 0, 3.26 - .5]) cube([X, Y, 7], center = true); + + //motor void (centered) + translate([7, 0, 0]) { + translate([-(46 / 2) + 15 + 1, 0, 0]) cylinder(r = 15 / 2, h = 20, center = true, $fn = 60); + translate([MOTOR_MOUNT_X / 2, MOTOR_MOUNT_Y / 2, 0]) motor_mount_void(D, Z); + translate([-MOTOR_MOUNT_X / 2, MOTOR_MOUNT_Y / 2, 0]) motor_mount_void(D, Z); + translate([MOTOR_MOUNT_X / 2, -MOTOR_MOUNT_Y / 2, 0]) motor_mount_void(D, Z); + translate([-MOTOR_MOUNT_X / 2, -MOTOR_MOUNT_Y / 2, 0]) motor_mount_void(D, Z); + + translate([-8 + 12.5, 0, 0]) cube([7.5, 17, Z], center = true); + } + translate([MOUNT_X / 2, MOUNT_Y / 2, 0]) mount_plate_void(); translate([-MOUNT_X / 2, MOUNT_Y / 2, 0]) mount_plate_void(); translate([MOUNT_X / 2, -MOUNT_Y / 2, 0]) mount_plate_void(); translate([-MOUNT_X / 2,-MOUNT_Y / 2, 0]) mount_plate_void(); - translate([-8 + 12.5, 0, 0]) cube([7.5, 17, Z], center = true); + + translate([X_CORNER, Y_CORNER, 3.26 - .5]) cube([CORNER, CORNER, 8], center = true); translate([-X_CORNER, Y_CORNER, 3.26 - .5]) cube([CORNER, CORNER, 8], center = true); translate([X_CORNER, -Y_CORNER, 3.26 - .5]) cube([CORNER, CORNER, 8], center = true); @@ -161,13 +175,25 @@ module mount_plate () { } translate([X_CORNER - (CORNER / 2), Y_CORNER - (CORNER / 2), 3.26 - .5]) cylinder(r = CORNER, h = 7, center = true, $fn = 40); translate([-X_CORNER + (CORNER / 2), Y_CORNER - (CORNER / 2), 3.26 - .5]) cylinder(r = CORNER, h = 7, center = true, $fn = 40); - translate([X_CORNER - (CORNER / 2), -Y_CORNER + (CORNER / 2), 3.26 - .5]) cylinder(r = CORNER, h = 7, center = true, $fn = 40); + translate([X_CORNER - (CORNER / 2), -Y_CORNER + (CORNER / 2), 3.26 - .5]) cylinder(r = CORNER, h = 7, center = true, $fn = 40); translate([-X_CORNER + (CORNER / 2), -Y_CORNER + (CORNER / 2), 3.26 - .5]) cylinder(r = CORNER, h = 7, center = true, $fn = 40); } +//centered, minimal geometry needed to add +//58x52 +module minimal_mount () { + difference () { + mount_plate(); + translate([50 + 29, 0, 0]) cube([100, 100, 100], center = true); + translate([-50 - 29, 0, 0]) cube([100, 100, 100], center = true); + translate([0, 50 + 26, 0]) cube([100, 100, 100], center = true); + translate([0, -50 - 26, 0]) cube([100, 100, 100], center = true); + } +} + module debug_assembled () { translate([(46 / 2) - 14.5, 0, 0]) rotate([180, 0, 0]) motor(); - color("green") translate([8, 0, 11]) mount_plate(); + color("green") translate([1, 0, 11]) mount_plate(); color("blue") translate([0, 0, 23]) rotate([0, 0, -90]) magnetic_coupling(); difference () { translate([0, 0, 26.5]) slip_coupling(); @@ -176,9 +202,7 @@ module debug_assembled () { color("red") translate([0, 0, 34]) daylight_spool_insert(); } -// - -PART = "mount_plate"; +PART = "magnetic_coupling"; if (PART == "slip_coupling") { slip_coupling(); @@ -190,4 +214,6 @@ if (PART == "slip_coupling") { daylight_spool_insert(); } else if (PART == "debug") { debug_assembled(); +} else if (PART == "minimal_mount") { + minimal_mount(); }