safety, glbs now have no sanitizing of file names; png & webP conversions work
This commit is contained in:
parent
358dd3eac0
commit
8181c9b2d4
11 changed files with 267 additions and 878 deletions
80
exercises/create_glbs/README.md
Normal file
80
exercises/create_glbs/README.md
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
# Goal
|
||||
1) Create a single glb (binary glTF [Graphics Library Transmission Format])from an STL file. This is for testing or proof-of-concept.
|
||||
2) Create a directory tree of conversions. This would be for production.
|
||||
|
||||
# Introduction
|
||||
This procedure will use Blender to create glbs from the STLS in the source tree.
|
||||
# Prerequisites
|
||||
Source area for the Voron GitHub repositories containing STLs
|
||||
ROOT directory to serve as a staging area for placing the glbs (and the HTML manifest and eventually pngs)
|
||||
Blender (v. 5.0+)
|
||||
|
||||
# Procedure
|
||||
## Step 1
|
||||
Decide on a staging directory, example /home/jlpoole/work/Voron/test1, as this is where all the glb output and their directory paths will be placed.
|
||||
|
||||
Example:
|
||||
|
||||
mkdir /home/jlpoole/work/Voron/test1
|
||||
|
||||
## Step 3
|
||||
cd to [THIS PROJECT]/ root directory.
|
||||
|
||||
Example, I cloned this project while under my Voron directory, so the directory "voronstl" was created by ```git clone https://salemdata.net/repo/jlpoole/voronstl/src/branch/init_dev``` :
|
||||
|
||||
cd /home/jlpoole/work/Voron/voronstl
|
||||
|
||||
### Step 3A - single glb
|
||||
Execute:
|
||||
blender-bin-5.0.0 --background --python create_glb.py -- \
|
||||
[PATH TO A SINGLE STL FILE] \
|
||||
[OUTPUT PATH & FILE]
|
||||
Example:
|
||||
|
||||
jlpoole@jp ~/work/Voron/voronstl $ date; time blender-bin-5.0.0 --background --python create_glb.py -- /usr/local/src/Voron-Stealthburner/STLs/Stealthburner/'[o]_stealthburner_LED_carrier.stl' /tmp/out.glb
|
||||
Thu Mar 5 09:21:59 PST 2026
|
||||
Blender 5.0.0 (hash a37564c4df7a built 2025-11-18 10:44:21)
|
||||
Timer 'STL Import' took 25.77 ms
|
||||
INFO Draco mesh compression is available, use library at /opt/blender-bin-5.0.0/5.0/scripts/addons_core/io_scene_gltf2/libextern_draco.so
|
||||
09:22:00 | INFO: Starting glTF 2.0 export
|
||||
09:22:00 | INFO: Extracting primitive: [o]_stealthburner_LED_carrier
|
||||
09:22:00 | INFO: Primitives created: 1
|
||||
09:22:00 | INFO: Finished glTF 2.0 export in 0.008149147033691406 s
|
||||
|
||||
Wrote: /tmp/out.glb
|
||||
|
||||
Blender quit
|
||||
|
||||
real 0m0.938s
|
||||
user 0m0.823s
|
||||
sys 0m0.206s
|
||||
jlpoole@jp ~/work/Voron/voronstl $ ls -la /tmp/out.glb
|
||||
-rw-r--r-- 1 jlpoole jlpoole 154128 Mar 5 09:22 /tmp/out.glb
|
||||
jlpoole@jp ~/work/Voron/voronstl $
|
||||
|
||||
|
||||
### Step 3B - tree of glbs
|
||||
|
||||
Use Perl script: extract_first_path.pl v. 11
|
||||
|
||||
find /usr/local/src/Voron-Stealthburner/STLs -name '*.stl' -print0 |
|
||||
while IFS= read -r -d '' f; do
|
||||
blender-bin-5.0.0 --background --python create_glb.py -- "$f"
|
||||
done
|
||||
|
||||
find /home/jlpoole/work/Voron/Klicky-Probe -name '*.stl' -print0 |
|
||||
while IFS= read -r -d '' f; do
|
||||
echo "$f"
|
||||
#blender-bin-5.0.0 --background --python create_glb.py -- "$f"
|
||||
done
|
||||
|
||||
Caution: make sure you have the directory only relevant to your build. For example Klicky-Probe has 186 STLs in its tree, but for the Voron Trident, we only are interested in 14 of the project's files.
|
||||
|
||||
jlpoole@jp ~/work/Voron/test2 $ find /home/jlpoole/work/Voron/Klicky-Probe -name '*.stl' -print0 | while IFS= read -r -d '' f; do echo "$f"
|
||||
done |wc -l
|
||||
186
|
||||
jlpoole@jp ~/work/Voron/test2 $
|
||||
But,
|
||||
jlpoole@jp ~/work/Voron/renderlab $ cat /home/jlpoole/workstation/perl/Voron/manifest.txt | grep Klicky |wc -l
|
||||
14
|
||||
jlpoole@jp ~/work/Voron/renderlab $
|
||||
Loading…
Add table
Add a link
Reference in a new issue