aboutsummaryrefslogtreecommitdiff
path: root/designs
diff options
context:
space:
mode:
Diffstat (limited to 'designs')
-rw-r--r--designs/blank_d4.scad11
-rw-r--r--designs/blank_d8.scad17
-rw-r--r--designs/epic_level_counter.scad47
-rw-r--r--designs/free_mono_d12.scad31
-rw-r--r--designs/free_mono_d20.scad47
-rw-r--r--designs/free_mono_d4.scad15
-rw-r--r--designs/free_mono_d6.scad17
-rw-r--r--designs/free_mono_d8.scad23
-rw-r--r--designs/fudge.scad17
-rw-r--r--designs/pips_d6.scad17
-rw-r--r--designs/zampa_d12.scad31
-rw-r--r--designs/zampa_d6.scad17
12 files changed, 153 insertions, 137 deletions
diff --git a/designs/blank_d4.scad b/designs/blank_d4.scad
index 5d190ef..498543b 100644
--- a/designs/blank_d4.scad
+++ b/designs/blank_d4.scad
@@ -1,14 +1,5 @@
use <../lib/dice.scad>
-use <../lib/utils.scad>
-use <../lib/faces/empty.scad>
size = 16;
-side = s2s_d4(size);
-
-d4(size) {
- empty(side);
- empty(side);
- empty(side);
- empty(side);
-}
+d4(size);
diff --git a/designs/blank_d8.scad b/designs/blank_d8.scad
index 1c94fbd..4b2dd63 100644
--- a/designs/blank_d8.scad
+++ b/designs/blank_d8.scad
@@ -1,20 +1,5 @@
use <../lib/dice.scad>
-use <../lib/utils.scad>
-use <../lib/faces/empty.scad>
size = 16;
-side = s2s_d8(size);
-
-echo(side);
-
-d8(size) {
- empty(side);
- empty(side);
- empty(side);
- empty(side);
- empty(side);
- empty(side);
- empty(side);
- empty(side);
-}
+d8(size);
diff --git a/designs/epic_level_counter.scad b/designs/epic_level_counter.scad
index b0d3464..c1781c8 100644
--- a/designs/epic_level_counter.scad
+++ b/designs/epic_level_counter.scad
@@ -6,27 +6,30 @@ size = 30;
side = s2s_d20(size);
-echo(side);
+r = side*sqrt(10+2*sqrt(5))/4;
-d20(size) {
- digits(side, 1, "free_mono");
- digits(side, 16, "free_mono");
- digits(side, 3, "free_mono");
- digits(side, 18, "free_mono");
- digits(side, 7, "free_mono");
- digits(side, 11, "free_mono");
- digits(side, 5, "free_mono");
- digits(side, 13, "free_mono");
- digits(side, 10, "free_mono");
- digits(side, 14, "free_mono");
- digits(side, 9, "free_mono");
- digits(side, 15, "free_mono");
- digits(side, 8, "free_mono");
- digits(side, 19, "free_mono");
- digits(side, 6, "free_mono");
- digits(side, 12, "free_mono");
- digits(side, 4, "free_mono");
- digits(side, 17, "free_mono");
- digits(side, 2, "free_mono");
- digits(side, 20, "free_mono");
+difference() {
+ d20(size);
+ icosahedron_faces(r=r) {
+ digits(side, 1, "free_mono");
+ digits(side, 16, "free_mono");
+ digits(side, 3, "free_mono");
+ digits(side, 18, "free_mono");
+ digits(side, 7, "free_mono");
+ digits(side, 11, "free_mono");
+ digits(side, 5, "free_mono");
+ digits(side, 13, "free_mono");
+ digits(side, 10, "free_mono");
+ digits(side, 14, "free_mono");
+ digits(side, 9, "free_mono");
+ digits(side, 15, "free_mono");
+ digits(side, 8, "free_mono");
+ digits(side, 19, "free_mono");
+ digits(side, 6, "free_mono");
+ digits(side, 12, "free_mono");
+ digits(side, 4, "free_mono");
+ digits(side, 17, "free_mono");
+ digits(side, 2, "free_mono");
+ digits(side, 20, "free_mono");
+ }
}
diff --git a/designs/free_mono_d12.scad b/designs/free_mono_d12.scad
index a8168cb..2c9265b 100644
--- a/designs/free_mono_d12.scad
+++ b/designs/free_mono_d12.scad
@@ -6,17 +6,22 @@ size = 14;
side = s2s_d12(size);
-d12(size) {
- digits(side, 1, "free_mono");
- digits(side, 2, "free_mono");
- digits(side, 3, "free_mono");
- digits(side, 4, "free_mono");
- digits(side, 5, "free_mono");
- digits(side, 6, "free_mono");
- digits(side, 7, "free_mono");
- digits(side, 8, "free_mono");
- digits(side, 9, "free_mono");
- digits(side, 10, "free_mono");
- digits(side, 11, "free_mono");
- digits(side, 12, "free_mono");
+r = side*sqrt(3)*(1+sqrt(5))/4;
+
+difference() {
+ d12(size);
+ dodecahedron_faces(r) {
+ digits(side, 1, "free_mono");
+ digits(side, 2, "free_mono");
+ digits(side, 3, "free_mono");
+ digits(side, 4, "free_mono");
+ digits(side, 5, "free_mono");
+ digits(side, 6, "free_mono");
+ digits(side, 7, "free_mono");
+ digits(side, 8, "free_mono");
+ digits(side, 9, "free_mono");
+ digits(side, 10, "free_mono");
+ digits(side, 11, "free_mono");
+ digits(side, 12, "free_mono");
+ }
}
diff --git a/designs/free_mono_d20.scad b/designs/free_mono_d20.scad
index 1ad6e81..77eb431 100644
--- a/designs/free_mono_d20.scad
+++ b/designs/free_mono_d20.scad
@@ -6,25 +6,30 @@ size = 14;
side = s2s_d20(size);
-d20(size) {
- digits(side, 1, "free_mono");
- digits(side, 2, "free_mono");
- digits(side, 3, "free_mono");
- digits(side, 4, "free_mono");
- digits(side, 5, "free_mono");
- digits(side, 6, "free_mono");
- digits(side, 7, "free_mono");
- digits(side, 8, "free_mono");
- digits(side, 9, "free_mono");
- digits(side, 10, "free_mono");
- digits(side, 11, "free_mono");
- digits(side, 12, "free_mono");
- digits(side, 13, "free_mono");
- digits(side, 14, "free_mono");
- digits(side, 15, "free_mono");
- digits(side, 16, "free_mono");
- digits(side, 17, "free_mono");
- digits(side, 18, "free_mono");
- digits(side, 19, "free_mono");
- digits(side, 20, "free_mono");
+r = side*sqrt(10+2*sqrt(5))/4;
+
+difference() {
+ d20(size);
+ icosahedron_faces(r=r) {
+ digits(side, 1, "free_mono");
+ digits(side, 2, "free_mono");
+ digits(side, 3, "free_mono");
+ digits(side, 4, "free_mono");
+ digits(side, 5, "free_mono");
+ digits(side, 6, "free_mono");
+ digits(side, 7, "free_mono");
+ digits(side, 8, "free_mono");
+ digits(side, 9, "free_mono");
+ digits(side, 10, "free_mono");
+ digits(side, 11, "free_mono");
+ digits(side, 12, "free_mono");
+ digits(side, 13, "free_mono");
+ digits(side, 14, "free_mono");
+ digits(side, 15, "free_mono");
+ digits(side, 16, "free_mono");
+ digits(side, 17, "free_mono");
+ digits(side, 18, "free_mono");
+ digits(side, 19, "free_mono");
+ digits(side, 20, "free_mono");
+ }
}
diff --git a/designs/free_mono_d4.scad b/designs/free_mono_d4.scad
index 6ed5dad..9c9826f 100644
--- a/designs/free_mono_d4.scad
+++ b/designs/free_mono_d4.scad
@@ -6,9 +6,14 @@ size = 14;
side = s2s_d4(size);
-d4(size) {
- digits(side, 1, "free_mono");
- digits(side, 2, "free_mono");
- digits(side, 3, "free_mono");
- digits(side, 4, "free_mono");
+r = sqrt(6)/4*side;
+
+difference() {
+ d4(size);
+ tetrahedron_faces(r) {
+ digits(side, 1, "free_mono");
+ digits(side, 2, "free_mono");
+ digits(side, 3, "free_mono");
+ digits(side, 4, "free_mono");
+ }
}
diff --git a/designs/free_mono_d6.scad b/designs/free_mono_d6.scad
index 7e450f2..b12984d 100644
--- a/designs/free_mono_d6.scad
+++ b/designs/free_mono_d6.scad
@@ -6,11 +6,14 @@ size = 14;
side = s2s_d6(size);
-rotate([180, 0, 0]) d6(size) {
- digits(side, 1, "free_mono");
- digits(side, 2, "free_mono");
- digits(side, 3, "free_mono");
- digits(side, 4, "free_mono");
- digits(side, 5, "free_mono");
- digits(side, 6, "free_mono");
+rotate([180, 0, 0]) difference() {
+ d6(size);
+ cube_faces(size) {
+ digits(side, 1, "free_mono");
+ digits(side, 2, "free_mono");
+ digits(side, 3, "free_mono");
+ digits(side, 4, "free_mono");
+ digits(side, 5, "free_mono");
+ digits(side, 6, "free_mono");
+ }
}
diff --git a/designs/free_mono_d8.scad b/designs/free_mono_d8.scad
index 8fc17ad..7e82169 100644
--- a/designs/free_mono_d8.scad
+++ b/designs/free_mono_d8.scad
@@ -6,13 +6,18 @@ size = 14;
side = s2s_d8(size);
-d8(size) {
- digits(side, 1, "free_mono");
- digits(side, 2, "free_mono");
- digits(side, 3, "free_mono");
- digits(side, 4, "free_mono");
- digits(side, 5, "free_mono");
- digits(side, 6, "free_mono");
- digits(side, 7, "free_mono");
- digits(side, 8, "free_mono");
+r = sqrt(2)/2*side;
+
+difference() {
+ d8(size);
+ octahedron_faces(r) {
+ digits(side, 1, "free_mono");
+ digits(side, 2, "free_mono");
+ digits(side, 3, "free_mono");
+ digits(side, 4, "free_mono");
+ digits(side, 5, "free_mono");
+ digits(side, 6, "free_mono");
+ digits(side, 7, "free_mono");
+ digits(side, 8, "free_mono");
+ }
}
diff --git a/designs/fudge.scad b/designs/fudge.scad
index d10e05f..4236571 100644
--- a/designs/fudge.scad
+++ b/designs/fudge.scad
@@ -7,11 +7,14 @@ size = 16;
side = s2s_d6(size);
-rotate([180, 0, 0]) d6(size) {
- empty(side);
- fudge_plus(side);
- fudge_minus(side);
- fudge_plus(side);
- fudge_minus(side);
- empty(side);
+rotate([180, 0, 0]) difference() {
+ d6(size);
+ cube_faces(size) {
+ empty(side);
+ fudge_plus(side);
+ fudge_minus(side);
+ fudge_plus(side);
+ fudge_minus(side);
+ empty(side);
+ }
}
diff --git a/designs/pips_d6.scad b/designs/pips_d6.scad
index 8a5fe16..24a0c8b 100644
--- a/designs/pips_d6.scad
+++ b/designs/pips_d6.scad
@@ -6,11 +6,14 @@ size = 16;
side = s2s_d6(size);
-rotate([180, 0, 0]) d6(size) {
- pips_1(side);
- pips_2(side);
- pips_3(side);
- pips_4(side);
- pips_5(side);
- pips_6(side);
+rotate([180, 0, 0]) difference() {
+ d6(size);
+ cube_faces(size) {
+ pips_1(side);
+ pips_2(side);
+ pips_3(side);
+ pips_4(side);
+ pips_5(side);
+ pips_6(side);
+ }
}
diff --git a/designs/zampa_d12.scad b/designs/zampa_d12.scad
index 691e2f5..7f5016b 100644
--- a/designs/zampa_d12.scad
+++ b/designs/zampa_d12.scad
@@ -7,17 +7,22 @@ size = 14;
side = s2s_d12(size);
-d12(size) {
- gfx(side, "zampa");
- digits(side, 2, "free_mono");
- digits(side, 3, "free_mono");
- digits(side, 4, "free_mono");
- digits(side, 5, "free_mono");
- digits(side, 6, "free_mono");
- digits(side, 7, "free_mono");
- digits(side, 8, "free_mono");
- digits(side, 9, "free_mono");
- digits(side, 10, "free_mono");
- digits(side, 11, "free_mono");
- digits(side, 12, "free_mono");
+r = side*sqrt(3)*(1+sqrt(5))/4;
+
+difference() {
+ d12(size);
+ dodecahedron_faces(r=r) {
+ gfx(side, "zampa");
+ digits(side, 2, "free_mono");
+ digits(side, 3, "free_mono");
+ digits(side, 4, "free_mono");
+ digits(side, 5, "free_mono");
+ digits(side, 6, "free_mono");
+ digits(side, 7, "free_mono");
+ digits(side, 8, "free_mono");
+ digits(side, 9, "free_mono");
+ digits(side, 10, "free_mono");
+ digits(side, 11, "free_mono");
+ digits(side, 12, "free_mono");
+ }
}
diff --git a/designs/zampa_d6.scad b/designs/zampa_d6.scad
index f2e10cf..2d486df 100644
--- a/designs/zampa_d6.scad
+++ b/designs/zampa_d6.scad
@@ -7,11 +7,14 @@ size = 14;
side = s2s_d6(size);
-rotate([0, 0, 0]) d6(size) {
- gfx(side, "zampa");
- digits(side, 2, "free_mono");
- digits(side, 3, "free_mono");
- digits(side, 4, "free_mono");
- digits(side, 5, "free_mono");
- digits(side, 6, "free_mono");
+difference() {
+ d6(size);
+ cube_faces(side) {
+ gfx(side, "zampa");
+ digits(side, 2, "free_mono");
+ digits(side, 3, "free_mono");
+ digits(side, 4, "free_mono");
+ digits(side, 5, "free_mono");
+ digits(side, 6, "free_mono");
+ }
}