chiark / gitweb /
osstest-arm-psu-bracket: Initial, before two different
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 5 Aug 2014 15:43:31 +0000 (16:43 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 5 Aug 2014 15:43:31 +0000 (16:43 +0100)
osstest-arm-psu-bracket.scad [new file with mode: 0644]

diff --git a/osstest-arm-psu-bracket.scad b/osstest-arm-psu-bracket.scad
new file mode 100644 (file)
index 0000000..46dba84
--- /dev/null
@@ -0,0 +1,66 @@
+// -*- C -*-
+
+mainlen = 30;
+straps = [10,20];
+width = 60;
+endwall = 5;
+sidewall = 8;
+basethick = 3;
+endwallheight = 20;
+
+plugwidth = 35;
+plugstartheight = 10;
+
+strapthick = 4;
+strapwidth = 5;
+strapbotgap = 1;
+overstrap = 6;
+
+discdia = 60;
+discoff = 10;
+
+sidewallraise = strapbotgap + strapthick + overstrap;
+
+module Sides(){
+  difference(){
+    for (y=[0, width-sidewall]) {
+      translate([0,y,0])
+       cube([mainlen, sidewall, basethick + sidewallraise]);
+    }
+    for (x=straps) {
+      translate([x, 0, basethick + strapbotgap + strapthick/2])
+       cube([strapwidth, width*3, strapthick], center=true);
+    }
+  }
+}
+
+module Ell(){
+  translate([-endwall,0,0]) {
+    cube([mainlen + endwall, width, basethick]);
+    cube([endwall+0.1, width, endwallheight + sidewallraise + basethick]);
+  }
+}
+
+module Plug(){
+  translate([0, width/2,
+            basethick + sidewallraise + plugstartheight + 50])
+    cube([endwall*3, plugwidth, 100], center=true);
+}
+
+module Disc(){
+  translate([discoff + discdia/2, width/2, -1])
+    cylinder(r=discdia/2, h=50);
+}
+
+module Block(){
+  difference(){
+    union(){
+      Ell();
+      Sides();
+    }
+    Plug();
+    Disc();
+  }
+}
+
+Block();