--- /dev/null
+// -*- C -*-
+
+include <funcs.scad>
+
+main_thick = 3.3;
+main_in_dia = 28.9 + 0.5;
+
+horn_ext_dia = 20 - 0.5; //?
+
+horn_c_x = -5; //?
+horn_c_dy= -5; //?
+
+blhook_start_ang = 45;
+
+width = 20;
+
+mc_mid_rad = main_in_dia/2 + main_thick/2;
+
+mc_bl = circle_point([0,0], mc_mid_rad, 270-blhook_start_ang);
+
+$fs=0.1;
+
+horn_thick = main_thick;
+
+module MainLoop(){
+ intersection(){
+ difference(){
+ circle(r= main_in_dia/2 + main_thick, $fn=50);
+ circle(r= main_in_dia/2, $fn=50);
+ }
+ polygon([[0,0],
+ 3*mc_bl,
+ [0, -100],
+ [100,-100],
+ [100,100],
+ [0,100]]);
+ }
+ translate(mc_bl)
+ circle(main_thick/2);
+ translate([horn_c_x, mc_mid_rad + horn_c_dy])
+ intersection(){
+ difference(){
+ circle(horn_ext_dia/2);
+ circle(horn_ext_dia/2 - horn_thick);
+ }
+ polygon([[0,0],
+ [-50,0],
+ [0,50]]);
+ }
+ translate([0,main_in_dia/2]) mirror([1,0])
+ square([-horn_c_x + horn_ext_dia/2 * 0.75, main_thick]);
+}
+
+MainLoop();