aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--designs/chaos_coin.scad14
-rw-r--r--designs/zampa_coin.scad14
-rw-r--r--lib/dice.scad20
3 files changed, 48 insertions, 0 deletions
diff --git a/designs/chaos_coin.scad b/designs/chaos_coin.scad
new file mode 100644
index 0000000..e346aa4
--- /dev/null
+++ b/designs/chaos_coin.scad
@@ -0,0 +1,14 @@
+use <../lib/dice.scad>
+use <../lib/utils.scad>
+use <../lib/faces/digits.scad>
+use <../lib/faces/gfx.scad>
+
+size = 25;
+
+difference() {
+ d2(size, h=2.2);
+ coin_faces(size, h=2.2) {
+ empty(size);
+ gfx(size, "chaos");
+ }
+}
diff --git a/designs/zampa_coin.scad b/designs/zampa_coin.scad
new file mode 100644
index 0000000..8042adc
--- /dev/null
+++ b/designs/zampa_coin.scad
@@ -0,0 +1,14 @@
+use <../lib/dice.scad>
+use <../lib/utils.scad>
+use <../lib/faces/digits.scad>
+use <../lib/faces/gfx.scad>
+
+size = 25;
+
+difference() {
+ d2(size, h=2.2);
+ coin_faces(size, h=2.2) {
+ empty(size);
+ gfx(size, "zampa");
+ }
+}
diff --git a/lib/dice.scad b/lib/dice.scad
index 92eccbb..fedc2ed 100644
--- a/lib/dice.scad
+++ b/lib/dice.scad
@@ -222,3 +222,23 @@ module d20(size=false, side=false) {
}
}
+module d2(size=false, side=false, h=3) {
+ l = side ? side : size;
+ if (l == false) {
+ echo("ERROR: d4: one of side or size should be defined");
+ }
+ r = l/2;
+ difference() {
+ intersection() {
+ sphere(r=r, $fn=64);
+ cylinder(r=r, h=h);
+ }
+ }
+}
+
+module coin_faces(l, h=3) {
+ union() {
+ children(0);
+ translate([0, 0, h]) children(1);
+ }
+}