10 module Letter(depth) {
11 translate([-circlerad,-circlerad])
12 import(file=str("pandemic-counter-l",depth,".dxf"), convexity=100);
16 linear_extrude(height=tokenthick) union(){
25 module Token_CDC(){ ////toplevel
28 module Token_Lab(){ ////toplevel
31 module Token_Act(){ ////toplevel
34 square([tokenrad*.75, joinwidth], center=true);
37 module Token_Spec(){ ////toplevel
40 module Token_Terr(){ ////toplevel
43 module Token_TerrMove(){ ////toplevel
45 translate([-tokenrad*.75, -1])
46 square([tokenrad*.75, joinwidth]);
50 spacing = tokenrad * 2 + 2;
52 module Tokens(rows=1,cols=1) {
55 translate([j*spacing, i*spacing, 0])
59 module Tokens_Act(){ //// toplevel
60 // Print *twice*, LAPIS BLUE or SQUEEZED ORANGE
62 // up to 4 for 5 players, plus 2 for Borrowed Time plus 1 for Generalist
63 // so need 23, make 24
64 Tokens(4,3) Token_Act();
67 module Tokens_Spec(){ //// toplevel
68 // ELECTRIC BLUE or MELLOW YELLOW
69 // once-per-turn special action, one each for 5 players
70 Tokens(5) Token_Spec();
73 module Tokens_CDC(){ //// toplevel
76 // 1 action per turn + 2 Borrowed Time
77 Tokens(3) Token_CDC();
80 module Tokens_Lab(){ //// toplevel
82 // free Lab action (on building research station, etc)
83 // make 2 (probably want less than that)
84 Tokens(2) Token_Lab();
87 //module Tokens_Terr(){ //// toplevel
89 // // Bioterrorist general actions
90 // Tokens(2) Token_Terr();
93 //module Tokens_TerrMove(){ //// toplevel
95 // // Bioterrorist drive/ferry
96 // Tokens(1) Token_TerrMove();
100 translate([j*spacing, i*spacing, 0]) child();
103 module Demo(){ //// toplevel
104 PosToken(0,0) Token_CDC();
105 PosToken(1,0) Token_Lab();
106 PosToken(2,0) Token_Act();
107 PosToken(3,0) Token_Spec();
108 // PosToken(1,1) Token_Terr();
109 // PosToken(2,1) Token_TerrMove();