wall_th = 3;
-front_fullsz = 10;
+front_hook = 3;
+front_slope = 1.0;
front_th = 2;
-gap_th = 9.5 + 0.5;
-back_th = 4;
+gap_th = 6.5 + 0.5;
-back_tot_l = 32.5;
-back_cut_l = 4;
-back_cut_w = 13;
+back_tot_l = 35.5;
+back_cut_l = 6;
+back_cut_w = 15.0 + 1.0;
back_prong_w = 3;
back_hole_d = 2;
-back_hole_dia = 1 + 0.5;
+back_hole_dia = 1 + 1.5;
+
+back_th = back_hole_dia + 2.4;
module MidPlan(){
polygon([[0, 0],
[main_sz, 0]]);
}
-module FrontPlan(){
- halfway = (front_fullsz + main_sz)/2;
- polygon([[0, 0],
- [0, main_sz],
- [front_fullsz, main_sz],
- [main_sz, front_fullsz],
- [main_sz, 0]]);
+module FrontElevation(){
+ hook_z = front_hook / front_slope;
+ translate([0, back_th+gap_th]) {
+ hull(){
+ square([wall_th, hook_z + 0.01]);
+ translate([front_hook, hook_z])
+ square([wall_th, 0.01]);
+ }
+ }
+}
+
+module FrontEdge(){
+ rotate([90,0,0]) linear_extrude(height=main_sz) FrontElevation();
+}
+
+module Front(){
+ mirror([0,1,0]) FrontEdge();
+ rotate([0,0,90]) FrontEdge();
}
module BackPlan(){
}
module Hook(){
- rotate([90,0,0]){
- difference(){
- union(){
- linear_extrude(height=back_th)
- BackPlan();
- linear_extrude(height=back_th+gap_th+front_th)
- MidPlan();
- translate([0,0, back_th+gap_th])
- linear_extrude(height=front_th) FrontPlan();
- }
- rotate([0,0,-45])
- translate([0, back_tot_l - back_hole_d, back_th/2])
- rotate([0,90,0]) translate([0,0,-50])
- cylinder(h=100, r=back_hole_dia/2, $fn=40);
+ difference(){
+ union(){
+ linear_extrude(height=back_th)
+ BackPlan();
+ linear_extrude(height=back_th+gap_th+front_th)
+ MidPlan();
+ Front();
}
+ rotate([0,0,-45])
+ translate([0, back_tot_l - back_hole_d, back_th/2])
+ rotate([0,90,0]) translate([0,0,-50])
+ cylinder(h=100, r=back_hole_dia/2, $fn=40);
}
}
//MidPlan();
//FrontPlan();
//BackPlan();
+//Front();
Hook();