intval2/scripts/scad.sh

36 lines
717 B
Bash
Raw Normal View History

2024-05-29 01:13:13 +00:00
SCRIPT_NAME="intval2"
SCAD="scad/${SCRIPT_NAME}.scad"
listParts () {
cat "${1}" | grep 'PART ==' | grep -v 'debug' | awk -F'"' '{print $2}'
}
listLaser () {
cat "${1}" | grep 'LASER ==' | grep -v 'debug' | awk -F'"' '{print $2}'
}
2024-05-29 01:13:13 +00:00
renderPart () {
part="${1}"
stl="stl/${SCRIPT_NAME}_${part}.stl"
openscad --export-format asciistl -o "${stl}" -D "PART=\"${part}\";" "${SCAD}"
}
renderLaser() {
laser="${1}"
dxf="dxf/${SCRIPT_NAME}_${laser}.dxf"
openscad -o "${dxf}" "LASER=\"${laser}\";" "${SCAD}"
2024-05-29 01:13:13 +00:00
}
allParts () {
PARTS=($(listParts "${SCAD}"))
for part in "${PARTS[@]}"; do
renderPart "${part}"
done
LASERs=($(listLaser "${SCAD}"))
for laser in "${LASERS[@]}"; do
renderLaser
2024-05-29 01:13:13 +00:00
done
}
allParts