X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=reprap-play.git;a=blobdiff_plain;f=earring-stand.scad;h=85c28a877107edf7984bf6fe4bfd7ff8abd7a011;hp=1155710ae5464865e05c2a5022790c94b220646d;hb=b911b865a383d58a3ae5a3df866869e1963e099d;hpb=a833727eee746e318fd24aab15f1f49f40e66ffd diff --git a/earring-stand.scad b/earring-stand.scad index 1155710..85c28a8 100644 --- a/earring-stand.scad +++ b/earring-stand.scad @@ -5,12 +5,19 @@ include front_height = 80; front_width = 120; front_setback = 30; -front_thick = 2; +front_thick = 2.4; -back_thick = 2; +front_hex_stride = 12.5; +front_hex_dia = 9.5; + +front_hex_y_fudge = -0.65; + +front_surround_lr =3; + +back_thick = 3; back_pillarw = 6; -base_thick = 2; +base_thick = 2.4; eclip_inner_rad = 2.5; eclip_gap_rad = 0.1; @@ -225,10 +232,53 @@ module Base(){ } translate([xmin, 0, - -eclip_base_offset - thicks[0]]) - cube([xmax - xmin, - front_width, + -eclip_base_offset - thicks[0]]){ + difference(){ + cube([xmax - xmin, + front_width, thicks[0]]); + translate([xmax-xmin, front_width]/2) + rotate([0,0,270]) + Commitid_Full16_M(); + } + } +} + +module FrontPattern(){ + totalh = front_height - eclip_wall_offset + thicks[1]; + + ystride = front_hex_stride; + xstride = front_hex_stride * cos(30) * 2; + + difference(){ + square([front_width, totalh]); + translate([ front_surround_lr, + eclip_recept_height ]) + square([ front_width - front_surround_lr*2, + totalh - eclip_recept_height*2 + ]); + } + + difference(){ + square([front_width, totalh]); + for (xi=[ -5 : 5 ]) { + translate([front_width/2 + + xi * xstride, + 0]) { + for (yi=[ 0 : 10 ]) { + //echo(yi); + translate([0, yi * ystride + + front_hex_dia*front_hex_y_fudge]) { + for (dv=[ [0,0], + [-xstride/2, -ystride/2] + ]) + translate(dv) + circle(r= front_hex_dia/2, $fn=6); + } + } + } + } + } } module Front(){ @@ -236,9 +286,8 @@ module Front(){ rotate([0, 90-beta, 0]) translate([0, 0, ppxl]) rotate([0,0,90]) { - cube([front_width, - front_height - eclip_wall_offset + thicks[1], - thicks[1]]); + linear_extrude(height=thicks[1]) + FrontPattern(); } } @@ -267,7 +316,19 @@ module Back(){ } } -module Demo(){ +module BackPrint(){ ////toplevel + rotate([0,-90,0]) Back(); +} + +module FrontPrint(){ ////toplevel + rotate([0, 90+beta, 0]) Front(); +} + +module BasePrint(){ ////toplevel + Base(); +} + +module Demo(){ ////toplevel color("red") Base(); color("blue") Front(); color("black") Back(); @@ -278,4 +339,7 @@ module Demo(){ //TestProtr(); //TestRAProtr(); //Sketch(); -Demo(); +//Demo(); +//BackPrint(); +//FrontPrint(); +//BasePrint();