From d408a63fcfcffce4a9f29d51156dfeea6c9eee12 Mon Sep 17 00:00:00 2001 From: Elena of Valhalla'' Grandi Date: Mon, 10 Nov 2014 22:08:37 +0100 Subject: Split library into polyhedra + faces --- designs/blank_d4.scad | 11 +--------- designs/blank_d8.scad | 17 +-------------- designs/epic_level_counter.scad | 47 ++++++++++++++++++++++------------------- designs/free_mono_d12.scad | 31 +++++++++++++++------------ designs/free_mono_d20.scad | 47 +++++++++++++++++++++++------------------ designs/free_mono_d4.scad | 15 ++++++++----- designs/free_mono_d6.scad | 17 +++++++++------ designs/free_mono_d8.scad | 23 ++++++++++++-------- designs/fudge.scad | 17 +++++++++------ designs/pips_d6.scad | 17 +++++++++------ designs/zampa_d12.scad | 31 +++++++++++++++------------ designs/zampa_d6.scad | 17 +++++++++------ 12 files changed, 153 insertions(+), 137 deletions(-) (limited to 'designs') 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"); + } } -- cgit v1.2.3