]> www.fi.muni.cz Git - things.git/commitdiff
more pencil toppers
authorJan "Yenya" Kasprzak <kas@fi.muni.cz>
Tue, 31 Mar 2015 20:15:22 +0000 (22:15 +0200)
committerJan "Yenya" Kasprzak <kas@fi.muni.cz>
Tue, 31 Mar 2015 20:15:22 +0000 (22:15 +0200)
pencil-toppers.scad [moved from creeper.scad with 59% similarity]

similarity index 59%
rename from creeper.scad
rename to pencil-toppers.scad
index 65783dca5fc0a593070ffe386b3914d397e038ea..bb7badcf64adc229e7e9c60f51622905e0e0cb83 100644 (file)
@@ -60,20 +60,24 @@ module head(){
 
 
 module spring_hole() {
-       assign(d_in = 7, d_out = 12, d_w = 1) {
+       assign(d_in = 8, d_out = 13, d_w = 1, h = 9, h_c = 7) {
        difference() {
-               cylinder(r = d_out/2, h = 7*b + eps);
+               cylinder(r = d_out/2, h = h + eps);
+               translate([d_in/2, -infty/2, -infty/2])
+                       cube(infty);
                difference() {
-                       cylinder(r = d_in/2 + d_w, h = 6*b - d_w);
+                       cylinder(r = d_in/2 + d_w, h = h_c);
                        translate([0, 0, -eps])
-                       cylinder(r = d_in/2,       h = 6*b - d_w + 2*eps);
+                       cylinder(r = d_in/2,       h = h_c + 2*eps);
                        rotate([0, 0, 135]) translate([0, 0, -eps])
                        cube(infty);
                        
                };
+/*
                for (a = [-25, 25]) rotate([0, 0, -90+a])
                        translate([-d_w/2, d_in/2, 0])
                        cube([d_w, d_out, 6*b - d_w + eps]);
+*/
                
 /*
                for (a = [0:120:360])
@@ -110,9 +114,76 @@ module creeper() {
     translate([-2*b,0,12*b]) head2();
 }
 
+module rocket_body() {
+       cylinder(r = 8, h = 9.5, $fn = 18);
+       translate([0, 0, 9.5-eps])  cylinder(r1 = 8,   r2 = 7.5, h = 4+eps, $fn = 18);
+       translate([0, 0, 13.5-eps]) cylinder(r1 = 7.5, r2 = 6.5, h = 4+eps, $fn = 18);
+       translate([0, 0, 17.5-eps]) cylinder(r1 = 6.5, r2 = 5.0, h = 4+eps, $fn = 18);
+       translate([0, 0, 21.5-eps]) cylinder(r1 = 5.0, r2 = 3.0, h = 4+eps, $fn = 18);
+       translate([0, 0, 23.8-eps]) sphere(r = 3.5, $fn = 18);
+       // translate([0, 0, 25.5-eps]) cylinder(r1 = 3.0, r2 = 1.0, h = 4+eps, $fn = 18);
+       for (a = [0, 120, 240]) rotate([0, 0, a]) hull() {
+               translate([7, -2, 0]) 
+                       cube([eps, 4, 12]);
+               translate([12, -1, 0]) 
+                       cube([eps, 2, 2]);
+       }
+}
+
+module rocket() {
+       difference() {
+               rocket_body();
+               translate([0, 0, -eps]) spring_hole();
+       }
+}
+
+module rocket_tail_body() {
+       cylinder(r = 8, h = 12, $fn = 18);
+       for (a = [0, 120, 240]) rotate([0, 0, a]) hull() {
+               translate([7, -3, 0]) 
+                       cube([eps, 6, 12]);
+               translate([14, -1, 12]) 
+                       cube([eps, 2, 2]);
+       }
+}
+
+module rocket_tail() {
+       difference() {
+               rocket_tail_body();
+               translate([0, 0, -eps]) spring_hole();
+       }
+}
+
+module heart_body() {
+       for (i = [-1, 1]) hull() {
+               // translate([4.5*i, -3, 12]) rotate([-90, 0, 0]) cylinder(r=5, h = 6, $fn = 32);
+               // translate([4.5*i, -7, 12]) rotate([-90, 0, 0]) cylinder(r=4.5, h = 14, $fn = 32);
+               translate([4.5*i, -6, 12]) rotate([-90, 0, 0]) cylinder(r=5.5, h = 12, $fn = 32);
+               translate([4.5*i, -8, 12]) rotate([-90, 0, 0]) cylinder(r=4.5, h = 16, $fn = 32);
+               // translate([4.5*i, 0, 12]) sphere(9);
+               cylinder(r = 8, h = eps);
+       }
+}
+
+module heart() {
+       difference() {
+               heart_body();
+               translate([0, 0, -eps]) spring_hole();
+       }
+}
+
 //body();
 //tummy();
-head2();
+// head2();
+// rocket_tail();
+// heart();
+
+translate([4, 4, 0]) head2();
+translate([-12, 12, 0]) heart();
+// translate([-12, -12, 0]) rocket();
+// translate([12, -12, 0]) rocket_tail();
+translate([0, -8, 0]) rotate([0, 0, 30]) rocket_tail();
+
 //body2();
 //creeper();