From 3381230e7e4e897b58ac196e7022ca63c8346af3 Mon Sep 17 00:00:00 2001 From: daniel watson Date: Mon, 27 Feb 2017 18:59:44 -0800 Subject: [PATCH] make cap fit new spinner shape --- spin-data.scad | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) 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; -- 2.30.2