- depth = 7.65;
- radius = 68/2;
- difference(){
- cylinder(h = depth, r = radius, center = true, $fn=100);
- translate([0, 0, 7.65/4])
- scale([1, 1, 1.1])
- encoder_shaft();
- cylinder(h = depth * 1.1, r = 1, $fn = 100, center = true);}}
-
-translate([0, 0, 7.65/2]) wheel();
+ translate([0, 0, wheel_depth / 2]){
+ difference(){
+ cylinder(h = wheel_depth, r = wheel_radius, center = true, $fn = 30);
+ translate([0, 0, wheel_depth / 4]){
+ scale([1, 1, 1.1]){
+ encoder_shaft();}}
+ mounting_screw();
+ for(i = [1 : 5]){
+ rotate(i * 360/5, [0, 0, 1]){
+ translate([0, 0, -0.6 * wheel_depth])
+ between_spokes();}}
+ translate([0, 0, wheel_depth / 4]){
+ difference(){
+ cylinder(h = wheel_depth / 1.2,
+ r = 0.85 * wheel_radius,
+ center = true);
+ cylinder(h = wheel_depth / 1.2,
+ r = 0.23 * wheel_radius,
+ center = true);}}}}}
+
+module wheel_block(){
+ cube([wheel_radius, wheel_radius, wheel_depth]);}
+
+module pie_slice(){
+ intersection(){
+ translate([0, 0, wheel_depth / 2]){
+ cylinder(h = wheel_depth,
+ r = 0.85 * wheel_radius,
+ center = true);}
+ translate([0, wheel_radius * 0.3, 0]){
+ rotate([0, 0, (360 / 5) / 2]){
+ intersection(){
+ wheel_block();
+ rotate([0, 0, 90 - 360 / 5])
+ wheel_block();}}}}}
+
+module between_spokes(){
+ minkowski(){
+ pie_slice();
+ cylinder(h = wheel_depth / 2, r = 1, $fn = 30);}}
+
+wheel();