diff --git a/generate.zsh b/generate.zsh new file mode 100755 index 0000000..73ac11a --- /dev/null +++ b/generate.zsh @@ -0,0 +1,29 @@ +#!/bin/zsh + +zparseopts -D -E -tabs:=tabs -vertical=vertical + +tabs=${tabs[2]:-4} +index=0 + +scad_args=( + -D "icon=\"$icon\"" + -D "index=$index" +) + +if [[ $vertical ]]; then + scad_args+=(-D "vertical=87.0" -D "horizontal=61.0") + out_basedir=generated/vertical +else + out_basedir=generated/horizontal +fi + +if [[ ! -d $1 ]]; then + echo "Usage: $0 [--tabs ]" +fi +for icon in $1/*.svg; do + target=$out_basedir/${${icon#*/}:r}.3mf + mkdir -p ${target:h} + echo "Generating card $icon with tab index $index" + colorscad -o $target -i divider.scad -- ${scad_args[@]} + (( index = (index + 1) % tabs )) +done