// 100 will make printing smooth
$fn = 100;
-qr_size = 45;
-qr_height = 2;
+wheel_square_spoke_size = 45;
+wheel_square_spoke_thickness = 2;
wall_width = 3;
wheel_width = 9;
-wheel_radius = sqrt(2 * pow(qr_size / 2, 2)) + wall_width / 2;
+wheel_radius = sqrt(2 * pow(wheel_square_spoke_size / 2, 2)) + wall_width / 2;
motor_shaft_radius = 3.7;
motor_shaft_flat_width = 4.8;
translate([wheel_radius, 0]) {
circle(tread_radius); } } }
-module wheel_black(radius,
- width,
- shaft_radius,
- shaft_flat_width,
- wall_width,
- tread_radius) {
- color("black") {
- difference() {
- rim(radius, wall_width, width);
- translate([0, 0, width / 2]) {
- tread(radius, tread_radius); } }
- linear_extrude(height = qr_height) {
- difference() {
- qr_black_flat();
- mounting_screw_flat(); } }
- translate([0, 0, qr_height]) {
- motor_shaft_holder(shaft_radius,
- shaft_flat_width,
- wall_width,
- width - qr_height); } } }
-
-module wheel_white() {
- color("white") {
- linear_extrude(height = qr_height) {
- difference() {
- qr_white_flat();
- mounting_screw_flat(); } } } }
-
module wheel(radius,
width,
shaft_radius,
shaft_flat_width,
wall_width,
tread_radius) {
- wheel_black(radius,
- width,
- shaft_radius,
- shaft_flat_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 * 2, width);
translate([0, 0, width / 2]) {
tread(radius, tread_radius); } }
- linear_extrude(height = qr_height) {
+ linear_extrude(height = wheel_square_spoke_thickness) {
difference() {
- square(qr_size, center = true);
+ square(wheel_square_spoke_size, center = true);
mounting_screw_flat(); } }
- translate([0, 0, qr_height]) {
+ translate([0, 0, wheel_square_spoke_thickness]) {
motor_shaft_holder(shaft_radius,
shaft_flat_width,
wall_width,
- width - qr_height); } }
+ width - wheel_square_spoke_thickness); } }