From 778d47ed42029daccc2db442a20a79782be6c857 Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Tue, 30 Aug 2022 11:44:50 -0600 Subject: [PATCH] Spokes, not holes. --- README.md | 6 +-- build/full-circle.json | 95 ++++++++++++++++++++++++++++++++++++++++++ build/full-hex.json | 95 ++++++++++++++++++++++++++++++++++++++++++ build/mini-circle.json | 95 ++++++++++++++++++++++++++++++++++++++++++ build/mini-hex.json | 95 ++++++++++++++++++++++++++++++++++++++++++ chip.scad | 12 +++--- 6 files changed, 389 insertions(+), 9 deletions(-) create mode 100644 build/full-circle.json create mode 100644 build/full-hex.json create mode 100644 build/mini-circle.json create mode 100644 build/mini-hex.json diff --git a/README.md b/README.md index 20902c7..ddb7af6 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,9 @@ This is an OpenSCAD program to build a poker chip. sample chip -You can tell it how many sides you want. -Want round ones? Tell it 360 sides. -I like hexagonal ones, so that's the default. +You can tell it how many sides you want (round = 360 sides), +how many spokes you want, +and the dimensions. The front has text on it, the back doesn't. diff --git a/build/full-circle.json b/build/full-circle.json new file mode 100644 index 0000000..71eb220 --- /dev/null +++ b/build/full-circle.json @@ -0,0 +1,95 @@ +{ + "parameterSets": { + "full-circle-1": { + "diameter": 39, + "height": 3.5, + "sides": 360, + "spokes": 6, + "text": "1" + }, + "full-circle-2": { + "diameter": 39, + "height": 3.5, + "sides": 360, + "spokes": 6, + "text": "2" + }, + "full-circle-5": { + "diameter": 39, + "height": 3.5, + "sides": 360, + "spokes": 6, + "text": "5" + }, + "full-circle-10": { + "diameter": 39, + "height": 3.5, + "sides": 360, + "spokes": 6, + "text": "10" + }, + "full-circle-20": { + "diameter": 39, + "height": 3.5, + "sides": 360, + "spokes": 6, + "text": "20" + }, + "full-circle-25": { + "diameter": 39, + "height": 3.5, + "sides": 360, + "spokes": 6, + "text": "25" + }, + "full-circle-50": { + "diameter": 39, + "height": 3.5, + "sides": 360, + "spokes": 6, + "text": "50" + }, + "full-circle-100": { + "diameter": 39, + "height": 3.5, + "sides": 360, + "spokes": 6, + "text": "100" + }, + "full-circle-250": { + "diameter": 39, + "height": 3.5, + "sides": 360, + "spokes": 6, + "text": "250" + }, + "full-circle-500": { + "diameter": 39, + "height": 3.5, + "sides": 360, + "spokes": 6, + "text": "500" + }, + "full-circle-1000": { + "diameter": 39, + "height": 3.5, + "sides": 360, + "spokes": 6, + "text": "1000" + }, + "full-circle-2000": { + "diameter": 39, + "height": 3.5, + "sides": 360, + "spokes": 6, + "text": "2000" + }, + "full-circle-5000": { + "diameter": 39, + "height": 3.5, + "sides": 360, + "spokes": 6, + "text": "5000" + } + } +} \ No newline at end of file diff --git a/build/full-hex.json b/build/full-hex.json new file mode 100644 index 0000000..7ec57c9 --- /dev/null +++ b/build/full-hex.json @@ -0,0 +1,95 @@ +{ + "parameterSets": { + "full-hex-1": { + "diameter": 39, + "height": 3.5, + "sides": 6, + "spokes": 6, + "text": "1" + }, + "full-hex-2": { + "diameter": 39, + "height": 3.5, + "sides": 6, + "spokes": 6, + "text": "2" + }, + "full-hex-5": { + "diameter": 39, + "height": 3.5, + "sides": 6, + "spokes": 6, + "text": "5" + }, + "full-hex-10": { + "diameter": 39, + "height": 3.5, + "sides": 6, + "spokes": 6, + "text": "10" + }, + "full-hex-20": { + "diameter": 39, + "height": 3.5, + "sides": 6, + "spokes": 6, + "text": "20" + }, + "full-hex-25": { + "diameter": 39, + "height": 3.5, + "sides": 6, + "spokes": 6, + "text": "25" + }, + "full-hex-50": { + "diameter": 39, + "height": 3.5, + "sides": 6, + "spokes": 6, + "text": "50" + }, + "full-hex-100": { + "diameter": 39, + "height": 3.5, + "sides": 6, + "spokes": 6, + "text": "100" + }, + "full-hex-250": { + "diameter": 39, + "height": 3.5, + "sides": 6, + "spokes": 6, + "text": "250" + }, + "full-hex-500": { + "diameter": 39, + "height": 3.5, + "sides": 6, + "spokes": 6, + "text": "500" + }, + "full-hex-1000": { + "diameter": 39, + "height": 3.5, + "sides": 6, + "spokes": 6, + "text": "1000" + }, + "full-hex-2000": { + "diameter": 39, + "height": 3.5, + "sides": 6, + "spokes": 6, + "text": "2000" + }, + "full-hex-5000": { + "diameter": 39, + "height": 3.5, + "sides": 6, + "spokes": 6, + "text": "5000" + } + } +} \ No newline at end of file diff --git a/build/mini-circle.json b/build/mini-circle.json new file mode 100644 index 0000000..0965c98 --- /dev/null +++ b/build/mini-circle.json @@ -0,0 +1,95 @@ +{ + "parameterSets": { + "mini-circle-1": { + "diameter": 22, + "height": 2, + "sides": 360, + "spokes": 4, + "text": "1" + }, + "mini-circle-2": { + "diameter": 22, + "height": 2, + "sides": 360, + "spokes": 4, + "text": "2" + }, + "mini-circle-5": { + "diameter": 22, + "height": 2, + "sides": 360, + "spokes": 4, + "text": "5" + }, + "mini-circle-10": { + "diameter": 22, + "height": 2, + "sides": 360, + "spokes": 4, + "text": "10" + }, + "mini-circle-20": { + "diameter": 22, + "height": 2, + "sides": 360, + "spokes": 4, + "text": "20" + }, + "mini-circle-25": { + "diameter": 22, + "height": 2, + "sides": 360, + "spokes": 4, + "text": "25" + }, + "mini-circle-50": { + "diameter": 22, + "height": 2, + "sides": 360, + "spokes": 4, + "text": "50" + }, + "mini-circle-100": { + "diameter": 22, + "height": 2, + "sides": 360, + "spokes": 4, + "text": "100" + }, + "mini-circle-250": { + "diameter": 22, + "height": 2, + "sides": 360, + "spokes": 4, + "text": "250" + }, + "mini-circle-500": { + "diameter": 22, + "height": 2, + "sides": 360, + "spokes": 4, + "text": "500" + }, + "mini-circle-1000": { + "diameter": 22, + "height": 2, + "sides": 360, + "spokes": 4, + "text": "1000" + }, + "mini-circle-2000": { + "diameter": 22, + "height": 2, + "sides": 360, + "spokes": 4, + "text": "2000" + }, + "mini-circle-5000": { + "diameter": 22, + "height": 2, + "sides": 360, + "spokes": 4, + "text": "5000" + } + } +} \ No newline at end of file diff --git a/build/mini-hex.json b/build/mini-hex.json new file mode 100644 index 0000000..47b778e --- /dev/null +++ b/build/mini-hex.json @@ -0,0 +1,95 @@ +{ + "parameterSets": { + "mini-hexagon-1": { + "diameter": 22, + "height": 2, + "sides": 6, + "spokes": 3, + "text": "1" + }, + "mini-hexagon-2": { + "diameter": 22, + "height": 2, + "sides": 6, + "spokes": 3, + "text": "2" + }, + "mini-hexagon-5": { + "diameter": 22, + "height": 2, + "sides": 6, + "spokes": 3, + "text": "5" + }, + "mini-hexagon-10": { + "diameter": 22, + "height": 2, + "sides": 6, + "spokes": 3, + "text": "10" + }, + "mini-hexagon-20": { + "diameter": 22, + "height": 2, + "sides": 6, + "spokes": 3, + "text": "20" + }, + "mini-hexagon-25": { + "diameter": 22, + "height": 2, + "sides": 6, + "spokes": 3, + "text": "25" + }, + "mini-hexagon-50": { + "diameter": 22, + "height": 2, + "sides": 6, + "spokes": 3, + "text": "50" + }, + "mini-hexagon-100": { + "diameter": 22, + "height": 2, + "sides": 6, + "spokes": 3, + "text": "100" + }, + "mini-hexagon-250": { + "diameter": 22, + "height": 2, + "sides": 6, + "spokes": 3, + "text": "250" + }, + "mini-hexagon-500": { + "diameter": 22, + "height": 2, + "sides": 6, + "spokes": 3, + "text": "500" + }, + "mini-hexagon-1000": { + "diameter": 22, + "height": 2, + "sides": 6, + "spokes": 3, + "text": "1000" + }, + "mini-hexagon-2000": { + "diameter": 22, + "height": 2, + "sides": 6, + "spokes": 3, + "text": "2000" + }, + "mini-hexagon-5000": { + "diameter": 22, + "height": 2, + "sides": 6, + "spokes": 3, + "text": "5000" + } + } +} \ No newline at end of file diff --git a/chip.scad b/chip.scad index bfd11bd..2d0dc15 100644 --- a/chip.scad +++ b/chip.scad @@ -10,8 +10,8 @@ depth = 0.5; // Number of sides on your coin sides = 360; // [3:360] -// How many holes (spokes) do you want? -holes = 6; // [0:12] +// How many spokes do you want? +spokes = 6; // [0:12] // Text to display text = "100"; @@ -45,12 +45,12 @@ module chip() { } } - if (holes == 0) { + if (spokes == 0) { cube([diameter, diameter, height*0.7], center=true); } else { - spokeWidth = (diameter/holes) * 0.8; - rotate((sides+holes)%2?90:0) { - for (i = [0 : 360/holes : 360]) { + spokeWidth = (diameter/spokes) * 0.8; + rotate((sides+spokes)%2?90:0) { + for (i = [0 : 360/spokes : 360]) { rotate(i) translate([diameter/2, 0, 0]) cube([diameter, spokeWidth, height*0.7], center=true); } }