Skip to content

Commit b950cea

Browse files
committed
2 parents b30dea6 + b344267 commit b950cea

File tree

2 files changed

+26
-16
lines changed

2 files changed

+26
-16
lines changed

.github/workflows/openscad-render.yml

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,16 @@ jobs:
6060
6161
# Calculate camera position dynamically based on machine dimensions
6262
# Extract parameters from OpenSCAD file
63-
MACHINE_HEIGHT=$(grep -E "^MACHINE_HEIGHT = " openscad/lifetrac_v25.scad | grep -oE "[0-9]+\.?[0-9]*" || echo "1000")
64-
WHEEL_BASE=$(grep -E "^WHEEL_BASE = " openscad/lifetrac_v25.scad | grep -oE "[0-9]+\.?[0-9]*" || echo "1400")
65-
GROUND_CLEARANCE=$(grep -E "^GROUND_CLEARANCE = " openscad/lifetrac_v25.scad | grep -oE "[0-9]+\.?[0-9]*" || echo "150")
66-
ARM_MAX_ANGLE=$(grep -E "^ARM_MAX_ANGLE = " openscad/lifetrac_v25.scad | grep -oE "[0-9]+\.?[0-9]*" || echo "60")
67-
BUCKET_HEIGHT=$(grep -E "^BUCKET_HEIGHT = " openscad/lifetrac_v25.scad | grep -oE "[0-9]+\.?[0-9]*" || echo "450")
63+
MACHINE_HEIGHT=$(grep -E "^MACHINE_HEIGHT = " openscad/lifetrac_v25.scad | grep -oE "[0-9]+\.?[0-9]*" | head -1)
64+
MACHINE_HEIGHT=${MACHINE_HEIGHT:-1000}
65+
WHEEL_BASE=$(grep -E "^WHEEL_BASE = " openscad/lifetrac_v25.scad | grep -oE "[0-9]+\.?[0-9]*" | head -1)
66+
WHEEL_BASE=${WHEEL_BASE:-1400}
67+
GROUND_CLEARANCE=$(grep -E "^GROUND_CLEARANCE = " openscad/lifetrac_v25.scad | grep -oE "[0-9]+\.?[0-9]*" | head -1)
68+
GROUND_CLEARANCE=${GROUND_CLEARANCE:-150}
69+
ARM_MAX_ANGLE=$(grep -E "^ARM_MAX_ANGLE = " openscad/lifetrac_v25.scad | grep -oE "[0-9]+\.?[0-9]*" | head -1)
70+
ARM_MAX_ANGLE=${ARM_MAX_ANGLE:-60}
71+
BUCKET_HEIGHT=$(grep -E "^BUCKET_HEIGHT = " openscad/lifetrac_v25.scad | grep -oE "[0-9]+\.?[0-9]*" | head -1)
72+
BUCKET_HEIGHT=${BUCKET_HEIGHT:-450}
6873
6974
# Validate all extracted parameters
7075
if [ -z "$MACHINE_HEIGHT" ] || [ -z "$WHEEL_BASE" ] || [ -z "$GROUND_CLEARANCE" ] || [ -z "$ARM_MAX_ANGLE" ] || [ -z "$BUCKET_HEIGHT" ]; then
@@ -179,17 +184,22 @@ jobs:
179184
run: |
180185
cd LifeTrac-v25/mechanical_design
181186
182-
# Render each module's example
183-
for module in modules/*.scad; do
184-
filename=$(basename "$module" .scad)
185-
echo "Rendering $filename examples..."
186-
openscad -o "output/renders/${filename}_examples.png" \
187-
--camera=500,500,500,0,0,0 \
188-
--imgsize=1600,900 \
189-
--projection=p \
190-
--colorscheme=Nature \
191-
"$module"
192-
done
187+
# Only render module examples if modules directory exists and contains .scad files
188+
if [ -d "modules" ] && compgen -G "modules/*.scad" > /dev/null; then
189+
# Render each module's example
190+
for module in modules/*.scad; do
191+
filename=$(basename "$module" .scad)
192+
echo "Rendering $filename examples..."
193+
openscad -o "output/renders/${filename}_examples.png" \
194+
--camera=500,500,500,0,0,0 \
195+
--imgsize=1600,900 \
196+
--projection=p \
197+
--colorscheme=Nature \
198+
"$module"
199+
done
200+
else
201+
echo "No module examples to render (modules directory not found or contains no .scad files)"
202+
fi
193203
194204

195205
- name: Generate summary report
4 Bytes
Loading

0 commit comments

Comments
 (0)