use full 608zz radius as radius for cover
[ozzloy@gmail.com/3d-printables] / spin-data.scad
index 4d4fd0dec60f9b947024b8c9a82fec96f9878f67..24214f1499e475ce74688b24cc4f44d3bd2714fc 100644 (file)
@@ -11,15 +11,13 @@ weight = "penny";
 bearing = "608zz";
 weight_lip_overhang = 0.3;
 bearing_lip_overhang = weight_lip_overhang;
-// TODO: switch wall_thickness -> wall
-wall_thickness = 3;
 wall = 3;
 penny_thickness = 1.52;
 penny_radius = 19.05 / 2;
 
 _608zz_radius = 22 / 2;
 _608zz_inner_radius = 8.1 / 2;
-_608zz_cover_radius = 19.4 / 2;
+_608zz_cover_radius = _608zz_radius;
 _608zz_cap_footprint_radius = 12 / 2;
 _608zz_thickness = 7;
 
@@ -30,7 +28,7 @@ weight_thickness = (weight == "penny") ?
 bearing_radius = (bearing == "608zz") ? _608zz_radius : 1/0;
 bearing_inner_radius = (bearing == "608zz") ? _608zz_inner_radius : 1/0;
 bearing_cover_radius = (bearing == "608zz")
-                       ? _608zz_cover_radius + wall
+                       ? _608zz_cover_radius
                        : 1/0;
 bearing_cap_footprint_radius =
      (bearing == "608zz") ? _608zz_cap_footprint_radius : 1/0;
@@ -66,6 +64,21 @@ module cap(bearing_inner_radius,
                r2 = bearing_inner_radius,
                h = cap_height - 1); } } }
 
+module donut(height, footprint_radius) {
+  bread_radius = height / 2;
+  rotate_extrude() {
+    translate([footprint_radius, 0]) {
+      circle(bread_radius); } } }
+
+module donut_hole(height, footprint_radius) {
+  difference() {
+    cylinder(r = footprint_radius, h = height, center = true);
+    donut(height, footprint_radius); } }
+
+module jelly_filled(height, footprint_radius) {
+  cylinder(r = footprint_radius, h = height, center = true);
+  donut(height, footprint_radius); }
+
 module fillet(r) {
   offset(r = -r) { offset(delta = r) { children(); } } }