From 864845fce6b4f03e4bc83fc3f5f5b49bf3021fe8 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 23 Jul 2016 20:00:21 +0100 Subject: [PATCH] earring-stand: wip 3d clips in Joins --- earring-stand.scad | 38 +++++++++++++++++++++++++++++--------- 1 file changed, 29 insertions(+), 9 deletions(-) diff --git a/earring-stand.scad b/earring-stand.scad index e3df5ac..c6b813b 100644 --- a/earring-stand.scad +++ b/earring-stand.scad @@ -25,6 +25,8 @@ test_base_th = 2.5; test_len = eclip_each_len + eclip_each_every*(test_eclips-1); echo("test_len",test_len); +num_eclips = 5; + // calculated include @@ -157,22 +159,40 @@ module Sketch(){ thicks = [ 2, 2, 2 ]; module Joins(alpha, objnum, objnum_f, objnum_m) { + pitch = (front_width - eclip_each_len) / (num_eclips-1); + echo("Joins",objnum, objnum_f, objnum_m); thm = thicks[objnum_m]; + stride = (front_width - eclip_each_len) / (num_eclips-1); + if (objnum==objnum_f) { - EclipLPlan(alpha); - EclipRPlan(alpha, thm); + for (i=[ 0 : 2 : num_eclips-1 ]) { + translate([0, i*stride, 0]) { + rotate([90,0,0]) + linear_extrude(height=eclip_each_len) + EclipLPlan(alpha); + } + } + for (i=[ 1 : 2 : num_eclips-1 ]) { + translate([0, i*stride, 0]) { + rotate([90,0,0]) + linear_extrude(height=eclip_each_len) + EclipRPlan(alpha, thm); + } + } } - if (objnum==objnum_m) - rotate(alpha) - EclipPPlan(thm); +// if (objnum==objnum_m) +// rotate(alpha) +// EclipPPlan(thm); } +function r3(pc) = [ pc[0], 0, pc[1] ]; + module ObjectJoins(objnum){ echo("Object",objnum); - translate(pp) Joins(beta, objnum, 0,1); - translate(pr) mirror([1,0,0]) Joins(0, objnum, 0,2); - translate(pq) rotate([0,0,-90]) Joins(beta, objnum, 2,1); + translate(r3(pp)) Joins(beta, objnum, 0,1); + translate(r3(pr)) mirror([1,0,0]) Joins(0, objnum, 0,2); + translate(r3(pq)) rotate([0,-90,0]) Joins(beta, objnum, 2,1); } module Base(){ @@ -198,4 +218,4 @@ module Demo(){ //TestProtr(); //TestRAProtr(); //Sketch(); -//Demo(); +Demo(); -- 2.30.2