From 84a5e569a083d9ee774f835a6cc900072527a346 Mon Sep 17 00:00:00 2001 From: Clinton Ebadi Date: Sat, 29 Aug 2015 17:11:46 -0400 Subject: [PATCH] Makerfarm to Wilson X-Carriage Adapter Take II Code is a tiny bit less heinous, but still relies on global variables and fugly math. * Loosened screw holes a bit to (hopefully) avoid the need to drill them out. * Actually center x-carriage mount and make it the same width as the wilson x-carriage * Reduced default depth to 6mm so that the bolts included in the Clough42 kit will work. This makes it so that the second nut in the wilson part of the mount will not fit fully, but that should be OK because the M4x20mm screws in the BOM won't fully bit into the second one anyway (build instructions specify 25mm, but BOM doesn't mention them). --- carriage adapter/itty-wilson.scad | 116 ++++++++++++++++-------------- 1 file changed, 61 insertions(+), 55 deletions(-) diff --git a/carriage adapter/itty-wilson.scad b/carriage adapter/itty-wilson.scad index 75cbb6c..980eab4 100644 --- a/carriage adapter/itty-wilson.scad +++ b/carriage adapter/itty-wilson.scad @@ -33,92 +33,98 @@ the geometry of the object abound. use carriage_height = 65; +carriage_width = 50; plate_width = 75; // wilson carriage is only 50mm wide! -plate_depth = 8; // wilson default depth = 8, makerfarm = 6 +plate_depth = 6; // wilson default depth = 8, makerfarm = 6 + +hole_tolerance = 0.25; // widen holes a bit, may still need to drill out plate_cut_height = 6.5; plate_cut_width = 6; plate_cut_distance = 13; plate_cut_center = 25.1; plate_cut_y_offset = 27; -plate_cut_bolt = 3; +plate_cut_bolt = 3 + hole_tolerance; plate_cut_x_bolt_offset = 10.5 + plate_cut_bolt / 2; -plate_height = carriage_height + plate_cut_height + plate_cut_y_offset; //100; +plate_extra_height = 3; // make plate a bit taller so it is structurally sound + +plate_height = plate_cut_height + plate_cut_y_offset + plate_extra_height; lower_cut_y_offset = 5.33; // 5.325 in CAD lower_bolt_x_offset = 1.5 + plate_cut_bolt / 2; lower_bolt_y_offset = 3.275 + plate_cut_bolt / 2; -carriage_bolt = 4; +carriage_bolt = 4 + hole_tolerance; carriage_hole_spacing = 24; carriage_clearance = 20; // holes are 20mm from bottom of plate carriage_y_offset = plate_cut_y_offset + plate_cut_height + carriage_clearance; -carriage_nut_depth = 2 * 3.2 + 0.1; // m4 nut depth + tolerance +carriage_nut_depth = 3.2 + 3.2/2 + 0.1; // m4 nut depth + half of an m4 nut + tolerance corner_radius = 3; // round off the corners to make it look nicer -bump_strip = false; // generate holes to mount a strip to hit the end stop -- experimental / bad code - -module plate_outline () { - $fn = 16; - difference () { - minkowski () { - translate ([corner_radius, corner_radius, 0]) - square ([plate_width - corner_radius*2, plate_height - corner_radius*2]); - circle (r = corner_radius); - } - - // upper plate mount - translate ([0, plate_cut_y_offset, 0]) { - for (x = [-0.01, plate_cut_width + plate_cut_distance, plate_cut_width*2 + plate_cut_distance + plate_cut_center, plate_cut_width*3 + plate_cut_distance*2 + plate_cut_center + 0.01]) - translate ([x, 0, 0]) square ([plate_cut_width, plate_cut_height]); - - // looks like the bolt is at the midpoint between the cut outs - for (x = [plate_cut_x_bolt_offset, plate_width - plate_cut_x_bolt_offset]) - translate ([x, plate_cut_height / 2, 0]) circle (d = plate_cut_bolt, $fn = 16); - } +shelf_mount (); +translate ([(plate_width - carriage_width) / 2, plate_height - plate_extra_height, 0]) carriage_mount (); + +// mount to wilson x-carriage +module carriage_mount () { + difference () { + linear_extrude (height = plate_depth, convexity = 8) { + // outline of plate + bolt holes + difference () { + translate ([corner_radius, corner_radius, 0]) { + minkowski () { + square ([carriage_width - corner_radius*2, carriage_height - corner_radius]); + circle (r = corner_radius); + } + } - // lower plate mount - translate ([0, lower_cut_y_offset, 0]) { - for (x = [-0.01, plate_width - plate_cut_width + 0.01]) { - // lower cut out is closer to 6mm than 6.5mm in cad drawings - translate ([x, -0.01, 0]) square ([plate_cut_width, plate_cut_height - 0.5]); + #translate ([(carriage_width - carriage_hole_spacing) / 2, (carriage_height - carriage_hole_spacing) /2, 0]) + for (x = [0, carriage_hole_spacing], y = [0, carriage_hole_spacing]) { + translate ([x, y, 0]) circle (d = carriage_bolt, $fn = 16); + } } - // I think the intention is for the screw holes to be centered over the cut out - for (x = [lower_bolt_x_offset, plate_width - lower_bolt_x_offset]) - translate ([x, plate_cut_height + lower_bolt_y_offset, 0]) circle (d = plate_cut_bolt, $fn = 16); } - - // mount to wilson x-carriage - translate ([(plate_width - carriage_hole_spacing) / 2, carriage_y_offset, 0]) + // after extruding, cut out spaces for M4 hex nuts. + translate ([(carriage_width - carriage_hole_spacing) / 2, (carriage_height - carriage_hole_spacing) /2, plate_depth - carriage_nut_depth]) { for (x = [0, carriage_hole_spacing], y = [0, carriage_hole_spacing]) { - translate ([x, y, 0]) circle (d = carriage_bolt, $fn = 16); + translate ([x, y, 0]) linear_extrude (height = carriage_nut_depth + 0.01) nutHole (size = carriage_bolt, proj = 1); } - - if (bump_strip) { - translate ([6, carriage_y_offset, 0]) - for (y = [0, carriage_hole_spacing]) { - translate ([0, y, 0]) circle (d = carriage_bolt, $fn = 16); - } } } } -difference () { - linear_extrude (height = plate_depth, convexity = 50) plate_outline (); - // after extruding, cut out spaces for M4 hex nuts (6 - 6.5mm deep, for two nuts) - translate ([(plate_width - carriage_hole_spacing) / 2, carriage_y_offset, plate_depth - carriage_nut_depth]) { - for (x = [0, carriage_hole_spacing], y = [0, carriage_hole_spacing]) { - translate ([x, y, 0]) linear_extrude (height = carriage_nut_depth + 0.01) nutHole (size = carriage_bolt, proj = 1); - } - } +// mount for makerfarm extruder shelf +module shelf_mount () { + linear_extrude (height = plate_depth, convexity = 8) { + difference () { + translate ([corner_radius, corner_radius, 0]) { + minkowski () { + square ([plate_width - corner_radius*2, plate_height - corner_radius*2]); + circle (r = corner_radius); + } + } - if (bump_strip) { - translate ([6, carriage_y_offset, plate_depth - carriage_nut_depth/2]) { - for (y = [0, carriage_hole_spacing]) { - translate ([0, y, 0]) linear_extrude (height = carriage_nut_depth/2 + 0.01) nutHole (size = carriage_bolt, proj = 1); + // upper shelf mount + translate ([0, plate_cut_y_offset, 0]) { + for (x = [-0.01, plate_cut_width + plate_cut_distance, plate_cut_width*2 + plate_cut_distance + plate_cut_center, plate_cut_width*3 + plate_cut_distance*2 + plate_cut_center + 0.01]) + translate ([x, 0, 0]) square ([plate_cut_width, plate_cut_height]); + + // looks like the bolt is at the midpoint between the cut outs + for (x = [plate_cut_x_bolt_offset, plate_width - plate_cut_x_bolt_offset]) + translate ([x, plate_cut_height / 2, 0]) circle (d = plate_cut_bolt + hole_tolerance, $fn = 16); + } + + // lower shelf mount + translate ([0, lower_cut_y_offset, 0]) { + for (x = [-0.01, plate_width - plate_cut_width + 0.01]) { + // lower cut out is closer to 6mm than 6.5mm in cad drawings + translate ([x, -0.01, 0]) square ([plate_cut_width, plate_cut_height - 0.5]); + } + // I think the intention is for the screw holes to be centered over the cut out + for (x = [lower_bolt_x_offset, plate_width - lower_bolt_x_offset]) + translate ([x, plate_cut_height + lower_bolt_y_offset, 0]) circle (d = plate_cut_bolt + hole_tolerance, $fn = 16); } } } -- 2.20.1