Initial commit
This commit is contained in:
commit
a437c068c8
64 changed files with 561683 additions and 0 deletions
157
scripts/convert_test.sh
Executable file
157
scripts/convert_test.sh
Executable file
|
|
@ -0,0 +1,157 @@
|
|||
#!/bin/bash
|
||||
|
||||
#apt install blender python3-pip
|
||||
#pip install numpy
|
||||
#usage: ./convert.sh -c COMPRESS -cl COMPRESSION_LEVEL -i INPUT -o OUTPUT -b BINARY -f FORCE_OVERRIDE
|
||||
|
||||
BLENDER_PATH=''
|
||||
#BLENDER_PATH='/var/lib/snapd/snap/blender/current/'
|
||||
|
||||
#Defaults:
|
||||
COMPRESSION=false
|
||||
COMPRESSION_LEVEL=3
|
||||
GLTF="gltf"
|
||||
FORCE="false"
|
||||
isOutput=false
|
||||
IS_ARCHIVE=false
|
||||
|
||||
while getopts ":c:l:o:i:b:f:" flag; do
|
||||
case "${flag}" in
|
||||
c) COMPRESSION=${OPTARG};;
|
||||
l) COMPRESSION_LEVEL=${OPTARG};;
|
||||
i) INPUT="${OPTARG}";;
|
||||
o) OUTPUT="${OPTARG}";;
|
||||
f) FORCE="${OPTARG}";;
|
||||
a) IS_ARCHIVE="${OPTARG}";;
|
||||
b) if [[ "${OPTARG}" = "true" ]]; then GLTF="glb"; else GLTF="gltf"; fi;;
|
||||
esac
|
||||
done
|
||||
|
||||
render_preview () {
|
||||
if [[ ! -d "$INPATH/views" ]]; then
|
||||
mkdir "$INPATH/views/"
|
||||
fi
|
||||
if [[ "$EXT" = "glb" ]]; then
|
||||
xvfb-run --auto-servernum --server-args="-screen 0 512x512x16" sudo ${BLENDER_PATH}blender -b -P /var/www/html/3drepository/modules/dfg_3dviewer/scripts/render.py -- "$INPATH/$NAME.glb" "glb" $1 "$INPATH/views/" $IS_ARCHIVE -E BLENDER_EEVEE -f 1 > /dev/null 2>&1
|
||||
else
|
||||
xvfb-run --auto-servernum --server-args="-screen 0 512x512x16" sudo ${BLENDER_PATH}blender -b -P /var/www/html/3drepository/modules/dfg_3dviewer/scripts/render.py -- "$INPATH/gltf/$NAME.glb" "glb" $1 "$INPATH/views/" $IS_ARCHIVE -E BLENDER_EEVEE -f 1 > /dev/null 2>&1
|
||||
fi;
|
||||
}
|
||||
|
||||
handle_file () {
|
||||
INPATH=$1
|
||||
FILENAME=$2
|
||||
NAME=$3
|
||||
EXT=$4
|
||||
OUTPUT=$5
|
||||
OUTPUTPATH=$6
|
||||
|
||||
if [[ "$isOutput" = false ]]; then
|
||||
${BLENDER_PATH}blender -b -P /var/www/html/3drepository/modules/dfg_3dviewer/scripts/2gltf2/2gltf2.py -- "$INPATH/$FILENAME" "$GLTF" "$COMPRESSION" "$COMPRESSION_LEVEL" > /dev/null 2>&1
|
||||
else
|
||||
${BLENDER_PATH}blender -b -P /var/www/html/3drepository/modules/dfg_3dviewer/scripts/2gltf2/2gltf2.py -- "$INPATH/$FILENAME" "$GLTF" "$COMPRESSION" "$COMPRESSION_LEVEL" "$OUTPUT$OUTPUTPATH" > /dev/null 2>&1
|
||||
fi
|
||||
|
||||
#if [[ -f "$INPATH/gltf/$NAME.glb" ]]; then
|
||||
# render_preview $EXT
|
||||
#else
|
||||
# render_preview "$INPATH/$NAME.$EXT"
|
||||
#fi;
|
||||
}
|
||||
|
||||
handle_unsupported_file () {
|
||||
INPATH=$1
|
||||
FILENAME=$2
|
||||
NAME=$3
|
||||
EXT=$4
|
||||
OUTPUT=$5
|
||||
OUTPUTPATH=$6
|
||||
|
||||
touch $INPATH/gltf/$NAME.glb.off
|
||||
}
|
||||
|
||||
handle_ifc_file () {
|
||||
INPATH=$1
|
||||
FILENAME=$2
|
||||
NAME=$3
|
||||
EXT=$4
|
||||
OUTPUT=$5
|
||||
OUTPUTPATH=$6
|
||||
|
||||
if [[ ! -d "$INPATH"/gltf/ ]]; then
|
||||
mkdir "$INPATH"/gltf/
|
||||
fi
|
||||
/var/www/html/3drepository/modules/dfg_3dviewer/scripts/IfcConvert "$INPATH/$FILENAME" "$INPATH/gltf/$NAME.glb" > /dev/null 2>&1
|
||||
render_preview $EXT
|
||||
}
|
||||
|
||||
if [[ ! -z "$INPUT" && -f $INPUT ]]; then
|
||||
FILENAME=${INPUT##*/}
|
||||
NAME="${FILENAME%.*}"
|
||||
EXT=${FILENAME//*.}
|
||||
INPATH=${INPUT%/*}
|
||||
|
||||
if [[ $FILENAME = $INPATH ]]; then
|
||||
INPATH="."
|
||||
fi
|
||||
if [[ -z "$OUTPUT" ]]; then
|
||||
OUTPUT=`echo $INPATH/\gltf`
|
||||
else
|
||||
echo $OUTPUT
|
||||
OUTFILENAME=${OUTPUT%/*} # trim everything past the last /
|
||||
OUTFILENAME=${OUTFILENAME##*/}
|
||||
OUTFILENAME=${OUTFILENAME/"_ZIP"/""}
|
||||
OUTFILENAME=${OUTFILENAME/"_RAR"/""}
|
||||
OUTFILENAME=${OUTFILENAME/"_TAR"/""}
|
||||
OUTFILENAME=${OUTFILENAME/"_XZ"/""}
|
||||
OUTFILENAME=${OUTFILENAME/"_GZ"/""}
|
||||
OUTPUTPATH=`echo $OUTFILENAME.$GLTF`
|
||||
OUTPUT=`echo ${OUTPUT}gltf/`
|
||||
isOutput=true
|
||||
fi
|
||||
if [[ "$EXT" != "$filename" ]]; then
|
||||
EXT="${EXT,,}"
|
||||
if [[ ! -d "$OUTPUT" ]]; then
|
||||
mkdir "$OUTPUT"
|
||||
fi
|
||||
if [[ ! -f $OUTPUT/$NAME.$GLTF || $FORCE ]]; then
|
||||
start=`date +%s`
|
||||
case $EXT in
|
||||
abc|blend|dae|fbx|obj|ply|stl|wrl|x3d)
|
||||
handle_file "$INPATH" "$FILENAME" "$NAME" $EXT "$OUTPUT" "$OUTPUTPATH"
|
||||
end=`date +%s`
|
||||
echo "File $FILENAME compressed successfully. Runtime: $((end-start))s."
|
||||
exit 0;
|
||||
;;
|
||||
ifc)
|
||||
handle_ifc_file "$INPATH" "$FILENAME" "$NAME" $EXT "$OUTPUT" "$OUTPUTPATH"
|
||||
end=`date +%s`
|
||||
echo "File $FILENAME compressed successfully. Runtime: $((end-start))s."
|
||||
exit 0;
|
||||
;;
|
||||
glb)
|
||||
render_preview $EXT
|
||||
end=`date +%s`
|
||||
echo "Given file was already compressed."
|
||||
exit 0;
|
||||
;;
|
||||
|
||||
*)
|
||||
handle_unsupported_file "$INPATH" "$FILENAME" "$NAME" $EXT "$OUTPUT" "$OUTPUTPATH"
|
||||
echo "Flie extension $EXT is not supported for conversion yet."
|
||||
exit 1;
|
||||
;;
|
||||
esac
|
||||
else
|
||||
echo "Compressed file $OUTPUT/$NAME.$GLTF already exists."
|
||||
exit 1;
|
||||
fi
|
||||
else
|
||||
echo "No extension found on $FILENAME";
|
||||
exit 2;
|
||||
fi
|
||||
else
|
||||
echo "No file $INPUT or 0 arguments given."
|
||||
echo "Usage: ./convert.sh -c true/false -cl [0-6] -i INPUT -o OUTPUT -b true/false -f true/false"
|
||||
echo "-c=compress -cl=compression level -i=input path -o=output path -b=binary -f=force override existing file"
|
||||
fi
|
||||
Loading…
Add table
Add a link
Reference in a new issue