}
}
+module SomeBaseProfile(I, F){
+ polygon([ I,
+ F,
+ [ hsz+1, F[1] ],
+ [ hsz+1, I[1] ] ]);
+}
+
+module BaseProfile(){
+ SomeBaseProfile($xppI, $xppF);
+}
+
module SWalls(ymin, ymax, t_bevel) {
upp_app_Vars(t_bevel) {
translate([0,ymin,0])
-// rotate([90,0,0])
-mirror([0,1,0])
- rotate([90,0,0])
+ mirror([0,1,0])
+ rotate([90,0,0])
linear_extrude(height= ymax-ymin, convexity=10)
- children();
+ for (xm=[0,1])
+ mirror([xm,0])
+ translate([-hsz, 0])
+ children();
}
}
-module KsafeBase(){
- /// corners
- for (xm=[0,1]) for (ym=[0,1]) {
- mirror([xm,0,0]) mirror([0,ym,0])
+module AtTwoCorners(){
+ for (xm=[0,1]) {
+ mirror([xm,0,0])
translate((hsz - cnr_rad) * [1,1])
intersection(){
rotate_extrude(convexity=10)
translate([-cnr_rad,0])
- UsualProfile();
+ children();
translate([0,0,-250])
cube([50,50,500]);
}
}
+}
- // side walls
- for (xm=[0,1]) {
- mirror([xm,0,0]){
- translate([-hsz, 0,0]){
- 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();
- }
+module KsafeBase(){
+ /// corners
+ for (ym=[0,1]) mirror([0,ym,0]) {
+ AtTwoCorners(){
+ 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(); }
+ SWalls(yw1, yw10, a_bevel) { WebProfile(); SomeBaseProfile($gppS, $xppF); }
}
module DemoProfiles(){