aboutsummaryrefslogtreecommitdiff
path: root/ls47-arrows.scad
diff options
context:
space:
mode:
Diffstat (limited to 'ls47-arrows.scad')
-rw-r--r--ls47-arrows.scad91
1 files changed, 0 insertions, 91 deletions
diff --git a/ls47-arrows.scad b/ls47-arrows.scad
deleted file mode 100644
index c77ad78..0000000
--- a/ls47-arrows.scad
+++ /dev/null
@@ -1,91 +0,0 @@
-
-// No license, but send me a hello if you use this for some good purpose.
-// -- Mirek Kratochvil <exa.exa@gmail.com>
-
-font = "FiraMono:style=Bold";
-
-//inch-sized tiles look imperial.
-tilesize=25.4;
-//you might like them a bit larger if you want to use this outdoors
-
-//distance between tiles
-off=tilesize*1.1;
-tileheight=tilesize/10;
-fontheight=tileheight*0.5;
-corner=tileheight*2;
-
-module arrow(n) {
- if (n>=1)
- for(i=[0:n-1]) translate([i-(n-1)/2,0,0])
- polygon([[0.45,0],[0,0.7],[-0.45,0]]);
-}
-
-//this produces one tile
-module tilec(letter, x, y, c) {
- xx = ((10-x)%7)-3;
- yy = ((y+3)%7)-3;
- dx = sign(xx);
- dy = sign(yy);
- translate([x*off,(6-y)*off,0]) {
- difference() {
- color(c) union() {
- cube([tilesize,tilesize-corner,tileheight]);
- translate([corner, tilesize-corner,0])
- cube([tilesize-2*corner, corner, tileheight]);
- translate([corner, tilesize-corner, 0])
- cylinder(tileheight, corner, corner);
- translate([tilesize-corner, tilesize-corner, 0])
- cylinder(tileheight, corner, corner);
- };
- color("white") {
- translate([tilesize*(0.5-dx*0.1),tilesize*(0.3-dy*0.1),tileheight*.5])
- linear_extrude (height=tileheight)
- text(letter, font=font, size=tilesize*.48,
- halign="center", valign="baseline");
- }
- color("white")
- translate([tilesize*(0.5+dx*0.3), tilesize*0.5, tileheight*.5])
- scale(4*[dx,1,1])
- rotate([0,0,-90])
- linear_extrude(height=tileheight/4)
- arrow(abs(xx));
- color("white")
- translate([tilesize*0.5, tilesize*(0.5+dy*0.3), tileheight*.5])
- scale(4*[1,dy,1])
- linear_extrude(height=tileheight/4)
- arrow(abs(yy));
- }
- }
-}
-
-//tiles
-module tile(letter,x,y) {
- tilec(letter,x,y,"darkgray");
-}
-
-module tiles(letters) {
- for(i=[0,1,2,3,4,5,6]) for (j=[0,1,2,3,4,5,6]) {
- tile(letters[i+7*j], i, j);
- }
-}
-
-tiles(
- ["_", "A", "B", "C", "D", "E", "F",
- "G", "H", "I", "J", "K", "L", "M",
- "N", "O", "P", "Q", "R", "S", "T",
- "U", "V", "W", "X", "Y", "Z", ".",
- ",", ":", "?", "!", "'", "(", ")",
- "0", "1", "2", "3", "4", "5", "6",
- "7", "8", "9", "+", "-", "*", "/"]
-);
-
-//the token
-translate([-off/2,off/2,0]) {
- color("red") difference() {
- cylinder(h=tileheight, d=tilesize);
- translate([0,0,-.1])
- cylinder(h=tileheight*1.2, d=tilesize-2*tileheight);
- }
-}
-
-