|
|
@@ -1,6 +1,7 @@
|
|
|
include <config.scad>;
|
|
|
include <pie_slice.scad>;
|
|
|
include <tower.scad>;
|
|
|
+include <pinch.scad>;
|
|
|
|
|
|
module step(radius, angle, height, overhang = 2, underslope = 45) {
|
|
|
step_depth = (PI * radius) * (angle / 360);
|
|
|
@@ -176,7 +177,7 @@ module dungeon_bars() {
|
|
|
loop(n - 1);
|
|
|
}
|
|
|
}
|
|
|
- rotate([0,0,exit]) loop(max);
|
|
|
+ rotate([0,0,exit + dungeon_angle]) loop(max);
|
|
|
}
|
|
|
|
|
|
module front_door_neg() {
|
|
|
@@ -200,10 +201,10 @@ module front_door_rim() {
|
|
|
}
|
|
|
|
|
|
module dungeon_window_neg() {
|
|
|
- rotate([90,0,0]) translate([0,0,tower_radius]) cylinder(r=tower_radius, h=42, center=true);
|
|
|
+ rotate([0,0,dungeon_angle]) rotate([90,0,0]) translate([0,0,tower_radius]) cylinder(r=tower_radius, h=42, center=true);
|
|
|
}
|
|
|
module dungeon_window_rim() {
|
|
|
- intersection() {
|
|
|
+ rotate([0,0,dungeon_angle]) intersection() {
|
|
|
//cyl(tower_radius + 10, 50, center=false);
|
|
|
union() {
|
|
|
intersection() {
|
|
|
@@ -213,17 +214,23 @@ module dungeon_window_rim() {
|
|
|
}
|
|
|
difference() {
|
|
|
rotate([90,0,0]) translate([0,0,tower_radius]) cylinder(r=tower_radius + 5, h=42, center=true);
|
|
|
- scale([1,0.9,1]) dungeon_window_neg();
|
|
|
+ difference() {
|
|
|
+ rotate([0,0,-dungeon_angle]) scale([1,0.9,1]) dungeon_window_neg();
|
|
|
+ linear_extrude(height=50, center=false) {
|
|
|
+ pie_slice(tower_radius + 10, 180 + 90 - 59.5, 180 + 90 - 59.5 + 360 * (3 / (tower_radius * PI)));
|
|
|
+ pie_slice(tower_radius + 10, 180 + 90 + 59.5, 180 + 90 + 59.5 - 360 * (3 / (tower_radius * PI)));
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- intersection() {
|
|
|
- linear_extrude(height=50, center=false) {
|
|
|
- pie_slice(tower_radius + 10, 180 + 90 - 59.5, 180 + 90 - 59.5 + 360 * (3 / (tower_radius * PI)));
|
|
|
- pie_slice(tower_radius + 10, 180 + 90 + 59.5, 180 + 90 + 59.5 - 360 * (3 / (tower_radius * PI)));
|
|
|
- }
|
|
|
- rotate([90,0,0]) translate([0,0,tower_radius]) cylinder(r=tower_radius + 5, h=42, center=true);
|
|
|
+ // intersection() {
|
|
|
+ // linear_extrude(height=50, center=false) {
|
|
|
+ // pie_slice(tower_radius + 10, 180 + 90 - 59.5, 180 + 90 - 59.5 + 360 * (3 / (tower_radius * PI)));
|
|
|
+ // pie_slice(tower_radius + 10, 180 + 90 + 59.5, 180 + 90 + 59.5 - 360 * (3 / (tower_radius * PI)));
|
|
|
+ // }
|
|
|
+ // rotate([90,0,0]) translate([0,0,tower_radius]) cylinder(r=tower_radius + 5, h=42, center=true);
|
|
|
|
|
|
- }
|
|
|
+ // }
|
|
|
}
|
|
|
}
|
|
|
}
|