10 module Letter(depth) {
11 translate([-circlerad,-circlerad])
12 import(file=str("pandemic-counter-l",depth,".dxf"), convexity=100);
17 linear_extrude(height=tokenthick) union(){
26 module Token_CDC(){ ////toplevel
29 module Token_Lab(){ ////toplevel
32 module Token_Act(){ ////toplevel
35 square([tokenrad*.75, joinwidth], center=true);
38 module Token_Spec(){ ////toplevel
41 //module Token_Terr(){ ////toplevel
44 //module Token_TerrMove(){ ////toplevel
46 // translate([-tokenrad*.75, -1])
47 // square([tokenrad*.75, joinwidth]);
51 spacing = tokenrad * 2 + 2;
53 module Tokens(rows=1,cols=1) {
56 translate([j*spacing, i*spacing, 0])
60 module Tokens_Act(){ ////toplevel
61 // Print *twice*, LAPIS BLUE or SQUEEZED ORANGE
63 // up to 4 for 5 players, plus 2 for Borrowed Time plus 1 for Generalist
64 // so need 23, make 24
65 Tokens(4,3) Token_Act();
68 module Tokens_Spec(){ ////toplevel
69 // ELECTRIC BLUE or MELLOW YELLOW
70 // once-per-turn special action, one each for 5 players
71 Tokens(5) Token_Spec();
74 module Tokens_CDC(){ ////toplevel
77 // 1 action per turn + 2 Borrowed Time
78 Tokens(3) Token_CDC();
81 module Tokens_Lab(){ ////toplevel
83 // free Lab action (on building research station, etc)
84 // make 2 (probably want less than that)
85 Tokens(2) Token_Lab();
88 //module Tokens_Terr(){ ////toplevel
90 // // Bioterrorist general actions
91 // Tokens(2) Token_Terr();
94 //module Tokens_TerrMove(){ ////toplevel
96 // // Bioterrorist drive/ferry
97 // Tokens(1) Token_TerrMove();
100 module PosToken(i,j){
101 translate([j*spacing, i*spacing, 0]) child();
104 module Demo(){ ////toplevel
105 PosToken(0,0) Token_CDC();
106 PosToken(1,0) Token_Lab();
107 PosToken(2,0) Token_Act();
108 PosToken(3,0) Token_Spec();
109 // PosToken(1,1) Token_Terr();
110 // PosToken(2,1) Token_TerrMove();