add rim base

master
Vitaliy Filippov 2014-06-05 09:56:39 +00:00
parent 7fdbac6b3c
commit 8356c42ef4
1 changed files with 28 additions and 10 deletions

View File

@ -3,34 +3,51 @@
$fn=60;
R=42; // outer radius
R_I=26.5; // innermost radius
B=2.5; // width of edge for the rim
B_W=1.6; // thickness of edge for the rim
B_P=4; // position of edge for the rim
W=50; // tire width
N_L=4; // number of lateral protectors
N_A=20; // number of angular protectors
N_A=10; // number of angular protectors
translate([0, 0, B_P-2-0.2]) color([0.5, 0.5, 1]) {
union() {
cylinder(r=R_I-0.2, h=W-2*(B_P-2-0.2));
cylinder(r=R_I+B-0.5, h=2);
translate([0, 0, W-2*(B_P-2-0.2)-2]) cylinder(r=R_I+B-0.5, h=2);
translate([0, 0, B_P]) cylinder(r=R_I+B+2, h=2);
translate([0, 0, W-2*(B_P-2-0.2)-6]) cylinder(r=R_I+B+2, h=2);
}
}
tire();
module tire() {
difference() {
hull() {
translate([0, 0, 2]) cylinder(r=R, h=W-4);
cylinder(r=R-2, h=W);
}
// center hole through all piece
translate([0, 0, -0.5]) cylinder(r=26.5, h=W+1);
translate([0, 0, -0.5]) cylinder(r=R_I, h=W+1);
// top hole
translate([0, 0, W-4]) cylinder(r=29, h=5);
translate([0, 0, W-B_P]) cylinder(r=R_I+B, h=B_P+1);
hull() {
translate([0, 0, W-1.5]) cylinder(r=29, h=1.5);
translate([0, 0, W]) cylinder(r=30.5, h=1);
translate([0, 0, W-1.5]) cylinder(r=R_I+B, h=1.5);
translate([0, 0, W]) cylinder(r=R_I+B+1.5, h=1);
}
// bottom hole
translate([0, 0, -1]) cylinder(r=29, h=5);
translate([0, 0, -1]) cylinder(r=R_I+B, h=B_P+1);
hull() {
translate([0, 0, 0]) cylinder(r=29, h=1.5);
translate([0, 0, -1]) cylinder(r=30.5, h=1);
translate([0, 0, 0]) cylinder(r=R_I+B, h=1.5);
translate([0, 0, -1]) cylinder(r=R_I+B+1.5, h=1);
}
// inside cut
translate([0, 0, 4+1.5]) cylinder(r=R-3, h=W-(4+1.5)*2);
translate([0, 0, B_P+B_W]) cylinder(r=R-3, h=W-(B_P+B_W)*2);
difference() {
translate([0, 0, 2.5]) cylinder(r=R-3, h=W-2.5*2);
cylinder(r=31, h=W);
cylinder(r=R_I+B+2, h=W);
}
// lateral protector
for (i = [1 : N_L])
@ -44,6 +61,7 @@ difference() {
// to cut and look inside :)
//translate([0, 0, -0.1]) cube(size=[100, 100,100]);
}
}
module protector_single() {
difference() {