From 85cba54dbab09189eba4983b9b0dd01b9f9f322a Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Wed, 5 Jun 2013 21:29:17 +0100 Subject: [PATCH] anglepoise-neck: wip headpart --- anglepoise-neck.scad | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/anglepoise-neck.scad b/anglepoise-neck.scad index e03f7c9..7559684 100644 --- a/anglepoise-neck.scad +++ b/anglepoise-neck.scad @@ -10,9 +10,19 @@ armpart_hex_thick = 8; hingepin_dia = 3; +headpart_main_dia = 15 - 0.3; +headpart_main_len = 14; +headpart_stub_protrude = 2; +headpart_stub_width = 11.7 - 0.3; + +headpart_flatten_angle = 45; + // computed armpart_x_unit = armpart_hex_rad * tan(30); +headpart_flatten_z = headpart_main_dia/2 * cos(headpart_flatten_angle); +headpart_stub_support_x = headpart_stub_width * cos(59) / 2; +headpart_stub_len = headpart_stub_protrude + headpart_main_dia/2; module ArmPart(){ ////toplevel translate([-arm_innerwidth/2, 1, 0]) @@ -33,4 +43,27 @@ module ArmPart(){ ////toplevel } } -ArmPart(); +module HeadPart(){ ////toplevel + difference(){ + union(){ + translate([-headpart_main_len/2, 0,0]) + rotate([0,90,0]) + cylinder(r=headpart_main_dia/2, h=headpart_main_len, $fn=40); + rotate([90,0,0]) + cylinder(h = headpart_stub_len, + r = headpart_stub_width/2, + $fn = 6); + translate([-headpart_stub_support_x, + -headpart_stub_len, + -headpart_main_dia/2]) + cube([headpart_stub_support_x*2, + headpart_stub_len, + headpart_main_dia/2]); + } + translate([-100,-100,-100]) + cube([200,200, 100 - headpart_flatten_z]); + } +} + +//ArmPart(); +HeadPart(); -- 2.30.2