From 4f4ca16c2169a8a3ed19407a940547931a807956 Mon Sep 17 00:00:00 2001 From: Justin Lin Date: Fri, 1 Feb 2019 16:05:16 +0800 Subject: [PATCH] add multi_line_text --- src/multi_line_text.scad | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/multi_line_text.scad diff --git a/src/multi_line_text.scad b/src/multi_line_text.scad new file mode 100644 index 00000000..5a1ea4a7 --- /dev/null +++ b/src/multi_line_text.scad @@ -0,0 +1,22 @@ +/** +* multi_line_text.scad +* +* Creates multi-line text from a list of strings. +* +* @copyright Justin Lin, 2017 +* @license https://opensource.org/licenses/lgpl-3.0.html +* +* @see https://openhome.cc/eGossip/OpenSCAD/lib-multi_line_text.html +* +**/ +module multi_line_text(lines, size = 10, font = "Arial", halign = "left", valign = "baseline", line_spacing = 15, direction = "ltr", language = "en", script = "latin"){ + to = len(lines) - 1; + inc = line_spacing; + offset_y = inc * to / 2; + union() { + for (i = [0 : to]) { + translate([0 , -i * inc + offset_y, 0]) + text(lines[i], size, font = font, valign = valign, halign = halign, direction = direction, language = language, script = script); + } + } +} \ No newline at end of file