X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=earring-stand.scad;h=1155710ae5464865e05c2a5022790c94b220646d;hb=a833727eee746e318fd24aab15f1f49f40e66ffd;hp=1a5f204e49a6dd92e1994dca419bb55696190419;hpb=fbda336643dfb1929a1298531d3d096dfad7a50d;p=reprap-play.git diff --git a/earring-stand.scad b/earring-stand.scad index 1a5f204..1155710 100644 --- a/earring-stand.scad +++ b/earring-stand.scad @@ -5,6 +5,12 @@ include front_height = 80; front_width = 120; front_setback = 30; +front_thick = 2; + +back_thick = 2; +back_pillarw = 6; + +base_thick = 2; eclip_inner_rad = 2.5; eclip_gap_rad = 0.1; @@ -46,6 +52,8 @@ eclip_wall_offset = -ppxl; eclip_ra_offset = r2 - 0.1; +eclip_recept_height = r2; + eclip_rhs_offset = ppxl + rgap + eclip_prong_th; // does not include main_th @@ -152,7 +160,8 @@ ur = [ -uf[1], uf[0]]; pp = [0, 0]; pq = pp + uf*front_height + ur*eclip_ra_offset; -pr = [ pq[0] - eclip_base_offset + eclip_wall_offset, 0 ]; +pr = [ pq[0] - eclip_base_offset - eclip_wall_offset, + 0 ]; echo("uf ur P Q R", uf, ur, pp, pq, pr); @@ -160,7 +169,7 @@ module Sketch(){ polygon([pq, pp, pr]); } -thicks = [ 2, 2, 2 ]; +thicks = [ base_thick, front_thick, back_thick ]; module Joins(alpha, objnum, objnum_f, objnum_m) { pitch = (front_width - eclip_each_len) / (num_eclips-1); @@ -223,15 +232,39 @@ module Base(){ } module Front(){ - %ObjectJoins(1); + ObjectJoins(1); rotate([0, 90-beta, 0]) translate([0, 0, ppxl]) - rotate([0,0,90]) - cube([front_width, front_height, thicks[1]]); + rotate([0,0,90]) { + cube([front_width, + front_height - eclip_wall_offset + thicks[1], + thicks[1]]); + } } module Back(){ ObjectJoins(2); + + zmin = pr[1]; + zmax = pq[1] + eclip_prong_th; + height = zmax - zmin; + + translate([pr[0] + eclip_wall_offset - thicks[2], + 0, 0]) + rotate([0,90,0]) + rotate([0,0,90]) { + difference(){ + cube([front_width, + height, + thicks[2]]); + translate([back_pillarw, + eclip_recept_height, + -10]) + cube([front_width - back_pillarw*2, + height - eclip_recept_height*2 - eclip_prong_th, + 20]); + } + } } module Demo(){