motor_shaft_radius = 3.7;
motor_shaft_flat_width = 4.8;
+tread_radius = 2.5 / 2;
+
module mounting_screw_flat(){
square(2, center = true);}
linear_extrude(height = height){
motor_shaft_holder_flat(radius, flat_width, wall_width);}}
-module wheel_black(radius, width, shaft_radius, shaft_flat_width, wall_width){
+module tread(wheel_radius, tread_radius){
+ rotate_extrude(convexity = 10){
+ translate([wheel_radius, 0]){
+ circle(tread_radius);}}}
+
+module wheel_black(radius,
+ width,
+ shaft_radius,
+ shaft_flat_width,
+ wall_width,
+ tread_radius){
color("black"){
- rim(radius, wall_width, width);
+ difference(){
+ rim(radius, wall_width, width);
+ translate([0, 0, width / 2]){
+ tread(radius, tread_radius);}}
linear_extrude(height = qr_height){
difference(){
qr_black_flat();
qr_white_flat();
mounting_screw_flat();}}}}
-module wheel(radius, width, shaft_radius, shaft_flat_width, wall_width){
+module wheel(radius,
+ width,
+ shaft_radius,
+ shaft_flat_width,
+ wall_width,
+ tread_radius){
wheel_black(radius,
width,
shaft_radius,
shaft_flat_width,
- wall_width);
+ wall_width,
+ tread_radius);
wheel_white();}
+module wheel_solid(radius,
+ width,
+ shaft_radius,
+ shaft_flat_width,
+ wall_width,
+ tread_radius){
+ difference(){
+ rim(radius, wall_width, width);
+ translate([0, 0, width / 2]){
+ tread(radius, tread_radius);}}
+ qr_size = 54;
+ qr_height = 2;
+ linear_extrude(height = qr_height){
+ difference (){
+ square(qr_size, center = true);
+ square(1.5, center = true);}}
+ translate([0, 0, qr_height]){
+ motor_shaft_holder(shaft_radius,
+ shaft_flat_width,
+ wall_width,
+ width - qr_height);}}
+
+/*
wheel(wheel_radius,
wheel_width,
motor_shaft_radius,
motor_shaft_flat_width,
- wall_width);
+ wall_width,
+ tread_radius);
+*/
+
+wheel_solid(wheel_radius,
+ wheel_width,
+ motor_shaft_radius,
+ motor_shaft_flat_width,
+ wall_width,
+ tread_radius);