X-Git-Url: http://git.hcoop.net/clinton/3d-models.git/blobdiff_plain/f9a12374ed46963b34ba5244addf5df1e43e6dae..84a5e569a083d9ee774f835a6cc900072527a346:/carriage%20adapter/itty-wilson.scad 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); } } }