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 module
mounting_screw_flat(){
26 square(2, center
= true);}
28 module
motor_shaft_flat(radius
, flat_width
){
31 square([flat_width
, radius
* 2], center
= true);}}
33 module
motor_shaft(radius
,
36 linear_extrude(height
= shaft_length
){
37 motor_shaft_flat(radius
, flat_width
);}}
39 module
rim(radius
, wall_width
, wheel_width
){
40 linear_extrude(height
= wheel_width
){
43 circle(radius
- wall_width
);}}}
45 module
motor_shaft_holder_flat(radius
, flat_width
, wall_width
){
47 motor_shaft_flat(radius
+ wall_width
,
48 flat_width
+ wall_width
);
49 motor_shaft_flat(radius
, flat_width
);}}
51 module
motor_shaft_holder(radius
, flat_width
, wall_width
, height
){
52 linear_extrude(height
= height
){
53 motor_shaft_holder_flat(radius
, flat_width
, wall_width
);}}
55 module
wheel_black(radius
, width
, shaft_radius
, shaft_flat_width
, wall_width
){
57 rim(radius
, wall_width
, width
);
58 linear_extrude(height
= qr_height
){
61 mounting_screw_flat();}}
62 translate([0, 0, qr_height
]){
63 motor_shaft_holder(shaft_radius
,
66 width
- qr_height
);}}}
70 linear_extrude(height
= qr_height
){
73 mounting_screw_flat();}}}}
75 module
wheel(radius
, width
, shaft_radius
, shaft_flat_width
, wall_width
){
86 motor_shaft_flat_width
,