chiark / gitweb /
earring-stand: use FArcSegment
[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 EclipLPlanCore(10);