Home
Member Only

Member Only

한양대관리자 2011.10.10 Meshlab을 이용해서 point cloud data에서 boundary element model 생성하기
조회수 1,004

페이지 정보

본문

1. Meshlab을 다운로드 받는다. 다운로드 사이트는 meshlab.sourceforge.net


2. point 좌표 x,y,z가 들어 있는 ASCII 파일의 확장자를 *.asc로 바꾼다 (꼭 필요한 것은 아니나 찾기 좋음)


3. Filters -> Remeshing, Simplification, Reconstruction -> Surface Reconstruction: Ball Pivoting을 선택하면 창이 뜨는데... 4개의 칸들 중에서 perc on 쪽 값을 조금씩 올려 가면서 생성되는 mesh를 확인한다(대략 0.5 정도 단위로 증가). 중복 mesh를 방지하기 위해서 Delete initial set of faces를 check한다. 생성되는 mesh는 위의 아이콘들 중에서 mesh처럼 된 것 선택하면 (Flat Lines) 볼 수 있음. 잘 안잘리는 경우에는 Clustering radius나 Angle threshold 값을 조금씩 변형하면 잘 잘리기도 함. 일단 구멍이 없게 표면 mesh가 다 만들어져 있는지를 잘 돌려 가면서 확인한다.


4. Filters -> Smoothing, Fairing, and Deformation -> HC Laplacian Smooth를 선택한다. Apply를 한두번 눌러서 smoothing을 해 준다.


5. Filters -> Cleaning and Repairing 으로 가서 Remove Duplicate Faces, Remove Duplicated Vertex, Remove Isolated folded face by edge flip, Remove Zero Area Faces 를 차례로 수행해 준다. 순서는 상관은 없는 듯.... 해보지는 않았지만


6. File -> Save As로 가서 ply 포멧으로 저장한다. 창이 뜨는데 디폴트로 선택되어 있는 Quality 나 Binary encoding 체크되어 있는 것을 다 uncheck한다.


ply 포멧은 ASCII이기 때문에 아주 쉽게 읽어서 처리할 수 있음. 다만 element 번호가 0번부터 시작한다는 것만 주의하면 됨.


이제 tecplot 같은데서 부른 다음에 data -> extract -> FE boundary를 해서 boundary를 추출하는데 surface mesh가 제대로 만들어져 있다면 closed boundary이기 때문에 추출이 안된다는 에러가 발생해야 함. 바운더리가 보인다면 불완전한 요소 분할이므로 다시 meshlab에서 분할을 하던가... 한두개 element가 구멍이 뚫려 있다면 손으로 그 부분 mesh를 잘라서 데이터 파일에 추가하는 방법이 있음.


오늘 8-9개월 만에 다시 써 봤는데 기억이 하나도 안나서 다시 헤맸기 때문에 여기 적는다.


다들 연습 한번 해 보도록~~ point cloud data하나 붙인다.


수고~~

목록으로