Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
// calculated
upper_r = th/2;
-
upper_ctr_maj_r = curl/2 + upper_r;
+zmin = curl/2 + th;
+
module UpperPlan(){
circle(r = upper_r);
}
}
}
-Upper();
+module Lower(){
+ difference(){
+ linextr(-zmin, 0)
+ square(center = true, [curl + th*2, th]);
+ linextr_y_xz(-th, th)
+ circle(r = curl/2);
+ }
+ linextr(-zmin, -zmin + th) {
+ square(center=true, [th, width]);
+ for (m=[0,1])
+ mirror([0,m])
+ translate([0, width/2 - th/2 ])
+ square(center=true, [ sides_depth, th ]);
+ }
+}
+
+module Hook(){
+ Upper();
+ Lower();
+}
+
+Hook();