chiark / gitweb /
brompton-computer-guard: wip
[reprap-play.git] / brompton-computer-guard.scad
index 9620bddf500c2e470dd9592ab58d43bd3e67b27a..d7f8a26b3b8d517307d2519755a92c7a6af000d6 100644 (file)
@@ -24,6 +24,8 @@ attach_straight_len =
   attach_inrad + attach_tube_dia + attach_hole_dist + attach_hole_dia/2
   - attach_w / 2 + attach_hole_dist;
 
+attach_down = tube_dia + attach_hole_dist;
+
 module RearSideTemplate(){
   polygon([[0.1,0],
           [-base_len,0],
@@ -50,6 +52,11 @@ module AttachTemplate(){
   }
 }
 
+module BodyPositive(){
+  color("blue") linear_extrude(height=60) RearSideTemplate();
+  translate([0,0,-attach_down]) linear_extrude(height=100) AttachTemplate();
+}
+
 module Tube(){
   %translate([attach_cx, -attach_cdy, -20]) {
     rotate_extrude(convexity=10) {
@@ -59,19 +66,25 @@ module Tube(){
   }
 }
 
-module Bolts(){
+module Bolt(){
   %translate([0,0,-50]) linear_extrude(height=80) {
-    translate([attach_cx, -attach_cdy]) rotate([0,0,-attach_ang]) {
-      translate([attach_inrad - attach_hole_dist - attach_hole_dia/2, 0])
-       circle(r=attach_hole_dia/2, $fn=20);
-      translate([attach_inrad + attach_tube_dia
-                +attach_hole_dist + attach_hole_dia/2, 0])
-       circle(r=attach_hole_dia/2, $fn=20);
-    }
+    circle(r=attach_hole_dia/2, $fn=20);
+  }
+  %translate([0,0,10]) linear_extrude(height=20) {
+    circle(r=attach_hole_dia/2 * 2, $fn=20);
+  }
+}
+
+module Bolts(){
+  translate([attach_cx, -attach_cdy]) rotate([0,0,-attach_ang]) {
+    translate([attach_inrad - attach_hole_dist - attach_hole_dia/2, 0])
+      Bolt();
+    translate([attach_inrad + attach_tube_dia
+              +attach_hole_dist + attach_hole_dia/2, 0])
+      Bolt();
   }
 }
 
-color("blue") RearSideTemplate();
-AttachTemplate();
 Tube();
 Bolts();
+BodyPositive();