From 9290c3e754ce326a16d15d8f033897cf97be6897 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Wed, 5 Jun 2013 21:14:21 +0100 Subject: [PATCH] anglepoise-neck: ArmPart seems ready to print --- Makefile | 2 +- anglepoise-neck.scad | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 anglepoise-neck.scad diff --git a/Makefile b/Makefile index 8596f20..8654e5b 100644 --- a/Makefile +++ b/Makefile @@ -8,7 +8,7 @@ PLAY ?= $(CWD) CONFIG=slic3r-config.ini -USING_AUTOS ?= filamentspool xeno-drivebay-bracket dungeonquest-cone anke-gps-bracket cable-hole-trunking-cover +USING_AUTOS ?= filamentspool xeno-drivebay-bracket dungeonquest-cone anke-gps-bracket cable-hole-trunking-cover anglepoise-neck.scad AUTO_TOPLEVELS := $(foreach m,$(USING_AUTOS),$(shell $(PLAY)/toplevel-find $m)) scads: $(addsuffix .auto.scad, $(AUTO_TOPLEVELS)) diff --git a/anglepoise-neck.scad b/anglepoise-neck.scad new file mode 100644 index 0000000..e03f7c9 --- /dev/null +++ b/anglepoise-neck.scad @@ -0,0 +1,36 @@ +// -*- C -*- + +arm_depth = 25; +arm_pindepth = (16.15 + 18.00)/2; +arm_innerwidth = 9.60 - 0.50; +arm_innerheight = 8.90 - 0.50; + +armpart_hex_rad = 15; +armpart_hex_thick = 8; + +hingepin_dia = 3; + +// computed + +armpart_x_unit = armpart_hex_rad * tan(30); + +module ArmPart(){ ////toplevel + translate([-arm_innerwidth/2, 1, 0]) + mirror([0,-1,0]) + cube([arm_innerwidth, arm_depth+1, arm_innerheight]); + rotate([90,0,180]) + linear_extrude(height=armpart_hex_thick) + for (mir=[0,1]) + mirror([mir,0,0]) + difference(){ + polygon([[-1, 0], + [armpart_x_unit, 0], + [armpart_x_unit*2, armpart_hex_rad], + [armpart_x_unit, armpart_hex_rad*2], + [-1, armpart_hex_rad*2]]); + translate([0,armpart_hex_rad]) + circle(hingepin_dia/2, $fn=20); + } +} + +ArmPart(); -- 2.30.2