+hooklessdepth = hookfullw - hookbasew;
+
+module base() {
+ rotate_extrude(convexity=10)
+ mirror([1,0,0])
+ polygon(points=[[-bigrad, 0],
+ [-bigrad + mainth, -mainth],
+ [0, -mainth],
+ [0, -poleholeh],
+ [-poleholerad, -poleholeh],
+ [-poleholerad, 0]]);
+}
+
+module fingernails() {
+ for (ang=[60,180,300])
+ rotate([0,0,ang])
+ translate([bigrad - fingernaildepth,
+ -fingernailwidth/2,
+ -fingernailheight])
+ cube([fingernaildepth + 1, fingernailwidth, fingernailheight + 1]);
+}
+
+module hookrim() {
+ rotate_extrude(convexity=10)
+ mirror([1,0,0])
+ translate([-maindia/2, 0, 0])
+ polygon(points=[[hooklessdepth, 0],
+ [hookfullw, 0],
+ [hookfullw*0.33, hookheight],
+ [hookbevelw, hookheight],
+ [0, hookheight-hookbevelh],
+ [0, hooklessdepth]]);
+}
+
+module hooktriangles() {
+ for (ang=[0,120,240]) {
+ rotate([0,0,ang]) {
+ translate([0,0,-1]) {
+ linear_extrude(height=hookheight+2) {
+ polygon(points=[[0, 0],
+ [maindia/2 + 1, -hookwidth],
+ [maindia/2 + 1, +hookwidth]]);
+ }
+ }
+ }
+ }
+}