From 3a8891766ac284a5804de293be3297e4d2cd2c56 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 9 Jun 2013 01:59:49 +0100 Subject: [PATCH] crossbar-computer-led-mount: Tower and Lid wip --- crossbar-computer-led-mount.scad | 80 ++++++++++++++++++++++++++++++-- 1 file changed, 76 insertions(+), 4 deletions(-) diff --git a/crossbar-computer-led-mount.scad b/crossbar-computer-led-mount.scad index 533519e..ab33705 100644 --- a/crossbar-computer-led-mount.scad +++ b/crossbar-computer-led-mount.scad @@ -14,12 +14,23 @@ tower_frontheight = 20; tower_width = 18; tower_slot_width = 3; +cableclamp_ctie_width = 3 + 0.5; +cableclamp_ctie_thick = 2 + 0.5; + +lidclamp_ctie_width = 3 + 0.5; +lidclamp_ctie_thick = 2 + 0.5; + +base_ctie_width = 4 + 0.5; +base_ctie_thick = 2 + 0.5; + // tuning tower_over_angle = 45; tower_wall_thick = 1.6; tower_base_height = 10; tower_forehead_angle = 30; +lid_wall_thick = 1.6; +lid_slop = 0.75; //--- tests --- @@ -122,11 +133,21 @@ module TowerMain(){ for (mir=[0,1]) mirror([mir,0,0]) rotate([90,0,-90]) { translate([0,0, tower_width/2-tower_wall_thick]) - linear_extrude(height=tower_wall_thick) + linear_extrude(height=tower_wall_thick) { TowerWallCrossSection(); + } translate([0,0,-1]) linear_extrude(height=tower_width/2+0.9) - TowerBulkCrossSection(); + union(){ + TowerBulkCrossSection(); + hull(){ + intersection(){ + TowerWallCrossSection(); + translate([-30, -30]) + square([30 + 0.1, 30 + tower_frontheight]); + } + } + } translate([0,0, tower_slot_width/2]) linear_extrude(height=(tower_width - tower_slot_width)/2 - 0.2) TowerRearWallCrossSection(); @@ -140,14 +161,65 @@ module LedHole(){ cylinder(r=led_dia/2, h=led_depth+0.1+10, $fn=30); } -module Tower(){ +module Tower(){ ////toplevel difference(){ TowerMain(); LedHole(); + // passages for cable ties + translate([0, + tower_rearwall_y/2, + tower_frontheight/2 + + cableclamp_ctie_width/2 + lidclamp_ctie_thick/2]) + cube([50, lidclamp_ctie_width, lidclamp_ctie_thick], center=true); + translate([0, + (backfront_mate_extra+tower_rearwall_y)/2, + -tower_base_height/2]) + cube([50, base_ctie_width, base_ctie_thick], center=true); + for (mir=[0,1]) + mirror([mir,0,0]) { + translate([tower_width/4, 20, tower_frontheight/2]) + cube([cableclamp_ctie_thick, + tower_wall_thick*2+1+40, + cableclamp_ctie_width], + center=true); + } } } +module TowerMainHull(){ + hull(){ TowerMain(); } +} + +module Lid(){ + intersection(){ + difference(){ + minkowski(){ + TowerMainHull(); + sphere(r=lid_wall_thick+lid_slop, $fn=4); + } + minkowski(){ + TowerMainHull(); + sphere(r=lid_slop, $fn=4); + } + } + translate([-50,-50,led_head_z]) cube([100,100,100]); + } +} + +module LidT(){ ////toplevel + rotate([180,0,0]) Lid(); +} + +module Demo(){ + Tower(); + translate([0,0, 25]) Lid(); +} + //TowerCrossSectionDemo(); //TowerWallSomeEdge(false); //TowerWallFrontEdge(); -Tower(); +//TowerMainHull(); +//LidT(); +//Tower(); +//Lid(); +Demo(); -- 2.30.2