openSCAD: neues Projekt
Verfasst: 08 Feb 2021 15:15
Ich wollte mal, um zu verstehen, einen Würfel mit Text umsetzen:
------------------------------------------------------------------------------
// text_on_cube.scad - Example for text() usage in OpenSCAD
echo(version=version());
font = "Liberation Sans"; //["Liberation Sans", "Liberation Sans:style=Bold", "Liberation Sans:style=Italic", "Liberation Mono", "Liberation Serif"]
cube_size = 60;
letter_size = 50;
letter_height = 5;
o = cube_size / 2 - letter_height / 2;
module letter(l) {
// Use linear_extrude() to make the letters 3D objects as they
// are only 2D shapes when only using text()
linear_extrude(height = letter_height) {
text(l, size = letter_size, font = font, halign = "center", valign = "center", $fn = 16);
}
}
difference() {
union() {
color("gray") cube(cube_size, center = true);
translate([0, -o, 0]) rotate([90, 0, 0]) letter("D");
translate([o, 0, 0]) rotate([90, 0, 90]) letter("I");
translate([0, o, 0]) rotate([90, 0, 180]) letter("A");
translate([-o, 0, 0]) rotate([90, 0, -90]) letter("N");
}
// Put some symbols on top and bottom using symbols from the
// Unicode symbols table.
// (see https://en.wikipedia.org/wiki/Miscellaneous_Symbols)
//
// Note that depending on the font used, not all the symbols
// are actually available.
translate([0, 0, o]) letter("\u263A");
translate([0, 0, -o - letter_height]) letter("A");
}
Das letzte A ist im Boden versenkt, passt.
Nun möchte ich, das alle übrigen 4 Buchstaben ebenfalls versenkt, also vertieft gedruckt werden wie der Smilie on top.
Nur wenn ich beim D z.B. die Achse Y (-o = 60) verändere, verschwindet der Buchstabe.
Was mache oder denke ich falsch? 60 von was oder 30 von der Mitte aus?
------------------------------------------------------------------------------
// text_on_cube.scad - Example for text() usage in OpenSCAD
echo(version=version());
font = "Liberation Sans"; //["Liberation Sans", "Liberation Sans:style=Bold", "Liberation Sans:style=Italic", "Liberation Mono", "Liberation Serif"]
cube_size = 60;
letter_size = 50;
letter_height = 5;
o = cube_size / 2 - letter_height / 2;
module letter(l) {
// Use linear_extrude() to make the letters 3D objects as they
// are only 2D shapes when only using text()
linear_extrude(height = letter_height) {
text(l, size = letter_size, font = font, halign = "center", valign = "center", $fn = 16);
}
}
difference() {
union() {
color("gray") cube(cube_size, center = true);
translate([0, -o, 0]) rotate([90, 0, 0]) letter("D");
translate([o, 0, 0]) rotate([90, 0, 90]) letter("I");
translate([0, o, 0]) rotate([90, 0, 180]) letter("A");
translate([-o, 0, 0]) rotate([90, 0, -90]) letter("N");
}
// Put some symbols on top and bottom using symbols from the
// Unicode symbols table.
// (see https://en.wikipedia.org/wiki/Miscellaneous_Symbols)
//
// Note that depending on the font used, not all the symbols
// are actually available.
translate([0, 0, o]) letter("\u263A");
translate([0, 0, -o - letter_height]) letter("A");
}
Das letzte A ist im Boden versenkt, passt.
Nun möchte ich, das alle übrigen 4 Buchstaben ebenfalls versenkt, also vertieft gedruckt werden wie der Smilie on top.
Nur wenn ich beim D z.B. die Achse Y (-o = 60) verändere, verschwindet der Buchstabe.
Was mache oder denke ich falsch? 60 von was oder 30 von der Mitte aus?