X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=reprap-play.git;a=blobdiff_plain;f=brompton-computer-guard.scad;h=1c7a536c834fed2241074d02d504650a1d3688fd;hp=709ee115d5f1dabc7dc373ede9efe944cf717782;hb=1d895ba8cd856658c5f5ebdf20b854b4ca2baa81;hpb=4aa36d5c1ecf05df6344cea7cbb57d2cc847a842 diff --git a/brompton-computer-guard.scad b/brompton-computer-guard.scad index 709ee11..1c7a536 100644 --- a/brompton-computer-guard.scad +++ b/brompton-computer-guard.scad @@ -1,14 +1,17 @@ // -*- C -*- -arch_height = 24; +arch_height = 18; arch_width = 75; end_width = 25; -arch_thick = 5; +arch_thick = 4; arch_breadth = 25; -hole_dia = 3 + 0.5; +hole_dia = 4 + 0.5; + +pbase_tab = 12; +pbase_thick = 2; // computed @@ -21,14 +24,14 @@ arch_to_chord = arch_in_rad * cos(arch_beta); end_thick = arch_thick; holes = [[[ 5 , 5 ], [16 , 21]], // left - [[ 18.5, 4.5], [ 4.5, 22]]]; // right + [[ 18.5, 4.5], [ 4.5, 21]]]; // right module ArchCircle(rad){ translate([0,-arch_to_chord]) circle(rad, $fa=0.1); } -module ArchProfile(){ +module ArchProfile(pbase){ intersection(){ translate([-200,0]) square([400,200]); @@ -38,9 +41,12 @@ module ArchProfile(){ for (m=[0,1]) mirror([m,0]) translate([arch_width/2,0]) - square([end_width, end_thick]); + multmatrix([[1,pbase ? -0.75 : 0,0,0], + [0,1,0,0], + [0,0,1,0], + [0,0,0,1]]) + square([end_width, pbase ? pbase_tab : end_thick]); } - ArchCircle(arch_in_rad); } } } @@ -59,10 +65,21 @@ module Holes(){ module Arch(){ difference(){ - rotate([0,0,180]) - linear_extrude(height=arch_breadth) ArchProfile(); + rotate([0,0,180]){ + difference(){ + union(){ + linear_extrude(height=arch_breadth) ArchProfile(false); + linear_extrude(height=pbase_thick) hull(){ + ArchProfile(true); + ArchProfile(false); + } + } + translate([0,0,-1]) linear_extrude(height=100) + ArchCircle(arch_in_rad); + } + } Holes(); } } -Arch(); +rotate([0,0,45]) Arch();