chiark / gitweb /
laptop-sound-cable-hooks: wip
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 31 May 2022 17:33:39 +0000 (18:33 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 31 May 2022 17:33:39 +0000 (18:33 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
laptop-sound-cable-hooks.scad

index 35146bcbd8ca9e7647a7f6cfc7ae5a96ec418204..4f0f17dc1d3f0427ff33f1a78c2a6a621131654d 100644 (file)
@@ -6,6 +6,8 @@ wall_th = 2;
 hook_th = 4;
 hook_hole = 4;
 
+plug_entry_gap = 1.0;
+
 plug_l_d = [[ 27.78,
              10.62 + 0.50 ],
            [ 40.88,
@@ -49,7 +51,7 @@ module PlugHolderPlan() {
       offset(r= wall_th)
       PlugMainPlan();
 
-    rectfromto([-100,-100], [-0.1,+100]);
+    rectfromto([-100,-100], [-plug_entry_gap,+100]);
   }
 }
 
@@ -58,14 +60,19 @@ module PlugHookHookPlan(){
            [ plug_hook_x_min, plug_hook_z_start ],
            [ plug_hook_x_min + (plug_hook_z_start - plug_hook_z_min),
              plug_hook_z_min ],
-           [ 0, plug_hook_z_min ],
-           [ 0, 0 ],
+           [ -plug_entry_gap, plug_hook_z_min ],
+           [ -plug_entry_gap, 0 ],
            ]);
 }
 
 module PlugHookTonguePlan(){
-  rectfromto([ -1, plug_hook_z_min ],
-            [ tongue_len, plug_hook_z_laptop_base ]);
+  difference(){
+    rectfromto([ -plug_entry_gap - 1, plug_hook_z_min ],
+              [ tongue_len, plug_hook_z_laptop_base ]);
+    translate([ tongue_len - wall_th - hook_hole/2,
+               plug_hook_z_min + wall_th + hook_hole/2 ])
+      circle(r = hook_hole/2);
+  }
 }
 
 module RotateIntersect(n=6){