chiark / gitweb /
filamentspool: FilamentGuideSpacer: add toplevel for test
[reprap-play.git] / tablet-case-corner-mount.scad
index 057cf8567bdd58468ab903c787e27493990122aa..d981afdf1237179d8e80be74a5fda0802ade157d 100644 (file)
@@ -1,21 +1,23 @@
 // -*- C -*-
 
-main_sz = 20; //xxx
+main_sz = 22.5;
 
 wall_th = 3;
 
-front_fullsz = 10; //xxx
+front_hook = 3;
+front_slope = 1.0;
 
 front_th = 2;
-back_th = 4;
-gap_th = 5; //xxx
+gap_th = 6.5 + 0.5;
 
-back_tot_l = 30; //xxx
-back_cut_l = 4;
-back_cut_w = 10; //xxx
+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],
@@ -26,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(){
@@ -51,25 +64,23 @@ 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();