From: daniel watson Date: Tue, 28 Feb 2017 02:59:44 +0000 (-0800) Subject: make cap fit new spinner shape X-Git-Url: http://challenge-bot.com/repos/?p=ozzloy%40gmail.com%2F3d-printables;a=commitdiff_plain;h=3381230e7e4e897b58ac196e7022ca63c8346af3 make cap fit new spinner shape --- diff --git a/spin-data.scad b/spin-data.scad index 24214f1..46c2f80 100644 --- a/spin-data.scad +++ b/spin-data.scad @@ -26,6 +26,7 @@ weight_thickness = (weight == "penny") ? penny_thickness * 5 : _608zz_thickness; bearing_radius = (bearing == "608zz") ? _608zz_radius : 1/0; +bearing_window_radius = bearing_radius - bearing_lip_overhang - 1; bearing_inner_radius = (bearing == "608zz") ? _608zz_inner_radius : 1/0; bearing_cover_radius = (bearing == "608zz") ? _608zz_cover_radius @@ -40,29 +41,35 @@ arms = 3; module cap(bearing_inner_radius, bearing_cap_footprint_radius, bearing_cover_radius, - bearing_thickness) { - footprint_height = 1.6; - footprint_radius_safety = 0.25; + bearing_thickness, + bearing_window_radius) { + footprint_height = 4.5; + footprint_radius_safety = 0.2; cap_height = 3; - bearing_cover_radius_safety = 0.75; - bearing_thickness_safety = 0.2; + bearing_thickness_safety = 0.6; + finger_spot_height = cap_height / 10; difference() { union() { cylinder(r1 = bearing_cover_radius - tan(30) * cap_height, r2 = bearing_cover_radius, h = cap_height); + linear_extrude(height = cap_height + + footprint_height + - 1.05) { + circle(bearing_window_radius - 1); } linear_extrude(height = cap_height + footprint_height) { circle(bearing_cap_footprint_radius - footprint_radius_safety); } linear_extrude(height = cap_height + footprint_height + bearing_thickness / 2 - bearing_thickness_safety) { - circle(bearing_inner_radius); } } + circle(bearing_inner_radius); } + } translate([0, 0, -0.01]) { - cylinder(r1 = bearing_inner_radius + tan(30) * (cap_height - 1), - r2 = bearing_inner_radius, - h = cap_height - 1); } } } + cylinder(r1 = bearing_inner_radius, + r2 = bearing_inner_radius - tan(30) * finger_spot_height, + h = finger_spot_height); } } } module donut(height, footprint_radius) { bread_radius = height / 2;