chiark / gitweb /
brompton-computer-guard: pbase
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 27 May 2014 21:43:11 +0000 (22:43 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 27 May 2014 21:43:11 +0000 (22:43 +0100)
brompton-computer-guard.scad

index 050ba970646da1ad080983d4aecaec5bf323b708..2673b6dae7634583831ee1b9163750aacec4a9e6 100644 (file)
@@ -41,9 +41,12 @@ module ArchProfile(pbase){
        for (m=[0,1])
          mirror([m,0])
            translate([arch_width/2,0])
+           multmatrix([[1,pbase ? -0.75 : 0,0,0],
+                       [0,1,0,0],
+                       [0,0,1,0],
+                       [0,0,0,1]])
            square([end_width, pbase ? pbase_tab : end_thick]);
       }
-      ArchCircle(arch_in_rad);
     }
   }
 }
@@ -62,9 +65,18 @@ module Holes(){
 
 module Arch(){
   difference(){
-    rotate([0,0,180]) union(){
-      linear_extrude(height=arch_breadth) ArchProfile(false);
-      linear_extrude(height=pbase_thick) ArchProfile(true);
+    rotate([0,0,180]){
+      difference(){
+       union(){
+         linear_extrude(height=arch_breadth) ArchProfile(false);
+         linear_extrude(height=pbase_thick) hull(){
+           ArchProfile(true);
+           ArchProfile(false);
+         }
+       }
+       translate([0,0,-1]) linear_extrude(height=100)
+         ArchCircle(arch_in_rad);
+      }
     }
     Holes();
   }