3D 프린팅 소프트웨어 기술동향

Trends of 3D Printing Software Technologies

저자
표순형, 최진성 / CG기반기술연구실
권호
29권 1호 (통권 145)
논문구분
차세대 콘텐츠기술 특집
페이지
1-10
발행일자
2014.02.15
DOI
10.22648/ETRI.2014.J.290101
초록
3D 프린팅 기술의 발전과 함께 그 응용분야가 확대되면서 최근 관련 소프트웨어 기술도 활발히 연구되고 있다. 본고에서는 최근 컴퓨터 그래픽스 분야에서 발표된 3D 프린팅 관련 소프트웨어 기술을 소개한다. 먼저 프린팅을 위한 3D 모델의 안정성과 내구성을 검사하기 위한 기술을 소개한 뒤 3D 프린터의 프린팅 규모 제약을 극복하기 위한 3D 모델의 분할 및 조립 관련 기술을 설명하고, 이어서 프린팅 된 결과물에 동적인 움직임을 부여하기 위한 운동성 관련 기술을 소개한다. 3D 프린팅 관련 소프트웨어 기술은 최근 2-3년에 걸쳐 새로운 분야를 열면서 논문이 발표되기 시작하여 아직 초기 단계에 머물러 있지만, 향후 3D 프린팅의 응용 분야가 확대되면 많은 연구가 이어질 것으로 예상되어, 현재까지의 연구추이를 살펴 보고 향후 연구개발에 대처할 필요가 있을 것으로 보인다.
   8990 Downloaded 10709 Viewed
목록

I. 서론

최근 저가형 3D 프린터가 개발되어 일반에 보급되면서 3D 프린팅기술에 대한 관심이 집중되고 있다. 3D 프린팅기술은 삼차원으로 제작된 디지털 3D 모델을 물리적인 형태의 실물로 출력하는데 필요한 일련의 기술을 말한다. 3D 프린팅은 적층식 제조(additive manufacturing) 방법이란 이름으로 이미 80년대부터 오랫동안 연구가 이루어져 온 제조방법이다. 기존의 기계식 제조 방법이 덩어리로 주어진 원자재를 깎아 내는 방식으로 모양을 만들어 내는 것과 달리 3D 프린팅은 한 층 한 층 원자재를 쌓아 올리는 방식으로 동작한다. 1984년에 3D Systems Corp.사의 Chuck Hull이 최초의 3D 프린터를 만들어 냈으나[1] 2010년에 들어 다양한 재질과 형태의 프린터들이 시장에 나타나면서 주목을 받기 시작했다. 3D 프린팅은 주로 제품 생산을 위한 프로토타입의 제조에 많이 사용되어 왔으나, 3D 프린터의 보급으로 일반 사용자를 대상으로 한 응용분야로 확대되고 있으며 최근엔 의료 분야의 보형물, 인공 장기 등의 제작에 활용되면서 관련 기술의 발전과 시장의 확대가 기대되고 있다.

3D 프린터는 일반적으로 CAD(Computer Aided Design) 소프트웨어나 Maya, Max와 같은 애니메이션용 모델링 소프트웨어를 사용해 제작된 3D 모델을 입력으로 받는다. 이 때 사용되는 파일형식으로는 3D 모델을 삼각형 메쉬 형태로 표현하는 STL 파일형식이 가장 널리 사용되며 삼각형의 크기가 작고 개수가 많을수록 모델을 더 정밀하게 표현할 수 있다. 입력으로 들어온 3D 모델은 프린터에서 층별로 출력될 수 있도록 적층 방향과 수직인 디지털 단층 형태로 변환되고, 프린터에서 제공하는 물질을 바닥부터 차례차례 쌓고 굳히는 과정을 거치면서 최종의 프린트된 실물을 출력한다. 최근 출시되는 저가형 데스크탑용 3D 프린터의 경우는 주로 FDM(Fused Deposition Modeling) 방식을 채용하여 필라멘트 형태로 제공되는 물질을 녹여서 쌓는 방식을 사용하며 주로 사용되는 필라멘트의 색상에 따라 한 가지의 색으로만 플라스틱 형태의 3D 물체를 출력할 수 있다. 반면, 고가의 3D 프린터들은 분말 형태의 재료를 층으로 쌓아 올리면서 프린트될 부분을 선택적으로 굳게 하는 방식을 사용하며 다양한 색의 표현이 가능하도록 해 사실적인 프린트 물을 얻을 수 있도록 한다. 일부 고가의 프린터는 다양한 재질을 목적에 맞게 섞어서 사용할 수 있도록 하는 기능도 제공하고 있다.

하드웨어의 대중화, 사용 가능한 재질의 다양화, 그리고 관련 시장의 발전이 이루어지면서 좀 더 사용자 친화적인 3D 프린팅 환경을 제공하기 위한 소프트웨어 기술도 개발되기 시작했다. 가상의 디지털 공간에만 존재하던 다양한 형태의 3D 모델이 실물로 제작되면서 3D 프린터에서 사용되는 재질의 특성을 고려한 물체의 내구성 테스트, 실물 제작 시 원하는 형태로 서 있게 하기 위한 무게 중심 보정이나 및 보강물 자동 삽입 등의 안정성 향상, 재료 절감을 위한 3D 모델의 내부공간 확보, 3D 프린터의 제조 가능 크기보다 큰 물체를 프린트하기 위한 3D 모델의 분할 및 체결부 생성, 제조된 실물에 운동성을 부여하기 위한 자동기계 구조생성, 실물에게 원하는 유연성과 운동성을 부여하기 위한 재질표현 등이 최근 새로 등장한 소프트웨어 기술적인 이슈들의 예이다. 아직은 3D 프린팅 소프트웨어 기술이 초기 단계에 있어 많은 기술이 발표되지는 않았지만, 앞으로 3D 프린터가 대중화되면서 사용자 층과 응용분야가 확대됨에 따라 더욱 다양한 요구와 편의성에 대한 요구를 만족시키기 위한 소프트웨어 기술이 필요하게 될 것으로 기대된다.

본고에서는 3D 프린팅과 관련하여 최근 발표된 소프트웨어 기술에 대해 살펴본다. 먼저 3D 프린팅 된 물체의 내구성과 안정성을 사전에 점검하기 위한 구조분석 기술을 II장에서 다루고, III장에서는 프린터의 출력 범위를 벗어나는 크기의 물체를 출력하기 위해 원본 3D 모델을 파트별로 나누는 등의 조립 관련 기술, 그리고 IV장에서는 프린트 된 물체의 운동성을 다루는 기술에 대해 살펴본다. 끝으로 V장에서 결론을 맺는다.

II. 구조분석을 통한 안정성 개선기술

3D 프린터는 제한된 해상도로 3D 모델을 출력하기 때문에 출력하고자 하는 모델이 프린터가 지원하는 해상도 내에서 출력이 가능한지 검사할 필요가 있다. 또한, 3D 프린팅을 통해 실물로 제작된 물체는 사용자에 의해 다루어지는 과정에서 손상되거나 서비스업체에서 제작하는 경우 배송과정에서의 충격에 의해 손상이 발생하는 경우가 많으므로 사전에 내구성에 대한 고려가 이루어져야 한다. 이러한 잠재적인 위험요소를 반영하여 3D 모델을 점검하는 것은 복잡한 일로써, 지역적인 모델의 두께, 얇은 부분과 이를 둘러싼 영역의 기하학적인 구조, 사용자 조작 시 예상 가능한 힘의 범위 등 고려할 사항이 다양하다. 과거엔 이러한 물리적인 부적합성의 검사가 사람의 눈을 통해 이루어져왔으나, 최근에는 이들을 자동으로 탐지하고 프린팅을 위한 가이드라인을 제시하기 위한 기술들이 발표되고 있다.

2011년 Telea 등은 프린터의 해상도 제약으로 인해 프린팅 시 발생하는 3D 모델의 손실을 사전에 탐지하고자 하는 연구를 수행하였다[2]. 출력물의 불완전성이 프린터의 해상도보다 얇은 부분에서 발생하는 것으로 정의하고, 이를 탐지하기 위해 출력하고자 하는 3D 모델을 모델을 볼륨 형태로 표현한 뒤, 프린터의 해상도를 나타내는 임계값을 반영한 침식-팽창 연산을 3D 원 볼륨에 적용한 결과와 원 볼륨 사이의 차이로부터 임계값 보다 얇은 영역을 탐지하는 방법을 사용하였다. 또한, 이러한 얇은 영역 중 실제로 문제가 발생하는 부분을 (그림 1)과 같이 뾰족하게 튀어나온 부분(spikes), 큰 영역을 잇는 부분(bridges), 구멍이 생기는 부분(holes)으로 구분하고 이웃한 복셀 간의 정보를 이용하여 의미 있는 결함 부분을 찾아낼 수 있는 기준을 제시하였다. 하지만 이 방법은 3D 모델을 볼륨 데이터로 변환하는 과정에서 볼륨 자체의 해상도로 인해 원 데이터의 손실이 발생할 수 있고, 해상도를 높일 경우 연산 속도나 메모리 사용에 제약이 있다는 단점이 있다.

(그림 1)

의미있는 내구성 검사 요소[2]

images/2014/v29n1/ETRI_J003_2014_v29n1_1_F001.jpg

2012년에는 Stava 등이 3D 모델의 프린트 가능성을 검사하기 위한 방법으로, 물체에 가해지는 잠재적인 힘을 자체 하중에 의한 지속적인 힘과 물체의 조작과정에서 발생하는 외부로부터의 힘, 즉 2개의 손가락으로 물체를 집었을 때 가해지는 힘으로 구분하고 모든 가능한 힘들을 고려하여 구조적인 내구성을 검사하는 방법을 제안하였다[3]. 또한, 이 방법은 주어진 3D 모델의 구조를 분석한 뒤, 자동으로 내부공간 확보(hollowing), 부분적인 두께 확대(thickening), 버팀목 삽입(strut insertion)의 방법을 적용하여 내구성/안정성을 개선하는 방법도 제안하였다. 3D 모델이 주어지면 구조를 분석한 뒤 위 세 가지 방법 중 하나를 이용해 안정성을 개선하고 다시 분석-개선 과정을 반복하는 식으로 동작하여 최종의 프린트 가능한 모델을 얻게 된다. (그림 2)는 버팀목 삽입을 통해 안정성이 향상된 결과를 보여준다. 이 방법은 처음으로 구조분석과 안정성 개선을 자동으로 연동하여 수행하는 방법을 제안하였다는 의미가 있다.

(그림 2)

버팀목 삽입을 통한 안정성 개선의 예[3]

images/2014/v29n1/ETRI_J003_2014_v29n1_1_F002.jpg

Stava 등의 방법이 예측가능한 범위 내에서 구조적인 결함을 분석하고 안정성을 개선한 반면, 2013년 Zhou 등은 일상적인 상황에서 사용할 때와 같이 외부에서 가해지는 힘을 예측할 수 없는 상황에서 주어진 3D 모델의 기하학적 구조와 프린트 재질만을 고려하여 어떤 부분이 가장 취약한 가를 찾는 연구를 수행하였다[4]. 이들은 주어진 물체의 움직임을 모델링 하기 위해 선형 탄성(linear elasticity) 방정식과 이등방성 선형 물질(anisotropic linear material) 모델을 사용하였고, 주어진 제한 조건 하에서 최대 주 변형력(maximal principal stress)를 목적 함수로 최적화 방법을 적용하였다. 또한, 최적화 과정의 계산 속도 향상을 위해 다양한 근사 방법들을 제안하였다. 이 논문은 (그림 3)과 같이 실제 프린트된 결과물에 충격을 통해 손상을 입힌 결과와 계산된 구조분석 결과를 비교하여 제안된 방법의 유효성을 검증하였다. 제안된 방법은 손상 부위를 예측하는데 도움을 주긴 하지만, 실제 프린트 결과물이 선형성을 띄지 않기 때문에 다소 차이가 있음을 볼 수 있다.

(그림 3)

변형력 계산결과와 실제 프린트 결과물 손상결과의 비교[4]

images/2014/v29n1/ETRI_J003_2014_v29n1_1_F003.jpg

3D 프린팅된 물체는 가상의 3D 공간에 있던 3D 모델과는 달리 실제 세계의 물리 법칙이 적용되기 때문에 프린트 전에는 예측하지 못했던 문제를 안고 있을 수 있다. 가장 기본적인 것은 중력의 영향을 받는 물체의 자세 제어인데, Prevost 등은 인터랙티브 한 3D 모델의 편집과 내부공간 확보를 통해 무게 중심을 조절함으로써, 3D 프린터를 통해 출력된 결과물이 원하는 자세로 서 있게 하는 연구를 수행하였다[5]. 입력으로 3D 모델이 주어지면, 먼저 모델의 내부를 파내어 모델의 무게중심이 적절히 위치하는지 검사한다. 이때, 3D 모델이 바닥과 닿는 각 지점들로부터 이들을 감싸는 최소한의 모양(convex hull)을 구성하고 무게 중심을 중력의 방향으로 투사하여 그 안에 들어가는지를 검사하는 방법으로 무게 중심의 적절성 여부를 판단한다. 만약 내부공간 확보를 통한 무게 중심의 이동만으로 원하는 자세를 안정적으로 얻을 수 없다면, 사용자가 3D 모델 자체를 수정하게 하고 다시 위의 검사를 하는 방법을 취하였다. 이 방법은 프린팅된 물체를 특별한 받침 제작 없이 바닥에 세우거나 실을 이용해 공중에 매다는 경우 원하는 자세를 얻을 수 있도록 하는 방법을 제시하였으나, 경우에 따라 사용자의 3D 모델 수정을 필요로 한다는 단점이 있다. (그림 4)는 내부공간을 확보와 3D 모델 수정을 통해 무게 중심을 이동시켜 자세를 제어한 결과를 보여준다.

(그림 4)

내부공간 확보와 3D 모델 편집을 이용한 3D 프린팅 결과물의 자세 제어 예[5]

images/2014/v29n1/ETRI_J003_2014_v29n1_1_F004.jpg

최근 3D 프린터의 가격이 많이 저렴해지고 제작속도가 많이 향상되었지만 프린트를 위한 재료비의 절감이나 다시 제작하는데 소요되는 시간을 고려할 때, 프린트 결과물의 구조적인 내구성이나 안정성을 사전에 검사할 필요성이 요구되어, 앞에서 설명한 것과 같이 관련 연구는 지속적으로 이루어질 것으로 예상된다.

III. 조립성 관련 기술

현재 시중에 출시된 3D 프린터는 출력할 수 있는 물체의 크기가 제한적이어서 큰 물체를 출력하고자 할 때는 3D 모델을 사용자가 작은 부분들로 나누어 프린트 한 뒤 다시 부분들을 조립하여 원하는 물체를 만들어야 한다는 어려움이 있다. 또한 교육, 완구, 가구 관련 응용분야에서는 3D 모델을 의도적으로 분할해 사용자가 조립하도록 하고자 하는 요구가 있어 관련된 기술들이 연구되기 시작하였다.

2011년 Lau 등은 기존 가구시장에서 판매되는 IKEA의 42종의 조립식 캐비닛과 11종의 조립식 테이블을 참고하여 형식적인 문법을 정의한 뒤, 분석을 통해 주어진 3D 모델을 각 파트로 나누고 이들의 구조적인 정보를 활용하여 각 파트를 조립하기 위한 연결장치(connector)를 부착시키는 연구를 수행하였다[6]. 여기서 말하는 형식적 문법은 일련의 방향성을 지닌 그래프들을 나타내는 것으로, 각 그래프는 하나의 물체를, 그래프 내의 노드는 하나의 파트를, 노드를 잇는 선은 두 파트 사이의 연결관계를 정의한다. 3D 모델이 주어지면, 그 모델을 구성하는 기본 모양과 그들 사이의 접촉관계를 나타내는 그래프로 분석을 한 뒤, 앞서 정의된 문법을 적용하여 구조적인 분석을 수행함으로써 (그림 5)와 같이 3D 프린터로 출력가능한 최종 그래프로 변환한다. 이 방법은 일반적인 3D 모델에 적용하기에는 제한적이고 문법과 연결방식을 사용자가 직접 정의해야 한다는 단점이 있다.

(그림 5)

문법을 이용한 구조분석과 적용 예[6]

images/2014/v29n1/ETRI_J003_2014_v29n1_1_F005.jpg

2012년 Luo 등은 프린터의 출력 크기를 넘어서는 3D 모델이 주어졌을때, 이들을 프린터에서 출력가능한 최대 크기로 자동으로 분할하거나 사용자가 지정한 가이드라인에 따라 분할하고, 각 파트의 연결부분에 연결장치를 더해 출력 후 조립할 수 있게 하는 방법을 (그림 6)과 같이 제안하였다[7]. 특히, 파트를 분할할 때는 다양한 방법이 존재할 수 있기 때문에, 다음의 가이드라인을 만족시키도록 하였고, 빔(beam) 탐색방법을 이용해 최적의 이진공간분할(Binary space partitioning) 방법을 찾도록 하여 문제의 범위를 좁히고 효율성도 높였다.

(그림 6)

3D 모델의 분할과 실제 적용 예[7]

images/2014/v29n1/ETRI_J003_2014_v29n1_1_F006.jpg

⦁ 프린트 가능성(Printability): 각 파트는 프린터의 제작 크기 안에 들어야 함.

⦁ 조립 가능성(Assemblability): 출력된 파트들은 서로 간섭 없이 완성모델을 만들 수 있어야 함.

⦁ 효율성(Efficiency): 필요한 서브 볼륨의 크기를 최소화 함. 즉, 너무 작은 부분이 별개의 파트가 되어서는 안됨.

⦁ 연결장치 부착 가능성(Connector feasibility): 각 파트는 조립을 위한 연결장치 등의 장치가 부착될 수 있을 만큼 커야 함.

⦁ 구조적인 안정성(Structural soundness): 연결 부위는 사용 시 큰 힘을 받는 부분으로부터 멀리 위치해야 함.

⦁ 미적 감각(Aesthetics): 연결 부위는 주어진 모델의 자연스런 대칭성을 따라야 하며 모델의 외관과 동떨어지게 너무 눈에 띄거나 하면 안됨.

또 다른 형태의 조립 예는 건축물과 같이 부분적인 요소들이 모여 전체를 구성하는 블록 형식의 구조물을 생각할 수 있다. 2013년 Panozzo 등은 사용자가 입력한 3D 모델을 버팀목 없이 스스로 서 있을 수 있는 가장 가까운 형태의 구조물로 변환하고, 기하학적 모양에서 발생하는 힘의 흐름을 반영하여 육각형의 블록으로 나눔으로써 사용자가 프린트 된 결과물을 조립하여 세울 수 있도록 하는 연구를 수행하였다[8]. 이들은 스스로 지탱할 수 있는 구조물이 열린 경계면, 방향을 달리하여 반대로 굽은 부분, 날카로운 특징을 갖는 부분에서 가져야 하는 제한 조건을 발견하고, 이로부터 주어진 3D 모델의 각 지점에서 발생하는 힘의 흐름을 예측하고 힘의 흐름에 따라 정렬된 새로운 메쉬를 구성한 뒤 이를 다시 원래 3D 모델에 가까워지도록 최적화하는 방법을 사용하였다. 실제 구성된 모델을 3D 프린터로 출력하여 스스로 지탱하는 구조물로 조립될 수 있음을 보였으나, 입력 3D 모델이 높이 장(height field) 형태로 제공되어야 한다는 제약이 있고, 출력된 결과물이 완전히 조립된 형태에서만 균형을 유지하기 때문에 이들을 조립하려면 미리 결과물을 얹기 위한 지지대가 있어야 한다는 단점이 있다. (그림 7)은 입력 3D 모델로부터 Panozzo의 방법을 사용하여 최종 프린트 결과물을 얻는 과정을 보여준다.

(그림 7)

버팀목 없이 스스로 서 있을 수 있는 조립식 구조물의 예[8]

images/2014/v29n1/ETRI_J003_2014_v29n1_1_F007.jpg

최근 3D 프린터 기술이 발달하면서 프린팅 성능이 많이 향상되고 있으나 여전히 3D 프린터에서 출력 가능한 물체의 크기는 30cm 이하 수준에 머물고 있는 상황이어서 앞서 설명한 방법들과 같이 사용자가 출력하고자 하는 3D 모델을 분할하여 프린트한 후 다시 조립하는 과정을 돕기 위한 관련 기술은 추후에도 계속 연구의 주제가 될 것으로 전망한다.

IV. 운동성 재현 기술

기존의 3D 프린팅은 주로 제품제작을 위한 프로토타입의 사전제작에 많이 활용되어 왔기 때문에 출력된 프린트물의 외관을 표현하고 확인하는데 주로 이용되어 왔다. 하지만 3D 프린팅 기술의 급속한 발전과 함께 그 사용자가 일반으로 확대되면서 프린팅되는 3D 모델의 종류도 다양해지고 사용자들은 정적인 물체의 프린팅 뿐만 아니라 프린트된 결과물이 어느 정도 동작이 가능하기를 원하게 되었다.

1. 관절을 이용한 운동성

최근 들어 캐릭터 모델과 같이 관절을 갖는 물체들에 운동성을 부여하고자 하는 연구가 진행되었는데, 2012년 Bächer 등은 (그림 8)과 같이 물체의 외부 표면과 종속성 정보를 갖는 메쉬(skinned mesh) 형태로 3D 모델이 주어졌을 때, 분석을 통해 관절부위를 자동으로 예측하고 사용자가 지정한 운동성에 적합한 관절을 자동으로 삽입하는 기술을 발표하였다[9]. 3D 모델이 입력으로 들어오면 애니메이션을 위해 표면 메쉬에 할당된 가중치 정보로부터 서로 독립적인 부분들을 추출하고 이들 사이에 잠재적인 관절들을 위치시킨다. 관절 사이의 간섭관계, 안정성 등을 고려하여 일부를 제거하고 메쉬의 뼈대 부분에 관절을 위치시킨 후 최적화과정을 거친다. 관절의 종류와 위치가 결정되면 볼륨형태의 구형 관절 등을 메쉬에 병합하여 출력을 위한 메쉬를 생성한다. 이 방법은 애니메이션을 위해 제작된 캐릭터 모델과 같이 이미 외부 표면 메쉬에 가중치가 할당되어 있는 경우에만 적용가능한 방법으로, 가중치 정보가 없거나 필요한 위치에 빠져있는 경우에는 해당부분에 관절을 생성할 수 없다는 단점이 있다.

(그림 8)

외부표면 메쉬로부터 관절을 자동생성한 결과[9]

images/2014/v29n1/ETRI_J003_2014_v29n1_1_F008.jpg

같은 해 Cali 등은 일반 3D 모델에 대해 (그림 9)와 같이 출력 후 별도의 조립 없이 관절을 사용할 수 있도록 관절을 함께 프린트 하는 논문을 발표하였는데, 프린팅 과정에서 관절이 다른 부위에 합쳐지거나 또는 관절이 너무 헐거워서 정적인 자세를 취할 수 없게 되는 등의 문제를 해결하고자 다양한 관절에 대해 테스트를 수행하였고 사용자가 손쉽게 관절 삽입 위치와 회전에 대한 제약 조건을 지정할 수 있는 인터페이스를 제공하였다[10]. 이 방법은 Bächer의 방법에 비해 임의의 3D 모델에 적용할 수 있다는 장점이 있지만, 관절 삽입을 위한 리깅(rigging), 관절의 위치 및 크기 조정, 각 관절에서의 제약조건 지정 등 사용자의 개입을 많이 필요로 한다.

(그림 9)

Cali의 관절 자동생성 결과[10]

images/2014/v29n1/ETRI_J003_2014_v29n1_1_F009.jpg

2. 기계장치를 이용한 운동성

3D 프린팅을 위해 물체에 관절 삽입을 통해 운동성을 부여하는 앞의 논문들과는 달리 3D 모델의 구조로부터 기어 삽입 등을 통해 기계적인 동작이 가능한 형태로 변환하는 기술들도 발표되었다. Zhu 등은 사용자가 3D 모델과 함께 각 파트에 대해 시간에 따라 변하는 이동과 회전 정보를 제공하면 (그림 10)과 같이 3D 모델 아래에 위치한 기계 장치에서 벨트 폴리(belt-pulley), 기어(gear), 크랭크 슬라이더(crank-slider) 등의 부속 조합을 통해 사용자가 원하는 동작을 재현하는 기술을 발표하였다[11]. 이 방법은 원하는 동작을 재현하는 동시에 기계장치의 복잡도를 낮추고 기계장치들이 잘 분산되도록 하기 위해 장치들의 위치와 매개변수를 최적화 하는 방법을 사용하였다.

(그림 10)

각 파트의 이동과 회전정보로부터 기계 동작구조를 생성한 결과와 사용된 장치들[11]

images/2014/v29n1/ETRI_J003_2014_v29n1_1_F010.jpg

기계적인 요소를 이용해 운동성을 부여하는 또 다른 예로는 2013년에 Coros 등이 발표한 논문이 있다[12]. 이 방법은 먼저 관절을 갖는 캐릭터 형태의 3D 모델을 입력으로 받은 뒤, 사용자가 움직임을 지정하고 싶은 끝 부분을 선택해 원하는 움직임을 모션 커브(motion curve) 형태로 직접 그리게 한다. 사용자가 지정한 각각의 모션 커브에 대해, 그 움직임을 가장 잘 표현하는 적절한 기계 조합을 미리 계산된 데이터베이스로부터 찾아 부착하고 원하는 움직임을 갖도록 매개변수를 최적화 한다. 모든 부분이 완성되면 이들을 다시 기어 체인 형태로 엮고 서로 충돌이 없도록 조정한 다음 끝으로 각 컴포넌트들을 지지할 수 있는 구조물을 만들어 출력을 하게 된다. 이 방법은 표현할 수 있는 동작의 범위가 데이터베이스에 미리 정의된 동작으로 제한되는 약점이 있지만, (그림 11)과 같이 다양한 적용 예를 제시하여 제안 방법의 유용성을 보였다.

(그림 11)

Coros 등의 기계 동작 모델링 결과의 예[12]

images/2014/v29n1/ETRI_J003_2014_v29n1_1_F011.jpg

같은 해인 2013년에 Ceylan 등은 위의 방법들과 유사한 목적을 가지나 모션 캡쳐(motion capture) 장비로부터 얻은 실제 사람의 동작을 기계적인 메커니즘으로 자동변환하는 기술을 발표하기도 하였다[13]. 사람의 동작이라는 제한된 범위이지만 메커니즘 구성과정을 자동화하여 이전 방법들과는 차별화를 하였다.

3D 프린팅 결과물에 기계장치를 이용하여 운동성을 부여하는 기술은 아직까지는 완구형태의 출력물에 주로 적용되고 있지만 3D 프린팅 시장의 확대와 함께 로봇, 의료 등 제한된 운동성을 갖는 보조장치를 필요로 하는 다양한 분야에서 응용될 수 있을 것으로 기대된다.

3. 물질의 특성을 이용한 운동성

앞서 설명한 방법들이 관절이나 기계적인 장치의 삽입을 통해 프린트된 결과물의 운동성을 재현한 것과는 달리 3D 프린터에서 제공하는 재료의 특성을 고려하여 프린트된 결과물의 물리적인 성질을 원하는 형태로 표현하고자 하는 연구도 있었다. 앞의 연구들과는 운동성의 의미가 다르지만, 향후 3D 프린터기술이 발달하면 재질을 혼합하여 물리적 특성을 재현하는 기술이 주목 받을 것으로 예상되어 본 절에서 같이 설명한다.

2010년 Bickel 등은 프린터에서 제공하는 여러 재질을 출력하여 물리적 특성을 측정하고, 이로부터 얻어진 데이터를 기반으로 한 시뮬레이션을 통해 (그림 12)와같이 기본 재질을 여러 층으로 구성하여 필요한 물리적 특성을 프린트 결과물에 부여하는 연구를 수행하였다[14]. 이들은 프린트 된 재질에 대해 수행한 물리적 실험으로부터 데이터 특성을 얻은 뒤 유한요소(finite element) 모델로 비선형적인 재질의 특성을 표현하였고, 프린트하고자 하는 물건의 물리적 특성을 입력으로 받아 이를 목표로 다양한 재질의 조합을 최적화하여 대상 물체에 근접한 특성의 결과물을 프린트할 수 있었다. 이 연구는 압축에 대한 물질의 특성만을 대상으로 하였지만, 이후 물질의 특성 재현을 위한 연구의 기본이 될 것으로 보인다.

(그림 12)

기본 재질을 여러 층을 구성하여 원하는 물리적 특성을 재현한 예[14]

images/2014/v29n1/ETRI_J003_2014_v29n1_1_F012.jpg

2013년 Skouras 등은 변형가능한 3D 모델과 함께 이것이 취할 수 있는 여러 자세가 주어지면, 프린트된 결과물이 그 자세를 취할 수 있게 하는 조정포인트(actuator)를 물체 표면에 배치하고 그 물체가 원하는 자세를 취할 수 있는 변형가능 상태가 되도록 재질의 내부분포를 최적화하는 기술을 발표하였다[15]. 입력으로 3D 모델이 들어오면 먼저 사용자가 초기 조정 포인트를 삽입하게 하거나 그것이 어려운 경우 자동으로 초기 조정 포인트를 삽입하고, 이를 기반으로 주어진 모델이 원하는 자세를 취할 때 전체적인 거리가 최소화되도록 조정 포인트들을 자동으로 조정해 준다. 이 때, 조정 포인트에서 사용될 실, 핀 등의 조정방법을 고려하여 최적화를 수행한다. 프린트 시 사용될 재질의 분포를 최적화하기 위해서는 사용가능한 재질 중 목표로 하는 자세를 취하기에 더 적합한 재질이 각 부분에 사용되도록 최적화를 수행하여 부분 부분 마다 재질의 분포가 구분되도록 하였다. 이 논문은 주어진 재질의 혼용하여 원하는 변형 특성을 재현할 수 있는 방법을 제안하였지만, (그림 13)과 같이 두 가지의 재질만 사용하였고 원하는 목표 자세를 취하기 위한 방법이 다양할 수 있다는 점은 충분히 고려하지 않아 향후 개선의 여지를 남겼다.

(그림 13)

기본 재질의 분포 최적화를 통한 변형 특성 재현 예[15]

images/2014/v29n1/ETRI_J003_2014_v29n1_1_F013.jpg

현재까지 출시된 3D 프린터의 경우, 사용가능한 재질의 종류가 아직 제한적이기 때문에 재질의 특성을 이용한 프린팅 기술이나 재질의 혼합을 통해 원하는 재질 특성을 만들어 내는 기술은 아직 크게 연구되지 못하고 있다. 하지만, 3D 프린터의 성능과 표현 범위가 넓어지면 현재 2D 프린터에서 기본 색으로부터 다양한 색상을 표현하듯 제한된 재질로부터 다양한 특성을 얻는 연구도 활발히 진행될 것으로 예상된다.

V. 결론

최근 3D 프린터의 가격이 내려가고 기술이 향상되면서 대중의 관심을 끌고 있다. 3D 프린팅 관련 하드웨어의 발전과 함께 3D 프린팅을 위한 소프트웨어기술 또한 관련 학계에서 관심을 받고 있으며 최근 다양한 연구 결과들이 발표되고 있다. 본 논문에서는 최근 컴퓨터 그래픽스분야에서 3D 프린팅과 관련하여 발표된 논문들의 동향을 소개하였다. II장에서는 프린팅 결과물의 내구성과 안정성 점검하기 위한 기술을, III장에서는 프린터의 프린팅 크기 제약으로부터 오는 한계 극복을 위한 조립성 관련 기술을, 그리고 IV장에서는 프린팅 결과물에 동적인 움직임을 부여하기 위한 운동성 관련 기술을 소개하였다.

본고에서는 3D 모델이 주어졌을 때 이들을 3D 프린트하기 위한 기술에 초점을 맞추었지만, 3D 프린팅이 일반 사용자가 사용할 수 있는 선으로 다가오면서 손쉽게 3D 모델을 제작할 수 있게 하는 방법들 또한 큰 관심을 받고 있다. 스케치를 이용한 3D 모델 생성방법, 사진으로부터 모델을 생성하는 방법, 3D 스케너 관련 기술, 3D 조각(sculpting) 기술 등이 이에 속한다. 최근 애니메이션분야에서 3D 관련 소프트웨어 시장을 주도하고 있는 Autodesk사도 123D, Mesh Mixer 등 일반인을 대상으로 한 다양한 소프트웨어를 제공하고 있다. 3D 프린팅의 인기와 함께 새로 주목 받게 될 만한 과거의 기술들도 한번 돌아볼 필요가 있을 것으로 보인다.

3D 프린팅 관련 소프트웨어 기술은 최근 2-3년 내에 크게 관심을 받기 시작한 분야로 3D 프린팅 적용분야가 확대되면서 더 많은 연구가 이루어질 것으로 예상된다. 본고가 현재까지 진행되었던 관련 연구들을 파악하고 향후 연구의 방향을 설정하는데 조금이나마 도움이 되었기를 바란다.

용어해설

additive manufacturing 덩어리 형태로 주어진 재료를 깎아서 물체를 만드는 대신 한층 한층 쌓아 올려 원하는 모델을 만드는 기술

mesh 삼차원 공간에서 3D 모델을 표현하는 한 방법으로, 작은 다수의 삼각형 또는 다각형을 연결하여 물체의 외관을 감싸는 망을 형성함.

약어 정리

CAD  Computer Aided Design

FDM  Fused Deposition Modeling

[1] 

“3D Printing: What You Need to Know,” PCMag.com. Retrieved 2013. 10. 30.

[2] 

A. Teleaand and A. Jalba, “Voxel-based assessment of printability of 3D shapes,” Proc. Mathematical Morphology Appl. image signal process., Springer-Verlag, Berlin, Heidelberg, 2011, pp. 393-404.

[3] 

O. Stavaet al., “Stress relief: improving structural strength of 3D printable objects,”ACM Trans. Graph., vol. 31 no. 4, July 2012, pp.1-11.

[4] 

Q. Zhou, J. Panetta, and D. Zorin, “Worst-case structural analysis,” ACM Trans. Graph., vol. 32, no. 4, July 2013.

[5] 

R. Prévost et al., “Make it stand: balancing shapes for 3D fabrication,” ACM Trans. Graph., vol. 32 no. 4, July 2013.

[6] 

M. Lau et al., “Converting 3D furniture models to fabricatable parts and connectors,” ACM Trans. Graph., vol. 30, no. 4, July 2011.

[7] 

L. Luo et al., “Chopper: partitioning models into 3D-printable parts,” ACM Trans. Graph., vol. 31, no. 6, Nov. 2012.

[8] 

D. Panozzo, P. Block, and O. Sorkine-Hornung, “Designing unreinforced masonry models,” ACM Trans. Graph., vol. 32, no. 4, July 2013.

[9] 

M. Bächer et al., “Fabricating articulated characters from skinned meshes,” ACM Trans. Graph., vol. 31, no. 4, July 2012, pp.1-9.

[10] 

J. Calì et al., “3D-printing of non-assembly, articulated models,”ACM Trans. Graph., vol. 31, no. 6, Nov. 2012.

[11] 

L. Zhu et al., “Motion-guided mechanical toy modeling,” ACM Trans. Graph., vol. 31, no. 6, Nov. 2012.

[12] 

S. Coros et al., “Computational design of mechanical characters,” ACM Trans. Graph., vol. 32, no. 4, July 2013.

[13] 

D. Ceylan et al., “Designing and fabricating mechanical automata from mocap sequences,” ACM Trans. Graph., vol. 32, no. 6, Nov. 2013.

[14] 

B. Bickel et al., “Design and fabrication of materials with desired deformation behavior,” ACM Trans. Graph., vol. 29, no. 4, July 2010.

[15] 

M. Skouras et al., “Computational design of actuated deformable characters,” ACM Trans. Graph., vol. 32, no. 4, July 2013.

(그림 1)

의미있는 내구성 검사 요소[2]

images/2014/v29n1/ETRI_J003_2014_v29n1_1_F001.jpg
(그림 2)

버팀목 삽입을 통한 안정성 개선의 예[3]

images/2014/v29n1/ETRI_J003_2014_v29n1_1_F002.jpg
(그림 3)

변형력 계산결과와 실제 프린트 결과물 손상결과의 비교[4]

images/2014/v29n1/ETRI_J003_2014_v29n1_1_F003.jpg
(그림 4)

내부공간 확보와 3D 모델 편집을 이용한 3D 프린팅 결과물의 자세 제어 예[5]

images/2014/v29n1/ETRI_J003_2014_v29n1_1_F004.jpg
(그림 5)

문법을 이용한 구조분석과 적용 예[6]

images/2014/v29n1/ETRI_J003_2014_v29n1_1_F005.jpg
(그림 6)

3D 모델의 분할과 실제 적용 예[7]

images/2014/v29n1/ETRI_J003_2014_v29n1_1_F006.jpg
(그림 7)

버팀목 없이 스스로 서 있을 수 있는 조립식 구조물의 예[8]

images/2014/v29n1/ETRI_J003_2014_v29n1_1_F007.jpg
(그림 8)

외부표면 메쉬로부터 관절을 자동생성한 결과[9]

images/2014/v29n1/ETRI_J003_2014_v29n1_1_F008.jpg
(그림 9)

Cali의 관절 자동생성 결과[10]

images/2014/v29n1/ETRI_J003_2014_v29n1_1_F009.jpg
(그림 10)

각 파트의 이동과 회전정보로부터 기계 동작구조를 생성한 결과와 사용된 장치들[11]

images/2014/v29n1/ETRI_J003_2014_v29n1_1_F010.jpg
(그림 11)

Coros 등의 기계 동작 모델링 결과의 예[12]

images/2014/v29n1/ETRI_J003_2014_v29n1_1_F011.jpg
(그림 12)

기본 재질을 여러 층을 구성하여 원하는 물리적 특성을 재현한 예[14]

images/2014/v29n1/ETRI_J003_2014_v29n1_1_F012.jpg
(그림 13)

기본 재질의 분포 최적화를 통한 변형 특성 재현 예[15]

images/2014/v29n1/ETRI_J003_2014_v29n1_1_F013.jpg
Sign Up
전자통신동향분석 이메일 전자저널 구독을 원하시는 경우 정확한 이메일 주소를 입력하시기 바랍니다.