From: daniel watson Date: Tue, 28 Feb 2017 03:00:45 +0000 (-0800) Subject: start on donut version of spinner X-Git-Url: http://challenge-bot.com/repos/?p=ozzloy%40gmail.com%2F3d-printables;a=commitdiff_plain;h=1dc634e165abdec58126cc340dfa1ea60b5032f2 start on donut version of spinner --- diff --git a/spin-data.scad b/spin-data.scad index eb2f1a9..534df16 100644 --- a/spin-data.scad +++ b/spin-data.scad @@ -200,6 +200,26 @@ module spin_slices(weight_radius, r = weight_radius + 0.15, center = true); } } } } } +module spin_donut(weight_radius, + weight_thickness, + bearing_radius, + bearing_thickness, + weight_lip_overhang, + bearing_lip_overhang, + wall, + arms) { + thicker_thickness = (bearing_thickness > weight_thickness) + ? bearing_thickness : weight_thickness; + height = thicker_thickness + wall * 2; + + center_to_arm_center = bearing_radius + wall + weight_radius; + + jelly_filled(height, bearing_radius); + for(arm = [0 : arms]) { + rotate(arm * (360 / arms)) { + translate([center_to_arm_center, 0, 0]) { + jelly_filled(height, weight_radius); } } } } + /* This file is part of 3d-printables. diff --git a/spin.scad b/spin.scad index 1d3bfb8..37b74f0 100644 --- a/spin.scad +++ b/spin.scad @@ -16,6 +16,15 @@ if (object == "spin_slices") { wall, arms, layer_height); } +else if (object == "spin_donut") { + spin_donut(weight_radius, + weight_thickness, + bearing_radius, + bearing_thickness, + weight_lip_overhang, + bearing_lip_overhang, + wall, + arms); } else if (object == "cap") { cap(bearing_inner_radius, bearing_cap_footprint_radius,