What I'm printing in bulk.
I did a bunch of annonying my family members with stupid questions about whether 0.5mm change was important. This is what we wound up with.
This commit is contained in:
commit
fdd57cc133
|
@ -0,0 +1 @@
|
||||||
|
*.stl
|
|
@ -0,0 +1,21 @@
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright © 2022 Neale Pickett <neale@woozle.org>
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
The software is provided "as is", without warranty of any kind, express or
|
||||||
|
implied, including but not limited to the warranties of merchantability,
|
||||||
|
fitness for a particular purpose and noninfringement. In no event shall the
|
||||||
|
authors or copyright holders be liable for any claim, damages or other
|
||||||
|
liability, whether in an action of contract, tort or otherwise, arising from,
|
||||||
|
out of or in connection with the software or the use or other dealings in the
|
||||||
|
software.
|
|
@ -0,0 +1,45 @@
|
||||||
|
# Poker Chips
|
||||||
|
|
||||||
|
This is an OpenSCAD program to build a poker 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.
|
||||||
|
|
||||||
|
The front has text on it,
|
||||||
|
the back doesn't.
|
||||||
|
So you can use them for games that need some sort of coin with two sides.
|
||||||
|
|
||||||
|
|
||||||
|
# Chip Colors
|
||||||
|
|
||||||
|
This is what I found on some random crafting web site.
|
||||||
|
I hate poker,
|
||||||
|
so random website's color scheme works fine for me.
|
||||||
|
|
||||||
|
|
||||||
|
| Value | Color |
|
||||||
|
| --- | --- |
|
||||||
|
| 1 | White |
|
||||||
|
| 5 | Red |
|
||||||
|
| 10 | Blue |
|
||||||
|
| 25 | Green |
|
||||||
|
| 50 | Orange |
|
||||||
|
| 100 | Black |
|
||||||
|
| 250 | Light Red |
|
||||||
|
| 500 | Purple |
|
||||||
|
| 1000 | Yellow |
|
||||||
|
| 2000 | Light Blue |
|
||||||
|
| 5000 | Brown |
|
||||||
|
|
||||||
|
|
||||||
|
# Chip Sizes
|
||||||
|
|
||||||
|
A "standard" poker chip is 39mm wide, and 3.5mm thick.
|
||||||
|
|
||||||
|
A "miniature" poker chip is 22m wide, and 3.5mm thick.
|
||||||
|
|
||||||
|
There are boxes you can print that work will with these dimensions.
|
||||||
|
|
||||||
|
You can make yours whatever size you like, though.
|
||||||
|
I won't tell anybody.
|
|
@ -0,0 +1,6 @@
|
||||||
|
#! /bin/sh
|
||||||
|
|
||||||
|
cat parameters.json | jq -r ".parameterSets | keys | .[]" \
|
||||||
|
| while read param; do
|
||||||
|
openscad -o "${param}.stl" -p parameters.json -P "${param}" chip.scad
|
||||||
|
done
|
|
@ -0,0 +1,53 @@
|
||||||
|
// Diameter of the coin (mm)
|
||||||
|
diameter = 22;
|
||||||
|
|
||||||
|
// Height of the coin (mm)
|
||||||
|
height = 2;
|
||||||
|
|
||||||
|
// Engraving depth (mm)
|
||||||
|
depth = 0.5;
|
||||||
|
|
||||||
|
// Number of sides on your coin
|
||||||
|
sides = 6; // [3:360]
|
||||||
|
|
||||||
|
// Text to display
|
||||||
|
TEXT = "100";
|
||||||
|
|
||||||
|
fontScale = (
|
||||||
|
sides == 3 ? 0.50
|
||||||
|
: sides == 4 ? 0.80
|
||||||
|
: sides == 5 ? 0.80
|
||||||
|
: sides == 6 ? 0.90
|
||||||
|
: 1.00
|
||||||
|
);
|
||||||
|
|
||||||
|
// Enough width to fit four digits
|
||||||
|
fontSize = diameter * 0.21 * fontScale;
|
||||||
|
|
||||||
|
// Rotate odd-numbers of sides to maximize width
|
||||||
|
rotation = (sides%2)?90:0;
|
||||||
|
|
||||||
|
module chip() {
|
||||||
|
intersection() {
|
||||||
|
cylinder(h=height, d=diameter, center=true, $fn=sides);
|
||||||
|
union() {
|
||||||
|
difference() {
|
||||||
|
cube([diameter, diameter, height], center=true);
|
||||||
|
difference() {
|
||||||
|
cylinder(h=height, d=diameter*0.8-0.0, center=true, $fn=sides);
|
||||||
|
cylinder(h=height, d=diameter*0.8-2, center=true, $fn=sides);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (i = [0 : 30 : 360]) {
|
||||||
|
rotate(i) cube([diameter*0.8, diameter/8, height*0.7], center=true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
difference() {
|
||||||
|
rotate(rotation) chip();
|
||||||
|
translate([0, 0, height/2-depth])
|
||||||
|
linear_extrude(height=depth+0.1, convexity = 10, twist = 0)
|
||||||
|
text(text=TEXT, font="Droid Sans:style=Bold", size=fontSize, halign="center", valign="center");
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
{
|
||||||
|
"parameterSets": {
|
||||||
|
"1": {"TEXT": "1"},
|
||||||
|
"2": {"TEXT": "2"},
|
||||||
|
"5": {"TEXT": "5"},
|
||||||
|
"10": {"TEXT": "10"},
|
||||||
|
"20": {"TEXT": "20"},
|
||||||
|
"25": {"TEXT": "25"},
|
||||||
|
"50": {"TEXT": "50"},
|
||||||
|
"100": {"TEXT": "100"},
|
||||||
|
"250": {"TEXT": "250"},
|
||||||
|
"500": {"TEXT": "500"},
|
||||||
|
"1000": {"TEXT": "1000"},
|
||||||
|
"2000": {"TEXT": "2000"},
|
||||||
|
"5000": {"TEXT": "5000"}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue