changeset 2:c694cfc44d91

Add animated exploded view
author Radomir Dopieralski <sheep-devel@sheep.art.pl>
date Sun, 06 Mar 2016 22:15:50 +0100
parents 1af8f7738de1
children f8bffeb4f945
files doc/scad/Makefile doc/scad/animate.scad doc/scad/tote.scad
diffstat 3 files changed, 29 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/doc/scad/Makefile	Sun Mar 06 21:10:25 2016 +0100
+++ b/doc/scad/Makefile	Sun Mar 06 22:15:50 2016 +0100
@@ -2,7 +2,7 @@
 	tote.png \
 
 SIZE=1280,960
-SCAD=openscad --imgsize=$(SIZE) --projection=p -m make
+SCAD=openscad --imgsize=$(SIZE) --projection=p -m make --colorscheme=BeforeDawn
 
 all: images
 
@@ -14,5 +14,8 @@
 %.png: %.scad
 	$(SCAD) -o $@ $<
 
+animate.png: animate.scad
+	$(SCAD) -o $@ $< --camera=0,0,-50,62,0,321.30,611.97
+
 tote.png: tote.scad
 	$(SCAD) -o $@ $< --camera=12.40,-17.13,-29.65,45.90,0,30.60,401.52
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/scad/animate.scad	Sun Mar 06 22:15:50 2016 +0100
@@ -0,0 +1,3 @@
+use <tote.scad>
+
+robot(20 * sin(90 + 180 * $t));
--- a/doc/scad/tote.scad	Sun Mar 06 21:10:25 2016 +0100
+++ b/doc/scad/tote.scad	Sun Mar 06 22:15:50 2016 +0100
@@ -3,29 +3,29 @@
 module leg(hip, knee, ankle, explode) {
     SG90_single_horn();
     translate([0, 0, explode]) SG90_horn_screw();
-    translate([0, 0, -explode]) rotate(hip - 50 - 90) {
+    translate([0, 0, -explode * 2]) rotate(hip - 50 - 90) {
         rotate(0) SG90();
         translate([18, -22 - explode, -28.75]) rotate([90, 180, 90]) {
             SG90();
-            translate([0, 0, explode]) rotate(knee) {
+            translate([0, 0, explode * 2]) rotate(knee) {
                 SG90_single_horn();
                 translate([0, 0, explode]) SG90_horn_screw();
                 translate([17.6, 0, 0]) {
                     translate([0, 0, 6 - explode]) rotate([0, 180, 0])
                         SG90_double_horn();
-                    translate([-6, 0, 5 - explode * 2]) rotate([0, 180, 0])
+                    translate([-6, 0, 5 - explode * 1.5]) rotate([0, 180, 0])
                         SG90_horn_screw();
-                    translate([-12, 0, 5 - explode * 2]) rotate([0, 180, 0])
+                    translate([-12, 0, 5 - explode * 1.5]) rotate([0, 180, 0])
                         SG90_horn_screw();
-                    translate([6, 0, 5 - explode * 2]) rotate([0, 180, 0])
+                    translate([6, 0, 5 - explode * 1.5]) rotate([0, 180, 0])
                         SG90_horn_screw();
-                    translate([12, 0, 5 - explode * 2]) rotate([0, 180, 0])
+                    translate([12, 0, 5 - explode * 1.5]) rotate([0, 180, 0])
                         SG90_horn_screw();
                 }
                 translate([35.2, 0, 0]) rotate([0, 0, 180]) {
                     SG90_single_horn();
                     translate([0, 0, explode]) SG90_horn_screw();
-                    translate([0, 0, -explode]) rotate(ankle) {
+                    translate([0, 0, -explode * 2]) rotate(ankle) {
                         SG90();
                         translate([-3.1 - explode, -20, -15])
                             rotate([-90, 0, 90]) {
@@ -39,8 +39,17 @@
 }
 
 module board() {
-    translate([-25, -25, 0]) {
-        color("DimGray") cube([50, 50, 0.6]);
+    color("DimGray") difference() {
+        hull() {
+            translate([20.75, 20.75, 0]) cylinder(r=4, h=0.6, $fn=20);
+            translate([-20.75, -20.75, 0]) cylinder(r=4, h=0.6, $fn=20);
+            translate([20.75, -20.75, 0]) cylinder(r=4, h=0.6, $fn=20);
+            translate([-20.75, 20.75, 0]) cylinder(r=4, h=0.6, $fn=20);
+        }
+        translate([20.75, 20.75, -2]) cylinder(r=3.2, h=4, $fn=20);
+        translate([-20.75, -20.75, -2]) cylinder(r=3.2, h=4, $fn=20);
+        translate([20.75, -20.75, -2]) cylinder(r=3.2, h=4, $fn=20);
+        translate([-20.75, 20.75, -2]) cylinder(r=3.2, h=4, $fn=20);
     }
 }
 
@@ -96,16 +105,16 @@
 }
 
 module robot(explode) {
-    translate([20.75, 20.75, -2.1 - explode]) rotate(175) mirror([0, 1, 0]) {
+    translate([20.75, 20.75, -2.1 + explode]) rotate(175) mirror([0, 1, 0]) {
         leg(0, 0, 0, explode);
     }
-    translate([-20.75, -20.75, -2.1 - explode]) rotate(-5) mirror([0, 1, 0]) {
+    translate([-20.75, -20.75, -2.1 + explode]) rotate(-5) mirror([0, 1, 0]) {
         leg(0, 0, 0, explode);
     }
-    translate([20.75, -20.75, -2.1 - explode]) rotate(-175) {
+    translate([20.75, -20.75, -2.1 + explode]) rotate(-175) {
         leg(0, 0, 0, explode);
     }
-    translate([-20.75, 20.75, -2.1 - explode]) rotate(5) {
+    translate([-20.75, 20.75, -2.1 + explode]) rotate(5) {
         leg(0, 0, 0, explode);
     }
     body(explode);