From 136741e4e2eab2e283ff41968441b27211858775 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Wed, 28 Nov 2012 21:21:38 +0000 Subject: [PATCH] anke-gps-bracket: gps assembled ok --- anke-gps-bracket.scad | 62 +++++++++++++++++++++++++++++++------------ 1 file changed, 45 insertions(+), 17 deletions(-) diff --git a/anke-gps-bracket.scad b/anke-gps-bracket.scad index 9ad0202..6303bc4 100644 --- a/anke-gps-bracket.scad +++ b/anke-gps-bracket.scad @@ -1,34 +1,49 @@ // -*- C -*- +// Dimensions of the main GPS body outerw = 140; outerh = 80; +outert = 10; + +// Dimensions of the bezel area round the edges bezelw = 8; bezelboth = 8; bezeltoph = 8; -outert = 10; +// Dimensions of the speaker at the back spkrdia = 40; spkr2bot = 40; spkr2rhs = 30; +// Dimensions of the plug and wire plugw = 10; plugh = 8; plug2bot = 30; plug2lhs = 40; - plugtotald = 20; pluggapd = 12; -plugslop = 0.3; +// Amount of wire protrusion to allow for +plugwiremoreh = 30; -screent = 1.0; +// Slops and steps +plugslop = 0.5; +plughstep = 1.5; +// Dimensions for strength only +screent = 1.0; plugstrutw = 4; plugstrutt = min(outert, 5); +module GpsPlugPlug(slop){ + effhslop = slop - plughstep; + effplugw = plugw + slop*2; + effplugh = plugh + effhslop*2; + translate([plug2lhs-slop, plug2bot-effhslop, -1]) + cube([effplugw, effplugh, outert+2]); +} + module GpsBody() { - effplugw = plugw + plugslop; - effplugh = plugh + plugslop; difference(){ union(){ difference(){ @@ -38,21 +53,34 @@ module GpsBody() { translate([outerw-spkr2rhs, spkr2bot, -1]) cylinder(r=spkrdia/2, h=outert+2); } - translate([plug2lhs+effplugw/2, plug2bot+effplugh/2, 0.01]) - cylinder(r=(effplugw+effplugh)/2, h=outert-0.02); - for (x=[plug2lhs-plugstrutw, plug2lhs+effplugw]) - translate([x, 0.1, 0.01]) - cube([plugstrutw, outerh-0.2, plugstrutt-0.02]); + translate([plug2lhs+plugw/2, plug2bot+plugh/2, 0.05]) + cylinder(r=(plugw+plugh)/2, h=outert-0.02); + for (x=[plug2lhs-plugstrutw, plug2lhs+plugw]) + translate([x, 0.1, 0.05]) + cube([plugstrutw, outerh-0.2, plugstrutt-0.10]); } - translate([plug2lhs, plug2bot, -1]) - cube([effplugw, effplugh, outert+2]); + GpsPlugPlug(0); } } module GpsPlug() { -// translate([plug2lhs, plug2bot, 0]) { -// translate([ -// } + plugwireh = plug2bot + plugwiremoreh; + GpsPlugPlug(-plugslop); + mirror([0,0,1]) translate([plug2lhs, plug2bot, 0]) { + cube([plugw, plugh, plugtotald-0.05]); + translate([0, -plugwireh, pluggapd]) + cube([plugw, plugwireh+0.05, plugtotald-pluggapd]); + } +} + +module GpsAssembled(){ ////toplevel + GpsBody(); + GpsPlug(); +} + +module GpsPlugT(){ ////toplevel + rotate([0,-90,0]) GpsPlug(); } -GpsBody(); +//GpsPlugT(); +GpsAssembled(); -- 2.30.2