From 38837c1f889d42b245d0a06535578db89d1459eb Mon Sep 17 00:00:00 2001 From: "Jan \"Yenya\" Kasprzak" Date: Fri, 25 May 2018 16:09:57 +0200 Subject: [PATCH] i3 spool holder for bearings --- i3-spool-holder.scad | 74 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 i3-spool-holder.scad diff --git a/i3-spool-holder.scad b/i3-spool-holder.scad new file mode 100644 index 0000000..11c45f8 --- /dev/null +++ b/i3-spool-holder.scad @@ -0,0 +1,74 @@ +eps = 0.01; +infty = 300; + +spool_r = 100 + 30; +frame_w = 6.5 + 0.5; +frame_h = 40 + 0.5; + +bearing_d = 15.5; +bearing_h = 9 + 1; +bearing_side_off = 3; + +holder_w = 5; +wall = 2; + +stem_w = 10; +fork_w = frame_w + 2*6; +fork_h = frame_h/3; +fork_top = 5; +fork_bottom = 3; +fork_raised = holder_w + 5; + +fork_angle = 20; + +module holder() { + cylinder(r2 = bearing_d/2 + wall, r1 = bearing_d/2, h = holder_w + bearing_side_off); + for (angle = [0:360/5:360]) + rotate([0, 0, angle]) hull() { + cylinder(r = wall, h = holder_w + bearing_h); + translate([bearing_d/2 - wall/2, 0, 0]) + cylinder(r = wall/2, h = holder_w + bearing_side_off+ bearing_h); + } + + difference() { + union() { + hull() { + // stem + translate([0, -stem_w/2, 0]) + cube([spool_r, stem_w, holder_w]); + + // fork + translate([spool_r, 0, 0]) + rotate([0, 0, fork_angle]) + translate([-fork_top, -fork_w/2, 0]) + cube([fork_top + fork_h, fork_w, holder_w]); + } + // fork side + translate([spool_r, 0, 0]) + rotate([0, 0, fork_angle]) + translate([0, frame_w/2, 0]) + cube([frame_h + wall, fork_w/2-frame_w/2, holder_w]); + // raised clip + translate([spool_r, 0, 0]) + rotate([0, 0, fork_angle]) + translate([-wall, -frame_w/2-wall, 0]) + cube([frame_h + 2*wall, frame_w+2*wall, fork_raised]); + } + translate([spool_r, 0, 0]) + rotate([0, 0, fork_angle]) { + // frame + translate([0, -frame_w/2, -infty/2]) + cube([frame_h, frame_w, infty]); + // frame hole + translate([fork_h, -frame_w/2-wall-eps, -infty/2]) + cube([frame_h, frame_w+wall+2*eps-fork_bottom, infty]); + } + } +} + +for (y = [-1, 1]) { + scale([1, y, 1]) + translate([0, 12, 0]) + holder(); +} + -- 2.43.0