chiark / gitweb /
earring-stand: wip EclipPPlanCore
[reprap-play.git] / earring-stand.scad
1 // -*- C -*-
2
3 eclip_inner_rad = 2.5;
4 eclip_gap_rad = 0.5;
5 eclip_prong_th = 3;
6 eclip_outer_strt = 0.5;
7 eclip_inner_xstrt = 0.5;
8
9 eclip_ult_angle = 44;
10 eclip_base_epsilon = 0.5;
11
12 // calculated
13
14 include <utils.scad>
15
16 eclip_inner_strt = eclip_outer_strt + eclip_inner_xstrt;
17
18 r0 = eclip_inner_rad;
19 r1 = r0 + eclip_inner_rad;
20 r2 = r1 + eclip_prong_th;
21 r2e = r1 + eclip_base_epsilon;
22
23 $fn=70;
24
25 module EclipLPlanCore(alpha){
26   FArcSegment(0,0, r1,r2,
27               180-eclip_ult_angle, eclip_ult_angle-alpha +1);
28
29   difference(){
30     hull(){
31       intersection(){
32         circle(r2);
33         rotate(-alpha) mirror([1,1]) square([r2e, 50]);
34      }
35       rotate(-alpha) mirror([1,1]) square([r2e, r2]);
36     }
37     circle(r1);
38   }
39 }
40
41 module EclipLPlan(alpha){
42   rotate(alpha) EclipLPlanCore(alpha);
43 }
44
45 module EclipPPlanCore(){
46   hull(){
47     circle(r0);
48     rotate(45) square([r0,r0]);
49   }
50 }
51
52 color("red") EclipLPlanCore(10);
53 color("blue") EclipPPlanCore(10);