chiark / gitweb /
air-hockey-puck: wip
[reprap-play.git] / laptop-camera-tripod-bracket.scad
index b284e808fc6f0e912dfc544ecde480580f7f768e..cc6ffb20fc9e69e7aa8514d047e05d93276d314d 100644 (file)
@@ -1,18 +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 = 125;
+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;
@@ -35,16 +48,29 @@ module ClawBar(inner_len, laptop_th){
 }
 
 module Body(){
-  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);
+  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();
+//Body();
+Bracket();