CAD vs Mesh + Brep
Study
서론
매번 헷갈리는 내용인데... 사실 헷갈린다는 것 자체가 잘 모른다는 뜻이여서 ㅎ.ㅎ... 부끄럽지만 이제라도 정리해봅니다.
Pixyz를 사용하면서 어떤 기능은 BRep 단에서어느 기능은 CAD 데이터 자체를 수정하고 기계과를 전공하면서 Mesh도 보고 CAD도 보고 유니티도 보고 하니까 해당 개념 자체가 정립이 잘 안되는 것 같습니다. (크게 보니까 더 헷갈린다는 뜻)
Mesh
메쉬란 삼각형으로 구성된 3D 모델입니다. Mesh 데이터는 그 형상을 삼각형 및 다른 도형 (Ansys 및 3D Printing에서는 내부 격자 구조에 따른 다른 도형도 나오는데 본 포스팅에서는 삼각형으로 하겠습니다)으로 표현하기 때문에 매우 무겁습니다. 이 삼각형은 X, Y, Z과 같은 좌표 축값을가지고 있습니다. 이를 Cartesian coordinate system이라고 이야기 합니다.
이 삼각형 형상을 이루는 각각의 점을 포인트라고하기도 하고 vertices (주로 유니티 및 그래픽스) 라고 하기도 하고 Node라고 하기도 합니다 (Ansys) 이 점들이 모두 연결되어 있으면 메쉬가 잘 작동하는데 일반적으로 CAD 프로그램에서 Mesh 정보가 잘못되어 있을 경우 closed 되어 있지 않다면서 자동으로 보정해주는 기능이 있습니다. Fusion 360의 경우에는 다음의 기능으로 표현되어 있습니다. "Mesh is not closed" warming message in Fusion 360
Mesh는 이와 같이 삼각형을 이루는 점으로 되어 있기 때문에 (Vertices, Node, Point) 점을 수정하는 일은 매우 힘든 일입니다. 학부 때 Ansys Classic으로 모델링을 한 적이 있는데 이 때 각 Node 점을 하나하나 찍어주어야 했고 매우 힘들었던 기억이 나네요. 투명 종이 뒤에 그림을 놓고 선을 따라 그리듯이 3D Scanning으로 Mesh를 얻고 그 위에 CAD 도면을 그리는 것 또한 가능합니다.
다시 정리해보면 Mesh를 사용하는 이유는 다음과 같이 나타낼 수 있습니다.
- Ansys, Abaqus와 같은 Simuatlion
- 3D Printing
- 3D Scanning
결과적으로 3D 응용프로그램으로 사용하기위해서는 Mesh로 변환해줘야 합니다. 이는 경계에 제한이 생긴다는 이야기이고 일반적으로 Mesh의 metadata는 존재하지 않습니다. 변환 과정에서 손실을 막기위해 Pixyz는 별도의 코드 또는 커맨드를 활용해서해당 데이터를 살릴 수 있습니다.
CAD (Computer-Aided Design)
이와는 반대로 CAD라는 개념이 있습니다. CAD와 Mesh를 서로 변환할수 있지만 한번 Mesh로 변환한 데이터는 관리 및 수정이 힘듭니다.
CAD는 수정이 쉽고 삼각형을 통해 가시화를하는 것이 아님으로 노이즈가 없고 특히 곡면부가 매우 자연스럽게 표현됩니다.
CAD의 종류를 2가지로 나눌 수 있는데 하나는 Suite-Specific CAD 그리고 다른 하나는 Generic CAD입니다.
Suite-Specific CAD
Fusion 360의 경우 f3d Solidworks의 경우 sldprt 카티야의 경우 cataprt와 같이 해당 CAD에서 집중적으로 사용하는 캐드 확장자가 있습니다. 이러한 확장자는 높은 호환성을 제공해서 해당 프로그램에서 사용할 경우 쉽게 수정이 가능하다는 장점이 있습니다. 하지만 모든 사람들이 같은 CAD 소프트웨어를 사용하는 것은 아닙니다. CAD의 경우 라이센스 비용이 매우 비싸고 단순 3D Printing만! 할 경우 일반적으로 stl 확장자만 이용한다면 굳이 CAD 프로그램을 다운 받을 필요가 없습니다. 따라서 나온 개념이 Generic CAD입니다.
Generic CAD
Generic CAD란 STEP, FBX, STP, SAT, Iges 등 파일 포맷을 말합니다. 일반적으로 CAD 프로그램은 Export 시 해당 확장자를 설정할 수 있는 기능을 제공합니다. 이는 기존 한글 또는 워드 프로세서에서 hwp, word와 같이 저장하는 것이 아닌 pdf 버전으로 저장할 수 있는 것으로 생각하시면 동일합니다. 다만! 이 때 해당 CAD에서 사용하는 특정 값이나 metadata의 손실이 있을 수 있습니다.
BRep (Boundary representation)
다시 본론으로돌아와서 그러다면 CAD는 어떻게 제약없이 곡면을 그렇게 잘 표현할 수 있을까요. 몇가지 방법이 있는데 가장 기본적이고 Low-Middle 레벨에서 자주 사용되는 방법은 BRep입니다. 해당 내용은 Wikipeida에 내용이 잘 정리되어 있습니다. 3D 파일을 나타내는 가장 일반적인 기법으로써 경계를 정의합니다. BREP의 장단점은 아래와 같습니다.
- 단점 : 파일이 무겁고, 유선형, 얇은 형태, 구배 각도 모델에는 적합하지 못함, 파일의 크기가 무거움, 렌더링 용도로 부적합.
- 장점 : 확대 시 해상도와 관련한 문제점 없음. 치수 단위의 정확함, Solid에 적합함
참고문헌
https://ntopology.com/blog/understanding-the-basics-of-b-reps-and-implicits/
https://3space.com/mesh-vs-cad/
https://blog.spatial.com/the-main-benefits-and-disadvantages-of-brep-modeling
댓글