2 // GNU AGPLv3 (or later at your option)
3 // project available at these locations:
4 // https://gitorious.org/ozzloy/challenge-bot
5 // https://github.com/waynegramlich/challenge-bot
7 // use $fn = 20 while developing, 100 when about to print
8 // 20 will make previews fast
9 // 100 will make printing smooth
20 wheel_radius
= sqrt(2 * pow(qr_size
/ 2, 2)) + wall_width
/ 2;
22 motor_shaft_radius
= 3.7;
23 motor_shaft_flat_width
= 4.8;
25 tread_radius
= 2.5 / 2;
27 module
mounting_screw_flat(){
28 square(2, center
= true);}
30 module
motor_shaft_flat(radius
, flat_width
){
33 square([flat_width
, radius
* 2], center
= true);}}
35 module
motor_shaft(radius
,
38 linear_extrude(height
= shaft_length
){
39 motor_shaft_flat(radius
, flat_width
);}}
41 module
rim(radius
, wall_width
, wheel_width
){
42 linear_extrude(height
= wheel_width
){
45 circle(radius
- wall_width
);}}}
47 module
motor_shaft_holder_flat(radius
, flat_width
, wall_width
){
49 motor_shaft_flat(radius
+ wall_width
,
50 flat_width
+ wall_width
);
51 motor_shaft_flat(radius
, flat_width
);}}
53 module
motor_shaft_holder(radius
, flat_width
, wall_width
, height
){
54 linear_extrude(height
= height
){
55 motor_shaft_holder_flat(radius
, flat_width
, wall_width
);}}
57 module
tread(wheel_radius
, tread_radius
){
58 rotate_extrude(convexity
= 10){
59 translate([wheel_radius
, 0]){
60 circle(tread_radius
);}}}
62 module
wheel_black(radius
,
70 rim(radius
, wall_width
, width
);
71 translate([0, 0, width
/ 2]){
72 tread(radius
, tread_radius
);}}
73 linear_extrude(height
= qr_height
){
76 mounting_screw_flat();}}
77 translate([0, 0, qr_height
]){
78 motor_shaft_holder(shaft_radius
,
81 width
- qr_height
);}}}
85 linear_extrude(height
= qr_height
){
88 mounting_screw_flat();}}}}
104 module
wheel_solid(radius
,
111 rim(radius
, wall_width
, width
);
112 translate([0, 0, width
/ 2]){
113 tread(radius
, tread_radius
);}}
116 linear_extrude(height
= qr_height
){
118 square(qr_size
, center
= true);
119 square(1.5, center
= true);}}
120 translate([0, 0, qr_height
]){
121 motor_shaft_holder(shaft_radius
,
124 width
- qr_height
);}}
130 motor_shaft_flat_width,
135 wheel_solid(wheel_radius
,
138 motor_shaft_flat_width
,