[-backfront_mate_extra, -tower_base_height]]);
}
+module TowerWallSomeEdge(front){
+ minkowski(){
+ difference(){
+ TowerWallCrossSection();
+ translate([front ? 0.10 : -0.10, 0])
+ TowerWallCrossSection();
+ }
+ circle(r=tower_wall_thick, $fn=8);
+ }
+}
+
module TowerBulkCrossSection(){
intersection(){
TowerWallCrossSection();
translate([-tower_over_max_y/2,
tower_frontheight + tower_overhang*sin(tower_over_angle)/2])
circle(r = led_depth);
+ TowerWallSomeEdge(true);
+ translate([-50, -50])
+ square([100, 50]);
+ }
+ }
+}
+
+module TowerRearWallCrossSection(){
+ intersection(){
+ TowerWallCrossSection();
+ union(){
+ intersection(){
+ translate([0,-10]) square([100, 10+tower_frontheight]);
+ TowerWallSomeEdge(false);
+ }
+ TowerBulkCrossSection();
}
}
}
-%TowerWallCrossSection();
-TowerBulkCrossSection();
+module TowerDemo(){
+ %TowerWallCrossSection();
+ //TowerBulkCrossSection();
+ TowerRearWallCrossSection();
+}
+
+TowerDemo();
+//TowerWallSomeEdge(false);
+//TowerWallFrontEdge();