changeset 39:279a988bf08b

Holes in the body
author Radomir Dopieralski <sheep-devel@sheep.art.pl>
date Fri, 15 Aug 2014 18:59:14 +0200
parents 0e361d3e6d88
children 81454c0a97cc
files scad/body.scad scad/leg.scad scad/robot.scad scad/sg90.scad
diffstat 4 files changed, 76 insertions(+), 24 deletions(-) [+]
line wrap: on
line diff
--- a/scad/body.scad	Fri Aug 15 18:25:08 2014 +0200
+++ b/scad/body.scad	Fri Aug 15 18:59:14 2014 +0200
@@ -1,9 +1,47 @@
-module body() {
-    color("AliceBlue", 0.25) hull() {
-        translate([20, 20, 0]) cylinder(r=5, h=45, $fn=20);
-        translate([-20, 20, 0]) cylinder(r=5, h=45, $fn=20);
-        translate([20, -20, 0]) cylinder(r=5, h=45, $fn=20);
-        translate([-20, -20, 0]) cylinder(r=5, h=45, $fn=20);
+module body(explode) {
+    color("AliceBlue", 0.5) union() {
+        difference() {
+            hull() {
+                translate([20, 20, 0]) cylinder(r=5, h=5, $fn=16);
+                translate([-20, 20, 0]) cylinder(r=5, h=5, $fn=16);
+                translate([20, -20, 0]) cylinder(r=5, h=5, $fn=16);
+                translate([-20, -20, 0]) cylinder(r=5, h=5, $fn=16);
+            }
+            translate([0, 0, 1]) hull() {
+                translate([19, 19, 0]) cylinder(r=5, h=5, $fn=16);
+                translate([-19, 19, 0]) cylinder(r=5, h=5, $fn=16);
+                translate([19, -19, 0]) cylinder(r=5, h=5, $fn=16);
+                translate([-19, -19, 0]) cylinder(r=5, h=5, $fn=16);
+            }
+            translate([20, 20, -1]) cylinder(r=2.2, h=8, $fn=8);
+            translate([-20, 20, -1]) cylinder(r=2.2, h=8, $fn=8);
+            translate([20, -20, -1]) cylinder(r=2.2, h=8, $fn=8);
+            translate([-20, -20, -1]) cylinder(r=2.2, h=8, $fn=8);
+            translate([13.6, 13.6, -1]) cylinder(r=0.7, h=8, $fn=8);
+            translate([13.6, -13.6, -1]) cylinder(r=0.7, h=8, $fn=8);
+            translate([-13.6, 13.6, -1]) cylinder(r=0.7, h=8, $fn=8);
+            translate([-13.6, -13.6, -1]) cylinder(r=0.7, h=8, $fn=8);
+            translate([9.4, 9.4, -1]) cylinder(r=0.7, h=8, $fn=8);
+            translate([-9.4, 9.4, -1]) cylinder(r=0.7, h=8, $fn=8);
+            translate([9.4, -9.4, -1]) cylinder(r=0.7, h=8, $fn=8);
+            translate([-9.4, -9.4, -1]) cylinder(r=0.7, h=8, $fn=8);
+        }
+    }
+    color("AliceBlue", 0.5) union() {
+        translate([0, 0, 5 + explode]) difference() {
+            hull() {
+                translate([20, 20, 0]) cylinder(r=5, h=40, $fn=16);
+                translate([-20, 20, 0]) cylinder(r=5, h=40, $fn=16);
+                translate([20, -20, 0]) cylinder(r=5, h=40, $fn=16);
+                translate([-20, -20, 0]) cylinder(r=5, h=40, $fn=16);
+            }
+            translate([0, 0, -1]) hull() {
+                translate([19, 19, 0]) cylinder(r=5, h=40, $fn=16);
+                translate([-19, 19, 0]) cylinder(r=5, h=40, $fn=16);
+                translate([19, -19, 0]) cylinder(r=5, h=40, $fn=16);
+                translate([-19, -19, 0]) cylinder(r=5, h=40, $fn=16);
+            }
+        }
     }
 }
 
--- a/scad/leg.scad	Fri Aug 15 18:25:08 2014 +0200
+++ b/scad/leg.scad	Fri Aug 15 18:59:14 2014 +0200
@@ -13,19 +13,25 @@
                 SG90_single_horn();
                 translate([0, 0, explode]) SG90_horn_screw();
                 translate([24, 0, 0]) {
-                    translate([0, 0, 6 - explode]) rotate([0, 180, 0]) SG90_double_horn();
-                    translate([-9, 0, 5 - explode * 2]) rotate([0, 180, 0]) SG90_horn_screw();
-                    translate([-15, 0, 5 - explode * 2]) rotate([0, 180, 0]) SG90_horn_screw();
-                    translate([9, 0, 5 - explode * 2]) rotate([0, 180, 0]) SG90_horn_screw();
-                    translate([15, 0, 5 - explode * 2]) rotate([0, 180, 0]) SG90_horn_screw();
+                    translate([0, 0, 6 - explode]) rotate([0, 180, 0])
+                        SG90_double_horn();
+                    translate([-9, 0, 5 - explode * 2]) rotate([0, 180, 0])
+                        SG90_horn_screw();
+                    translate([-15, 0, 5 - explode * 2]) rotate([0, 180, 0])
+                        SG90_horn_screw();
+                    translate([9, 0, 5 - explode * 2]) rotate([0, 180, 0])
+                        SG90_horn_screw();
+                    translate([15, 0, 5 - explode * 2]) rotate([0, 180, 0])
+                        SG90_horn_screw();
                 }
                 translate([48, 0, 0]) rotate([0, 0, 180]) {
                     SG90_single_horn();
                     translate([0, 0, explode]) SG90_horn_screw();
                     translate([0, 0, -explode]) rotate(ankle) {
                         SG90();
-                        translate([-11.1 - explode, -15, -18]) rotate([90, 180, 90]) {
-                            SG90_double_horn();
+                        translate([-11.1 - explode, -15, -18])
+                            rotate([90, 180, 90]) {
+                                SG90_double_horn();
                         }
                     }
                 }
--- a/scad/robot.scad	Fri Aug 15 18:25:08 2014 +0200
+++ b/scad/robot.scad	Fri Aug 15 18:59:14 2014 +0200
@@ -3,11 +3,19 @@
 
 module robot(explode) {
     translate([0, 0, 70]) union() {
-        translate([0, 0, explode]) body();
-        translate([-20, -20, -5.1 - explode]) rotate(45) leg(0, 0, 0, explode);
-        translate([20, -20, -5.1 - explode]) rotate(135) mirror([0, 1, 0]) leg(0, 0, 0, explode);
-        translate([-20, 20, -5.1 - explode]) rotate(-45) mirror([0, 1, 0]) leg(0, 0, 0, explode);
-        translate([20, 20, -5.1 - explode]) rotate(-135) leg(0, 0, 0, explode);
+        translate([20, 20, -5.1 - explode]) rotate(-135) {
+            leg(0, 0, 0, explode);
+        }
+        translate([-20, -20, -5.1 - explode]) rotate(45) {
+            leg(0, 0, 0, explode);
+        }
+        translate([20, -20, -5.1 - explode]) rotate(135) mirror([0, 1, 0]) {
+            leg(0, 0, 0, explode);
+        }
+        translate([-20, 20, -5.1 - explode]) rotate(-45) mirror([0, 1, 0]) {
+            leg(0, 0, 0, explode);
+        }
+        translate([0, 0, explode]) body(explode);
     }
 }
 
--- a/scad/sg90.scad	Fri Aug 15 18:25:08 2014 +0200
+++ b/scad/sg90.scad	Fri Aug 15 18:59:14 2014 +0200
@@ -16,10 +16,10 @@
                 }
             }
             translate([6.0, 16.9, servo_height]) {
-                cylinder(r=servo_big_tip_r, h=5.8, $fn=30);
+                cylinder(r=servo_big_tip_r, h=5.8, $fn=20);
             }
             translate([6.0, 16.9 - servo_big_tip_r, servo_height]) {
-                cylinder(r=2.75, h=5.8, $fn=20);
+                cylinder(r=2.75, h=5.8, $fn=10);
             }
         }
         color("Snow") translate([6.0, 16.9, servo_height + 5.8]) difference() {
@@ -42,7 +42,7 @@
         }
         for(i=[0:5]) {
             translate([18 - (i * 3),0,0]) {
-                cylinder(r=0.7, h=8, $fn=10);
+                cylinder(r=0.7, h=8, $fn=8);
             }
         }
     }
@@ -56,7 +56,7 @@
                 _SG90_horn_arm();
             }
             translate([0,0,-1]) {
-                cylinder(r=2.275, h=4, $fn=10);
+                cylinder(r=2.275, h=4, $fn=6);
                 cylinder(r=1, h=8, $fn=10);
                 translate([0, 0, 5]) cylinder(r=2, h=4, $fn=10);
             }
@@ -73,7 +73,7 @@
                 rotate(180) _SG90_horn_arm();
             }
             translate([0,0,-1]) {
-                cylinder(r=2.275, h=4, $fn=10);
+                cylinder(r=2.275, h=4, $fn=6);
                 cylinder(r=1, h=8, $fn=10);
                 translate([0, 0, 5]) cylinder(r=2, h=4, $fn=10);
             }
@@ -87,7 +87,7 @@
             cylinder(r=1.4, h=1, $fn=6);
             translate([-0.25, -2, 0.5]) cube([0.5, 4, 1]);
         }
-        cylinder(r=0.8, h=4, $fn=10);
+        cylinder(r=0.8, h=4, $fn=8);
     }
 }