106 lines
2.2 KiB
Bash
Executable File
106 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
OPENSCAD=openscad
|
|
PRUSASLICER="flatpak run com.prusa3d.PrusaSlicer"
|
|
|
|
function slice(){
|
|
part=$1
|
|
size=$2
|
|
count=$3
|
|
fileName="${part}/${size}/${count}-{print_time}.gcode"
|
|
mkdir -p "${part}/${size}"
|
|
${PRUSASLICER} \
|
|
--slice \
|
|
--load \"bakje.ini\" \
|
|
--duplicate ${count} \
|
|
--output "${fileName}" \
|
|
stl/${part}-${size}.stl || exit 1
|
|
sleep 0.5
|
|
}
|
|
|
|
function renderBakjes(){
|
|
for part in bakje ; # grid ;
|
|
do
|
|
for h in {2..10}
|
|
do
|
|
for x in {1..4}
|
|
do
|
|
for y in {1..4}
|
|
do
|
|
for mode in {0..1}
|
|
do
|
|
size=${x}x${y}x${h}
|
|
if [[ "$mode" = "0" ]] then
|
|
size="$size-default"
|
|
elif [[ "$mode" = "1" ]] then
|
|
size="$size-deep"
|
|
elif [[ "$mode" = "2" ]] then
|
|
size="$size-full"
|
|
fi
|
|
echo "$0: render $part ${size}"
|
|
${OPENSCAD} -o stl/"${part}-${size}.stl" --cache=file \
|
|
-D "RENDER_GF_BASE=true" \
|
|
-D WIDTH=${x} \
|
|
-D DEPTH=${y} \
|
|
-D HIEGHT=${h} \
|
|
-D MODE=${mode} \
|
|
"gridfinity.scad" || exit 1
|
|
|
|
max=$(echo -e "$x\n$y" | sort --numeric-sort --reverse | head --lines 1)
|
|
min=$(echo -e "$x\n$y" | sort --numeric-sort | head --lines 1)
|
|
|
|
if [ "$max" == "$min" ]
|
|
then
|
|
if [ "${x}" == "1" ]
|
|
then
|
|
dubs=(1 2 4 6 9 12 16)
|
|
elif [ "${x}" == "2" ]
|
|
then
|
|
dubs=(1 2 4)
|
|
else
|
|
dubs=(1)
|
|
fi
|
|
elif [ "${min}" == "1" ]
|
|
then
|
|
if [ "${max}" == "2" ]
|
|
then
|
|
dubs=(1 2 4 6 8)
|
|
elif [ "${max}" == "3" ]
|
|
then
|
|
dubs=(1 2 3 4)
|
|
elif [ "${max}" == "4" ]
|
|
then
|
|
dubs=(1 2 4)
|
|
fi
|
|
elif [ "${min}" == "2" ]
|
|
then
|
|
dubs=(1 2)
|
|
else
|
|
dubs=(1)
|
|
fi
|
|
|
|
for dub in ${dubs[*]}
|
|
do
|
|
echo "$0: slice $dub dublicates of $part "$size""
|
|
slice ${part} "$size" ${dub}
|
|
done
|
|
done
|
|
done
|
|
done
|
|
done
|
|
done
|
|
|
|
echo "$0: render bakje sewing_spools"
|
|
${OPENSCAD} -o "stl/bakje-gf_sewing_spools-2x2.stl" \
|
|
"gf_sewing_spools.scad" || exit 1
|
|
slice "bakje" "gf_sewing_spools-2x2" 1
|
|
slice "bakje" "gf_sewing_spools-2x2" 2
|
|
slice "bakje" "gf_sewing_spools-2x2" 4
|
|
}
|
|
|
|
mkdir -p stl bakje grid koffer
|
|
# rm stl/*
|
|
# rm -r bakje/* grid/*
|
|
|
|
renderBakjes
|