diff --git a/2d/dice-tower/dice-tower.scad b/2d/dice-tower/dice-tower.scad new file mode 100644 index 0000000..524df95 --- /dev/null +++ b/2d/dice-tower/dice-tower.scad @@ -0,0 +1,83 @@ +include <../box/box.scad>; +//mode = "layout"; +//mode = "assembly"; + +outer_width = 2*inch; +outer_depth = outer_width * golden_ratio; +outer_height = outer_depth * golden_ratio; +//echo(str(outer_width/inch, " by ", outer_depth/inch, " by ", outer_height/inch, " inches")); + +inc_top = false; + +module barrier_A() { + panel("A", outer_width, outer_depth*0.5, 0, 1, 0, 1, margin=5); +} + +module barrier_B() { + panel("B", outer_width, outer_depth*0.4, 0, 1, 0, 1, margin=5); +} + +module barrier_C() { + panel("C", outer_width, outer_depth*0.7, 0, 1, 0, 1, margin=5); +} + +module left_side() { + difference() { + union() { + left_side_base(); + translate([outer_depth/2 - thickness, -outer_height/2 + 20 + thickness/2, 0]) + square([2*thickness, 40 - thickness], center=true); + } + translate([-0.7*inch, 1.85*inch,0]) rotate([0,0,-25]) holes(1, outer_depth*0.5 - 10); + translate([ 0.8*inch, 0.10*inch,0]) rotate([0,0, 30]) holes(1, outer_depth*0.4 - 10); + translate([-0.3*inch,-1.80*inch,0]) rotate([0,0,-25]) holes(1, outer_depth*0.7 - 10); + } +} + +module right_side() { + difference() { + union() { + right_side_base(); + translate([-(outer_depth/2 - thickness), -outer_height/2 + 20 + thickness/2, 0]) + square([2*thickness, 40 - thickness], center=true); + } + translate([ 0.7*inch, 1.85*inch,0]) rotate([0,0, 25]) holes(1, outer_depth*0.5 - 10); + translate([-0.8*inch, 0.10*inch,0]) rotate([0,0,-30]) holes(1, outer_depth*0.4 - 10); + translate([ 0.3*inch,-1.80*inch,0]) rotate([0,0, 25]) holes(1, outer_depth*0.7 - 10); + } +} + +module front_side() { + difference() { + front_side_base(); + translate([0,-outer_height/2 - 1*inch + 40,0]) square([outer_width+0.2, 2*inch], center=true); + } +} + +module bottom_side() { + union() { + bottom_side_base(); + translate([0, outer_depth/2 - thickness, 0]) + square([outer_width, 2*thickness], center=true); + } +} + +module extra_layout() { + translate([0, -(outer_height/2 + spacing + outer_width/2), 0]) { + translate([-(outer_width/2 + spacing + outer_depth + spacing + outer_width/2), 0, 0]) + barrier_A(); + translate([0, 48, 0]) barrier_B(); + //translate([outer_width/2 + spacing + outer_depth/2, 0, 0]) + translate([4, 0, 0]) + rotate([0, 0, 90]) + barrier_C(); + } +} + +module extra_assembly() { + translate([0, 0.7*inch, 1.85*inch]) rotate([ 25,0,0]) thicken() barrier_A(); + translate([0,-0.8*inch, 0.10*inch]) rotate([-30,0,0]) thicken() barrier_B(); + translate([0, 0.3*inch,-1.80*inch]) rotate([ 25,0,0]) thicken() barrier_C(); + %translate([0,-10,20]) rotate([-30,45,0]) cube([19.5,19.5,19.5], center=true); + %translate([0,20,-15]) rotate([ 60,76,0]) cube([19.5,19.5,19.5], center=true); +}