본문 바로가기

Enginius

Mesh format convert to stl

메쉬의 포맷을 바꾸는 것은 아주 중요하다. 제일 기본이 되는 것은 언제나 stl (stereolithography)이고, 나도 이걸 좋아한다. DAE는 쓸때없는 cover랑 scene이 들어가있어서 parsing이 잘 안된다. OBJ도 마찬가지다.

온라인에는 수많은 컨버터가 있는데 오프라인으로 쓸 수 있는걸 찾다보니까
http://openctm.sourceforge.net/
요게 나온다. 소스만 있다.

소스를 받는다. OS에 맞는 Makefile.os의 이름을 Makefile로 바꾸고 make를 한다. 그러면 된다. 아주 간단하다. 대신에 이를 위해서 brew를 죄다 다시 컴파일 하느라 엄청난 시간이 걸렸다. 모 원래 그렇단다.

받고 나면 아주 간단하다.
ctmconv A.obj A.stl
혹은
ctmconv A.DAE A.stl
을 하면 알아서 컨버팅이 된다. 그것도 엄청 빨리.

그럼 이제 쉘스크립트를 만들자.
vim batch_convert.sh
chmod +x batch_convert.sh

g g " * y g: 이건 vim 전체 내용을 copy해준다.
_________________________________________
#!/bin/bash
echo "Batch conversion to an stl format."

for fullpath in ./*.OBJ
do
filename="${fullpath##*/}"
base="${filename%.[^.]*}"
echo $base
ctmconv $base.obj stl/$base.stl
done

for fullpath in ./*.obj
do
filename="${fullpath##*/}"
base="${filename%.[^.]*}"
echo $base
ctmconv $base.obj stl/$base.stl
done

for fullpath in ./*.DAE
do
filename="${fullpath##*/}"
base="${filename%.[^.]*}"
echo $base
ctmconv $base.DAE stl/$base.stl
done

for fullpath in ./*.dae
do
filename="${fullpath##*/}"
base="${filename%.[^.]*}"
echo $base
ctmconv $base.dae stl/$base.stl
done

'Enginius' 카테고리의 다른 글

GIT hard pull  (0) 2020.03.06