]> www.fi.muni.cz Git - things.git/blobdiff - rc-plane-wheel.scad
warping test object
[things.git] / rc-plane-wheel.scad
index 869ca1b31aa90b850e5ce6058e9697b958d83c9f..d1b865f03cb4df9e9d8f120e27fa7802d4d44bff 100644 (file)
@@ -3,41 +3,50 @@ eps = 0.01;
 
 wheel_d = 60;
 wheel_h = 4;
-wheel_thick = 1;
+wheel_thick_outer = 1;
+wheel_thick_inner = 2;
+wheel_rim = 4.5;
+
+min_wall = 0.5;
 
 spokes = 5;
 spoke_w =  5;
-spoke_h = 3;
+spoke_h = 2.5;
 
-center_d = 8;
-center_hole = 3;
+center_d = 12;
+center_hole = 4;
+center_h = 10;
 
 module body() {
        // rim
        difference() {
                cylinder(r = wheel_d/2, h = wheel_h, $fn = 128);
+               translate([0,0,min_wall-eps])
+                       cylinder(r1 = wheel_d/2 - wheel_thick_inner,
+                               r2 = wheel_d/2 - wheel_thick_outer,
+                               h = wheel_h - min_wall+ 2*eps);
                translate([0,0,-eps])
-                       cylinder(r = wheel_d/2 - wheel_thick, h = wheel_h + 2*eps);
+                       cylinder(r = wheel_d/2 - wheel_rim,
+                               h = min_wall+2*eps);
        }
 
        // spokes
        for (a = [0:360/spokes:360-eps]) {
                rotate([0, 0, a])
-               translate([2, 0, 0])
                hull() {
                        translate([-spoke_w/2, 0, 0])
-                               cube([spoke_w, wheel_d/2 - wheel_thick/2, eps]);
-                       translate([-eps/2, 0, spoke_h-eps])
-                               cube([eps, wheel_d/2 - wheel_thick/2, eps]);
+                               cube([spoke_w, wheel_d/2 - min_wall/2, min_wall]);
+                       translate([-min_wall/2, 0, spoke_h-eps])
+                               cube([min_wall, wheel_d/2 - min_wall/2, eps]);
                }
        }
 
-       cylinder(r = center_d/2, h = wheel_h);
+       cylinder(r1 = center_d/2, r2 = center_hole/2 + 2*min_wall, h = center_h);
 }
 
 difference() {
        body();
        // center hole
        translate([0, 0, -eps])
-               cylinder(r = center_hole/2, h = wheel_h + 2*eps);
+               cylinder(r = center_hole/2, h = center_h + 2*eps);
 }