Skip to content
Snippets Groups Projects
Unverified Commit abe8b8a3 authored by Linus's avatar Linus :thinking: Committed by GitHub
Browse files

Add files via upload

parent f93908a6
No related branches found
No related tags found
No related merge requests found
s = ["ESKISTEFÜNF",
"ZEHNVIERTEL",
"ZWANZIGAVOR",
"NACHJPQHALB",
"VIERYÄMFÜNF",
"ZWEINSIEBEN",
"SECHSLZwÖLF",
"ACHTZEhNEUN",
"DREIELFXUHR",
"GUTENMORGEN"];
$fn=1000;
too_large = "Mw";
umlauts = "ÖÜ";
um_repl = "OU";
color("black") {
Clock2D(11, 11, 200 / 12, s);
};
module Clock2D(x, y, ppl, string, minute_timers=true) {
width = x*ppl;
height = y*ppl;
circle_rad = ppl/6;
draw_lines = false;
line_width = 2;
transl_up = 1;
if (draw_lines) {
translate([ppl, ppl]) {
for (i = [0:y]) {
translate([i*ppl-line_width/2,transl_up]) {
#square([line_width, width]);
}
translate([0, i*ppl + transl_up]) {
#square([width, line_width]);
}
}
}
}
difference() {
square([width+ppl*2, height+ppl*2]);
translate([ppl, ppl]) {
for (line = [0:y-1]) {
if (minute_timers && line == 0) {
for (i = [0:3]) {
translate([ppl*i+circle_rad+(ppl/circle_rad)-ppl*(4-x)/2,
ppl/2+circle_rad/2]) {
circle(circle_rad);
}
}
} else {
for (char = [0:x-1]) {
translate([ppl/2+ppl*char, ppl/4+ppl*line]) {
to_print = string[y-1-line][char];
uml = search(to_print, umlauts);
text_size = ppl*.9;
if (to_print == "w") {
intersection() {
translate([-text_size*.5,0])
square([text_size,text_size*.8]);
text(to_print, size=text_size*1.2, font="Earth Orbiter Condensed",halign="center");
};
} else if (to_print == "M") {
intersection() {
translate([-text_size*.5,0])
square([text_size,text_size*.8]);
translate([0,-text_size*.2])
text(to_print, size=text_size*1.2, font="Earth Orbiter Condensed",halign="center");
};
} else if (to_print == "Ü") {
translate([0, ppl*.65])
for (i=[-1:2:1])
translate([i*.16*ppl,0])
text(".", size=text_size, font="Earth Orbiter Title", halign="center");
text("U", size=text_size, font="Earth Orbiter Title",halign="center");
} else if (to_print == "Ä") {
translate([0, ppl*.65])
for (i=[-1:2:1])
translate([i*.25*ppl,0])
text(".", size=text_size, font="Earth Orbiter Title", halign="center");
text("A", size=text_size, font="Earth Orbiter Title",halign="center");
} else if (to_print == "Ö") {
translate([0, ppl*.35])
for (i=[-1:2:1])
translate([i*ppl*.15,0])
text(".", size=text_size, font="Earth Orbiter Title", halign="center");
text("O", size=text_size, font="Earth Orbiter Title", halign="center");
} else {
text(to_print, size=text_size, font="Earth Orbiter Title",halign="center");
echo(to_print);
}
}
}
}
}
}
}
}
\ No newline at end of file
This diff is collapsed.
module Grid3D(n, ppl, bw, dpth, eink, kabel, eink_w, mult) {
w = n*ppl;
difference() {
for (ix = [0:n-2]) {
translate([0, (ix+1.5)*ppl, 0])
cube([w+bw, bw, dpth]);
}
for (i=[0:1]) {
translate([ppl/2-eink_w/2 + i*ppl*(n-1), 0, dpth-kabel+.001]) {
cube([eink_w, w+bw, kabel]);
}
}
}
translate([-bw*mult, 0])
cube([w+bw*mult*2, bw*mult, dpth]);
translate([-bw*mult, w+ppl/2])
cube([w+bw*mult*2, bw*mult, dpth]);
difference() {
union() {
for (iy = [1:n-1]) {
translate([iy*ppl, ppl*1.5, 0])
cube([bw, w+bw-ppl, dpth]);
}
for (i = [0:4]) {
translate([w / 2 - ppl*2 + ppl*i, ppl/2, 0]) {
cube([bw, ppl, dpth]);
}
translate([w / 2 - ppl*2, ppl/2, 0]) {
cube([ppl*4, bw, dpth]);
}
}
}
for (iy = [1:n]) {
translate([0, iy*ppl-eink_w/2, dpth-eink+.001])
cube([w+bw, eink_w, eink]);
}
}
translate([w, 0])
cube([bw*mult, ppl*(n-1+1.5), dpth]);
translate([-bw*mult, 0])
cube([bw*mult, ppl*(n-1+1.5), dpth]);
}
intersection() {
//translate([200/12 * 11/2, 200/12 * 11/2, 0])
//cube([200/12 * 11/2 + 20 - 0.001, 200/12 * 11/2 + 20 - 0.001, 20]);
Grid3D(11, 200 / 12, 1, 20, .3, .5, 10, 5);
}
/*
// #####################
s = ["ESKISTEFÜNF",
"ZEHNVIERTEL",
"ZWANZIGAVOR",
"NACHJPQHALB",
"VIERYÄMFÜNF",
"ZWEINSIEBEN",
"SECHSLZwÖLF",
"ACHTZEhNEUN",
"DREIELFXUHR",
"GUTENMORGEN"];
$fn=1000;
too_large = "Mw";
umlauts = "ÖÜ";
um_repl = "OU";
color("black") {
translate([-200 / 12, -120 / 12]) {
Clock2D(11, 11, 200 / 12, s);
}
};
module Clock2D(x, y, ppl, string, minute_timers=true) {
width = x*ppl;
height = y*ppl;
circle_rad = ppl/6;
draw_lines = false;
line_width = 2;
transl_up = 1;
if (draw_lines) {
translate([ppl, ppl]) {
for (i = [0:y]) {
translate([i*ppl-line_width/2,transl_up]) {
#square([line_width, width]);
}
translate([0, i*ppl + transl_up]) {
#square([width, line_width]);
}
}
}
}
difference() {
square([width+ppl*2, height+ppl*2]);
translate([ppl, ppl]) {
for (line = [0:y-1]) {
if (minute_timers && line == 0) {
for (i = [0:3]) {
translate([ppl*i+circle_rad+(ppl/circle_rad)-ppl*(4-x)/2,
ppl/2+circle_rad/2]) {
circle(circle_rad);
}
}
} else {
for (char = [0:x-1]) {
translate([ppl/2+ppl*char, ppl/4+ppl*line]) {
to_print = string[y-1-line][char];
uml = search(to_print, umlauts);
text_size = ppl*.9;
if (to_print == "w") {
intersection() {
translate([-text_size*.5,0])
square([text_size,text_size*.8]);
text(to_print, size=text_size*1.2, font="Earth Orbiter Condensed",halign="center");
};
} else if (to_print == "M") {
intersection() {
translate([-text_size*.5,0])
square([text_size,text_size*.8]);
translate([0,-text_size*.2])
text(to_print, size=text_size*1.2, font="Earth Orbiter Condensed",halign="center");
};
} else if (to_print == "Ü") {
translate([0, ppl*.65])
for (i=[-1:2:1])
translate([i*.16*ppl,0])
text(".", size=text_size, font="Earth Orbiter Title", halign="center");
text("U", size=text_size, font="Earth Orbiter Title",halign="center");
} else if (to_print == "Ä") {
translate([0, ppl*.65])
for (i=[-1:2:1])
translate([i*.25*ppl,0])
text(".", size=text_size, font="Earth Orbiter Title", halign="center");
text("A", size=text_size, font="Earth Orbiter Title",halign="center");
} else if (to_print == "Ö") {
translate([0, ppl*.35])
for (i=[-1:2:1])
translate([i*ppl*.15,0])
text(".", size=text_size, font="Earth Orbiter Title", halign="center");
text("O", size=text_size, font="Earth Orbiter Title", halign="center");
} else {
text(to_print, size=text_size, font="Earth Orbiter Title",halign="center");
echo(to_print);
}
}
}
}
}
}
}
}
*/
grid3d.stl 0 → 100644
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment