From 1514723dc6ff7c082c8400163beb9575ca977aaf Mon Sep 17 00:00:00 2001 From: "Jan \"Yenya\" Kasprzak" Date: Tue, 31 Mar 2015 22:15:22 +0200 Subject: [PATCH] more pencil toppers --- creeper.scad => pencil-toppers.scad | 81 +++++++++++++++++++++++++++-- 1 file changed, 76 insertions(+), 5 deletions(-) rename creeper.scad => pencil-toppers.scad (59%) diff --git a/creeper.scad b/pencil-toppers.scad similarity index 59% rename from creeper.scad rename to pencil-toppers.scad index 65783dc..bb7badc 100644 --- a/creeper.scad +++ b/pencil-toppers.scad @@ -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(); -- 2.43.0