wall_th = 3;
-front_fullsz = 10;
+front_hook = 3;
+front_slope = 1.0;
front_th = 2;
gap_th = 9.5 + 0.5;
[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();