chiark / gitweb /
poster-tube-lid: catch wip, CatchAssembly seems done ?
[reprap-play.git] / tablet-case-corner-mount.scad
index 7c09008..d981afd 100644 (file)
@@ -1,15 +1,23 @@
 // -*- C -*-
 
-main_sz = 20;
+main_sz = 22.5;
 
 wall_th = 3;
 
-front_fullsz = 10;
+front_hook = 3;
+front_slope = 1.0;
 
-back_tot_l = 30;
-back_cut_l = 4;
-back_cut_w = 10;
+front_th = 2;
+gap_th = 6.5 + 0.5;
+
+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 + 1.5;
+
+back_th = back_hole_dia + 2.4;
 
 module MidPlan(){
   polygon([[0,            0],
@@ -20,13 +28,24 @@ module MidPlan(){
           [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(){
@@ -44,6 +63,24 @@ module BackPlan(){
   }
 }
 
+module Hook(){
+  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();
+//BackPlan();
+//Front();
+Hook();