chiark / gitweb /
mic-table-clamp: Adjustments from blank, binary chop
[reprap-play.git] / laptop-camera-tripod-bracket.scad
index 34da302adc25dcfba85394fce1a12cd2e8b6b24a..cc6ffb20fc9e69e7aa8514d047e05d93276d314d 100644 (file)
@@ -1,16 +1,31 @@
 // -*- C -*-
 
+// High Detail
+// support enabled
+//   distance x/y 2.5mm
+// fill density 30%
+
 laptop_w       = 310;
 laptop_th_rear  = 14;
 laptop_th_front = 11;
+laptop_halfdepth_real = 125;
+laptop_halfdepth = 115; //125;
+laptop_inner_x_clear = 95;
 
 include <utils.scad>
+include <camera-mount.scad>
 
-bar_w = 20;
-bar_th = 10;
+bar_w = 15;
+bar_th = 12;
 flex_allow = 3;
-claw_th = 5;
-claw_overlap = 10;
+claw_th = 6;
+claw_overlap = 15;
+mount_dia = 50;
+
+min_ceil = 1;
+
+//$test=true;
+$test=false;
 
 module ClawProfile(laptop_th){
   laptop_zmin = bar_th + flex_allow;
@@ -23,4 +38,39 @@ module ClawProfile(laptop_th){
   }
 }
 
-ClawProfile(laptop_th_front);
+module ClawBar(inner_len, laptop_th){
+  rotate([0,0,180]) linextr_y_xz(-bar_w/2, +bar_w/2) {
+    rectfromto([0,0],
+              [inner_len, bar_th]);
+    translate([inner_len, 0])
+      ClawProfile(laptop_th);
+  }
+}
+
+module Body(){
+  translate([0, laptop_halfdepth - laptop_halfdepth_real, 0])
+    for (m=[0,1]) {
+      mirror([m,0]) {
+       ClawBar(laptop_w/2, laptop_th_rear);
+       translate([ laptop_w/2 - laptop_inner_x_clear + bar_w/2, 0])
+         rotate([0,0,-90])
+         ClawBar(laptop_halfdepth, laptop_th_front);
+      }
+    }
+  cylinder(r = mount_dia/2, h= bar_th);
+}
+
+module Bracket(){
+  difference(){
+    Body();
+    rotate([0,180,0])
+      CameraMountThread( bar_th + 2 );
+  }
+  translate([0,0, bar_th-min_ceil])
+    cylinder(r= mount_dia/2-1, h=min_ceil);
+}
+
+//ClawProfile(laptop_th_front);
+//ClawBar(125, laptop_th_front);
+//Body();
+Bracket();