chiark / gitweb /
ksafe-base: introduce BaseProfile
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 31 Oct 2018 00:36:03 +0000 (00:36 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 31 Oct 2018 00:36:20 +0000 (00:36 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
ksafe-base.scad

index a4e51c4..973ec8d 100644 (file)
@@ -151,19 +151,23 @@ module WebProfile(){
   }
 }
 
+module BaseProfile(){
+  polygon([ $xppI,
+           $xppF,
+           [ hsz+1, $xppF[1] ],
+           [ hsz+1, $xppI[1] ] ]);
+}
+
 module SWalls(ymin, ymax, t_bevel) {
   upp_app_Vars(t_bevel) {
     translate([0,ymin,0])
       mirror([0,1,0])
       rotate([90,0,0])
       linear_extrude(height= ymax-ymin, convexity=10)
-      union(){
-        for (xm=[0,1]) {
-         mirror([xm,0])
-           translate([-hsz, 0])
+      for (xm=[0,1])
+       mirror([xm,0])
+         translate([-hsz, 0])
            children();
-       }
-      }
   }
 }
 
@@ -181,13 +185,13 @@ module KsafeBase(){
     }
   }
 
-  // side walls
-  SWalls(yw6 , yw4 , bevel  ) UsualProfile();
-  SWalls(yw5 , yw4 , a_bevel) AnchorWallProfile();
-  SWalls(yw5 , yw12, a_bevel) NearAnchorProfile();
-  SWalls(yw3 , yw2 , a_bevel) AnchorProfile();
-  SWalls(yw11, yw12, a_bevel) AnchorWallProfile();
-  SWalls(yw11, yw13, bevel  ) UsualProfile();
+  // side walls and base
+  SWalls(yw6 , yw4 , bevel  ) { UsualProfile();      BaseProfile(); }
+  SWalls(yw5 , yw4 , a_bevel) { AnchorWallProfile(); BaseProfile(); }
+  SWalls(yw5 , yw12, a_bevel) { NearAnchorProfile(); BaseProfile(); }
+  SWalls(yw3 , yw2 , a_bevel) { AnchorProfile();     BaseProfile(); }
+  SWalls(yw11, yw12, a_bevel) { AnchorWallProfile(); BaseProfile(); }
+  SWalls(yw11, yw13, bevel  ) { UsualProfile();      BaseProfile(); }
 }
 
 module DemoProfiles(){