summarylogtreecommitdiffstats
path: root/stl-thumbnailer.sh
diff options
context:
space:
mode:
Diffstat (limited to 'stl-thumbnailer.sh')
-rw-r--r--stl-thumbnailer.sh20
1 files changed, 20 insertions, 0 deletions
diff --git a/stl-thumbnailer.sh b/stl-thumbnailer.sh
new file mode 100644
index 000000000000..73389794ca53
--- /dev/null
+++ b/stl-thumbnailer.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+if [[ $# -lt 3 ]]; then
+ echo "$0: input_file_name output_file_name size"
+ exit 255
+fi
+
+INPUT_FILE=$1
+OUTPUT_FILE=$2
+SIZE=$3
+
+TEMP="$(mktemp --directory --tmpdir tumbler-stl-XXXXXXX)"
+cp "$INPUT_FILE" "$TEMP/source.stl"
+
+echo "import(\"source.stl\", convexity=10);" > "$TEMP/thumbnail.scad"
+openscad --imgsize "500,500" -o "$TEMP/thumbnail.png" "$TEMP/thumbnail.scad" 2>/dev/null
+
+convert -thumbnail "$SIZE" "$TEMP/thumbnail.png" "$OUTPUT_FILE" 1>/dev/null 2>&1
+
+rm -rf $TEMP