commit e166a731bdcfed7e21cec2cce1ea409f45014778 Author: sjc Date: Mon Apr 20 08:02:29 2020 -0400 Initial lovejoy Initial import of Lovejoy style couple model diff --git a/lovejoy.scad b/lovejoy.scad new file mode 100644 index 0000000..01896a0 --- /dev/null +++ b/lovejoy.scad @@ -0,0 +1,49 @@ +use +use +use + + +module spider_section(ir=6,or=13, l=6, lt=1, h, die=false) { + $fn= ($preview || $fn > 60) ? $fn : 60; + a = 360/l; + cx=or-ir+.2; + for (r=[0,a]) + rotate([0,0,r]) + translate([ir+cx/2-.2,0,0]) cube([cx, die ? lt+.2 : lt, h], center=true); + if (die) { + RiS(R=or, r=0, h=h, w1=0, w2=60, center=true, D=undef, d=undef); + Ri(R=ir+.4, r=0, h=h); + } else { + Ri(R=ir, r=ir-lt, h=h); + } +} + +module spider(ir=6, sd=9, or=13, l=6, lt=1, h=3, die=false) { + difference() { + union() { + for (i=[0 : 1 : l-1]) + if (i % 2) rotate([0,0,i*360/l]) spider_section(ir=ir,h=h,die=die); + } + } +} +module lovejoy(ph=5, jh=3) { + ir = ($children < 1) ? 4.2 : 0; + difference() { + translate([0,0,-(jh+ph)/2]) Ri(R=13-.1,r=ir,h=ph+jh); + translate([0,0,-jh/2+.01]) spider(ir=6, die=true, h=jh+.1); + if ($children > 0) + children(); + } +} + +$fs= ($preview || $fn > 2) ? $fn : .1; +color("pink") + lovejoy() translate([0,0,-6]) cylinder(r=2, h=12, $fn=4, center=true); +color("green") + translate([0,0,0]) spider(ir=6, die=false, h=3); +color("blue") + rotate([180,0,0]) { + lovejoy(); +} + +//translate([tan(60),0,-2]) color("yellow") cube([.1,1,5]); \ No newline at end of file