From: Clinton Ebadi Date: Sat, 29 Aug 2015 17:54:06 +0000 (-0400) Subject: Adapter from makerfarm x-carriage to wilson x-carriage X-Git-Url: http://git.hcoop.net/clinton/3d-models.git/commitdiff_plain/f9a12374ed46963b34ba5244addf5df1e43e6dae?ds=sidebyside Adapter from makerfarm x-carriage to wilson x-carriage Needs work. --- diff --git a/carriage adapter/itty-wilson.scad b/carriage adapter/itty-wilson.scad new file mode 100644 index 0000000..75cbb6c --- /dev/null +++ b/carriage adapter/itty-wilson.scad @@ -0,0 +1,125 @@ +/* +min y = 0 +max y = 100 +min x = 1205 +max x = 1254 + +Makerfair X carriage plate adapter for the Wilson RepRap. +Copyright (c) 2015 Clinton Ebadi + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Measurements reverse engineered from +https://github.com/RickSisco/MakerFarm-Prusa-i3v-12-Inch + +Intended for use with the itty bitty dual extruder series. + +Source needs a good cleanup. Evil loops that don't take advantage of +the geometry of the object abound. + +*/ + +use + +carriage_height = 65; + +plate_width = 75; // wilson carriage is only 50mm wide! +plate_depth = 8; // wilson default depth = 8, makerfarm = 6 + +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_x_bolt_offset = 10.5 + plate_cut_bolt / 2; + +plate_height = carriage_height + plate_cut_height + plate_cut_y_offset; //100; + +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_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 + +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); + } + + // 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]); + } + // 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]) + for (x = [0, carriage_hole_spacing], y = [0, carriage_hole_spacing]) { + translate ([x, y, 0]) circle (d = carriage_bolt, $fn = 16); + } + + 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); + } + } + + 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); + } + } + } +}