+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); } } } }
+