]> www.fi.muni.cz Git - things.git/commitdiff
rc plane ski: alternative version
authorJan "Yenya" Kasprzak <kas@fi.muni.cz>
Wed, 6 Dec 2017 09:04:52 +0000 (10:04 +0100)
committerJan "Yenya" Kasprzak <kas@fi.muni.cz>
Wed, 6 Dec 2017 09:04:52 +0000 (10:04 +0100)
rc-plane-ski.scad

index ebd4c56e8235a24557eb03a489ec0b1547a91581..61d9b8f22e6bcb3ee56eadf66ec710f08badac28 100644 (file)
@@ -4,21 +4,45 @@ eps = 0.01;
 base_w = 30;
 base_l = 150;
 
+center_w = 5;
+center_l = base_l - base_w;
+center_h = 1.5;
+
 tip_r = 25;
 tip_rv = 25;
 tip_rv_off = base_l/2-2;
-wall = 1.25;
+wall = 1.2;
 
-axle_hole = 3;
-axle_h = 7;
-axle_off = base_l/6;
-axle_cube = 10;
+axle_hole = 1.2 + 0.5;
+axle_slot = 1.2;
+axle_top_l = 15;
+axle_bot_l = 20;
+axle_top_w = 3;
+axle_bot_w = 10;
+axle_h = 3;
 
 module body() {
        // base
        translate([-base_l/2, 0 ])
                cube([base_l, wall, base_w]);
 
+       // center reinforcement
+       intersection() {
+               translate([-center_l/2, wall, base_w/2])
+               rotate([0, 90, 0])
+               scale([1, center_h/center_w, 1])
+                       cylinder(r = center_w, h = center_l, $fn = 4);
+               translate([-infty/2, eps, 0])
+                       cube(infty);
+       }
+
+       hull() {
+               translate([-axle_bot_w/2, wall, base_w/2-axle_bot_l/2])
+                       cube([axle_bot_w, eps, axle_bot_l]);
+               translate([-axle_top_w/2, wall+axle_h, base_w/2-axle_top_l/2])
+                       cube([axle_top_w, eps, axle_top_l]);
+       }
+
        // tip
        intersection() {
                // the main tube
@@ -37,17 +61,24 @@ module body() {
                        cylinder(r = tip_rv, h = base_w + 2*eps);
        }
 
-       // axle block
+}
+
+module ski() {
        difference() {
-               translate([axle_off - axle_cube/2, wall, 0])
-                       cube([axle_cube, axle_cube/2 + axle_h, axle_cube]);
-               translate([axle_off, axle_h + wall, -eps])
-                       cylinder(r = axle_hole/2, h = axle_cube + 2*eps);
+               body();
+               // slot
+               translate([-axle_slot/2, wall+axle_h/2, 0])
+                       cube([axle_slot, infty, base_w]);
+               // hole
+               translate([0, wall+axle_h/2, 0])
+                       cylinder(r = axle_hole/2, h = base_w, $fn = 6);
        }
 }
 
+// ski();
+
 // left and right part
 for (i = [-1, 1]) scale([1, i, 1])
-       translate([0, axle_h, 0])
-               body();
+       translate([0, 8, 0])
+               ski();