chiark / gitweb /
poster-tube-lid: sloping bottom of catch tip
[reprap-play.git] / osstest-arm-psu-bracket.scad
index 46dba84..2703cbc 100644 (file)
@@ -1,23 +1,25 @@
 // -*- C -*-
 
-mainlen = 30;
-straps = [10,20];
+mainlen = 33;
+straps = [10,23];
 width = 60;
 endwall = 5;
 sidewall = 8;
 basethick = 3;
 endwallheight = 20;
+morebase = 20;
 
 plugwidth = 35;
 plugstartheight = 10;
 
 strapthick = 4;
-strapwidth = 5;
+strapwidth = 7;
 strapbotgap = 1;
 overstrap = 6;
 
 discdia = 60;
-discoff = 10;
+discoff_rear = 10;
+discoff_front = 50;
 
 sidewallraise = strapbotgap + strapthick + overstrap;
 
@@ -34,9 +36,10 @@ module Sides(){
   }
 }
 
-module Ell(){
+module Ell(baseoff){
   translate([-endwall,0,0]) {
-    cube([mainlen + endwall, width, basethick]);
+    translate([baseoff,0,0])
+      cube([mainlen + endwall + morebase, width, basethick]);
     cube([endwall+0.1, width, endwallheight + sidewallraise + basethick]);
   }
 }
@@ -47,20 +50,39 @@ module Plug(){
     cube([endwall*3, plugwidth, 100], center=true);
 }
 
-module Disc(){
+module Disc(discoff){
   translate([discoff + discdia/2, width/2, -1])
-    cylinder(r=discdia/2, h=50);
+    cylinder(r=discdia/2, h=50, $fn=100);
 }
 
-module Block(){
+module Main(baseoff){
   difference(){
     union(){
-      Ell();
+      Ell(baseoff);
       Sides();
     }
     Plug();
-    Disc();
   }
 }
 
-Block();
+module RearBlock(){
+  difference(){
+    Main(-morebase);
+    Disc(discoff_rear);
+  }
+}
+
+module FrontBlock(){
+  difference(){
+    Main(0);
+    Disc(discoff_front - endwall);
+  }
+}
+
+module Both(){
+  RearBlock();
+  translate([mainlen + endwall + 10, 0, 0])
+    FrontBlock();
+}
+
+Both();