diff options
Diffstat (limited to 'src/piecepack.scad')
-rw-r--r-- | src/piecepack.scad | 50 |
1 files changed, 31 insertions, 19 deletions
diff --git a/src/piecepack.scad b/src/piecepack.scad index 0947862..33406a3 100644 --- a/src/piecepack.scad +++ b/src/piecepack.scad @@ -35,43 +35,55 @@ module coin(suite,value) { } } -module die(suite) { +module die(suite,s) { difference() { - cube(12); - translate([0,0,11]) linear_extrude(height=1.5) scale(0.24) + intersection() { + cube(s); + translate([s/2,s/2,s/2]) sphere(r=s*0.79); + } + translate([0,0,s-1]) linear_extrude(height=1.5) scale(s*0.02) import(str("../graphics/",suite,".dxf")); translate([1,0,0]) rotate([0,-90,0]) - linear_extrude(height=1.5) scale(0.24) + linear_extrude(height=1.5) scale(s*0.02) import("../graphics/2.dxf"); - translate([11,0,12]) rotate([0,90,0]) - linear_extrude(height=1.5) scale(0.24) + translate([s-1,0,s]) rotate([0,90,0]) + linear_extrude(height=1.5) scale(s*0.02) import("../graphics/5.dxf"); translate([0,1,0]) rotate([90,0,0]) - linear_extrude(height=1.5) scale(0.24) + linear_extrude(height=1.5) scale(s*0.02) import("../graphics/3.dxf"); - translate([0,11,12]) rotate([-90,0,0]) - linear_extrude(height=1.5) scale(0.24) + translate([0,s-1,s]) rotate([-90,0,0]) + linear_extrude(height=1.5) scale(s*0.02) import("../graphics/4.dxf"); } } -module suite_die(suites) { +module suite_die(suites,s) { difference() { - cube(12); - translate([0,0,11]) linear_extrude(height=1.5) scale(0.24) - import("../graphics/ace.dxf"); + cube(s); translate([1,0,0]) rotate([0,-90,0]) - linear_extrude(height=1.5) scale(0.24) + linear_extrude(height=1.5) scale(s*0.02) import(str("../graphics/",suites[0],".dxf")); - translate([11,0,12]) rotate([0,90,0]) - linear_extrude(height=1.5) scale(0.24) + translate([s-1,0,s]) rotate([0,90,0]) + linear_extrude(height=1.5) scale(s*0.02) import(str("../graphics/",suites[1],".dxf")); translate([0,1,0]) rotate([90,0,0]) - linear_extrude(height=1.5) scale(0.24) + linear_extrude(height=1.5) scale(s*0.02) import(str("../graphics/",suites[2],".dxf")); - translate([0,11,12]) rotate([-90,0,0]) - linear_extrude(height=1.5) scale(0.24) + translate([0,s-1,s]) rotate([-90,0,0]) + linear_extrude(height=1.5) scale(s*0.02) import(str("../graphics/",suites[3],".dxf")); + if ( len(suites) >= 5) { + translate([0,0,s-1]) linear_extrude(height=1.5) scale(s*0.02) + import(str("../graphics/",suites[4],".dxf")); + } else { + translate([0,0,s-1]) linear_extrude(height=1.5) scale(s*0.02) + import("../graphics/ace.dxf"); + } + if ( len(suites) >= 6) { + translate([0,0,-0.5]) linear_extrude(height=1.5) scale(s*0.02) + import(str("../graphics/",suites[5],".dxf")); + } } } |