X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=laptop-camera-tripod-bracket.scad;h=cc6ffb20fc9e69e7aa8514d047e05d93276d314d;hb=bacf53e7026a98044bda5a66a5e175f52d10127b;hp=34da302adc25dcfba85394fce1a12cd2e8b6b24a;hpb=4c1596ed123f43ae62b7fdbefd92ede4747e3756;p=reprap-play.git diff --git a/laptop-camera-tripod-bracket.scad b/laptop-camera-tripod-bracket.scad index 34da302..cc6ffb2 100644 --- a/laptop-camera-tripod-bracket.scad +++ b/laptop-camera-tripod-bracket.scad @@ -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 +include -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();