3D 프린팅 소프트웨어 기술동향 차세대 콘텐츠기술 특집 표순형 (S.H. Pyo) 최진성 (J.S. Choi) CG 기반기술연구실 선임연구원 CG 기반기술연구실실장 Ⅰ. 서론 Ⅱ. 구조분석을 통한 안정성 개선기술 Ⅲ. 조립성 관련 기술 Ⅳ. 운동성 재현 기술 Ⅴ. 결론 * 본 연구는 미래창조과학부 산업융합원천기술개발사업 3D 프린팅을 위한 실물정보기반 3D 콘 텐츠 생성 및 편집기술 과제의 연구결과임. 3D 프린팅 기술의 발전과 함께 그 응용분야가 확대되면서 최근 관련 소프트웨어 기술도 활발히 연구되고 있다. 본고에서는 최근 컴퓨터 그래픽스 분야에서 발표 된 3D 프린팅 관련 소프트웨어 기술을 소개한다. 먼저 프린팅을 위한 3D 모델의 안정성과 내구성을 검사하기 위한 기술을 소개한 뒤 3D 프린터의 프린팅 규모 제 약을 극복하기 위한 3D 모델의 분할 및 조립 관련 기술을 설명하고, 이어서 프린 팅 된 결과물에 동적인 움직임을 부여하기 위한 운동성 관련 기술을 소개한다. 3D 프린팅 관련 소프트웨어 기술은 최근 2-3년에 걸쳐 새로운 분야를 열면서 논 문이 발표되기 시작하여 아직 초기 단계에 머물러 있지만, 향후 3D 프린팅의 응 용 분야가 확대되면 많은 연구가 이어질 것으로 예상되어, 현재까지의 연구추이 를 살펴 보고 향후 연구개발에 대처할 필요가 있을 것으로 보인다. 2014 한국전자통신연구원 1
Ⅰ. 서론 최근 저가형 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 2 전자통신동향분석 제29권 제1호 2014년 2월
모델을 파트별로 나누는 등의 조립 관련 기술, 그리고 IV장에서는 프린트 된 물체의 운동성을 다루는 기술에 대해 살펴본다. 끝으로 V장에서 결론을 맺는다. Ⅱ. 구조분석을 통한 안정성 개선기술 3D 프린터는 제한된 해상도로 3D 모델을 출력하기 때문에 출력하고자 하는 모델이 프린터가 지원하는 해 상도 내에서 출력이 가능한지 검사할 필요가 있다. 또 한, 3D 프린팅을 통해 실물로 제작된 물체는 사용자에 의해 다루어지는 과정에서 손상되거나 서비스업체에서 제작하는 경우 배송과정에서의 충격에 의해 손상이 발 생하는 경우가 많으므로 사전에 내구성에 대한 고려가 이루어져야 한다. 이러한 잠재적인 위험요소를 반영하 여 3D 모델을 점검하는 것은 복잡한 일로써, 지역적인 모델의 두께, 얇은 부분과 이를 둘러싼 영역의 기하학적 인 구조, 사용자 조작 시 예상 가능한 힘의 범위 등 고려 할 사항이 다양하다. 과거엔 이러한 물리적인 부적합성 의 검사가 사람의 눈을 통해 이루어져왔으나, 최근에는 이들을 자동으로 탐지하고 프린팅을 위한 가이드라인을 제시하기 위한 기술들이 발표되고 있다. 2011년 Telea 등은 프린터의 해상도 제약으로 인해 프린팅 시 발생하는 3D 모델의 손실을 사전에 탐지하고 자 하는 연구를 수행하였다[2]. 출력물의 불완전성이 프 린터의 해상도보다 얇은 부분에서 발생하는 것으로 정 의하고, 이를 탐지하기 위해 출력하고자 하는 3D 모델 을 볼륨 형태로 표현한 뒤, 프린터의 해상도를 나타내는 임계값을 반영한 침식-팽창 연산을 3D 원 볼륨에 적용 한 결과와 원 볼륨 사이의 차이로부터 임계값 보다 얇은 영역을 탐지하는 방법을 사용하였다. 또한, 이러한 얇은 영역 중 실제로 문제가 발생하는 부분을 (그림 1)과 같 이 뾰족하게 튀어나온 부분(spikes), 큰 영역을 잇는 부 분(bridges), 구멍이 생기는 부분(holes)으로 구분하고 이웃한 복셀 간의 정보를 이용하여 의미 있는 결함 부분 을 찾아낼 수 있는 기준을 제시하였다. 하지만 이 방법 은 3D 모델을 볼륨 데이터로 변환하는 과정에서 볼륨 자체의 해상도로 인해 원 데이터의 손실이 발생할 수 있 고, 해상도를 높일 경우 연산 속도나 메모리 사용에 제 약이 있다는 단점이 있다. 2012년에는 Stava 등이 3D 모델의 프린트 가능성을 검사하기 위한 방법으로, 물체에 가해지는 잠재적인 힘 을 자체 하중에 의한 지속적인 힘과 물체의 조작과정에 서 발생하는 외부로부터의 힘, 즉 2개의 손가락으로 물 체를 집었을 때 가해지는 힘으로 구분하고 모든 가능한 힘들을 고려하여 구조적인 내구성을 검사하는 방법을 제안하였다[3]. 또한, 이 방법은 주어진 3D 모델의 구조 를 분석한 뒤, 자동으로 내부공간 확보(hollowing), 부분적 인 두께 확대(thickening), 버팀목 삽입(strut insertion)의 Gravity (그림 1) 의미있는 내구성 검사 요소[2] (그림 2) 버팀목 삽입을 통한 안정성 개선의 예[3] 표순형 외 / 3D 프린팅 소프트웨어 기술동향 3
방법을 적용하여 내구성/안정성을 개선하는 방법도 제 안하였다. 3D 모델이 주어지면 구조를 분석한 뒤 위 세 가지 방법 중 하나를 이용해 안정성을 개선하고 다시 분 석-개선 과정을 반복하는 식으로 동작하여 최종의 프린 트 가능한 모델을 얻게 된다. (그림 2)는 버팀목 삽입을 통해 안정성이 향상된 결과를 보여준다. 이 방법은 처음 으로 구조분석과 안정성 개선을 자동으로 연동하여 수 행하는 방법을 제안하였다는 의미가 있다. Stava 등의 방법이 예측가능한 범위 내에서 구조적인 결함을 분석하고 안정성을 개선한 반면, 2013년 Zhou 등은 일상적인 상황에서 사용할 때와 같이 외부에서 가 해지는 힘을 예측할 수 없는 상황에서 주어진 3D 모델 의 기하학적 구조와 프린트 재질만을 고려하여 어떤 부 분이 가장 취약한 가를 찾는 연구를 수행하였다[4]. 이 들은 주어진 물체의 움직임을 모델링 하기 위해 선형 탄 성(linear elasticity) 방정식과 이등방성 선형 물질 (anisotropic linear material) 모델을 사용하였고, 주어 진 제한 조건 하에서 최대 주 변형력(maximal principal stress)를 목적 함수로 최적화 방법을 적용하였다. 또한, 최적화 과정의 계산 속도 향상을 위해 다양한 근사 방법 들을 제안하였다. 이 논문은 (그림 3)과 같이 실제 프린 트된 결과물에 충격을 통해 손상을 입힌 결과와 계산된 구조분석 결과를 비교하여 제안된 방법의 유효성을 검 증하였다. 제안된 방법은 손상 부위를 예측하는데 도움 을 주긴 하지만, 실제 프린트 결과물이 선형성을 띄지 않기 때문에 다소 차이가 있음을 볼 수 있다. 3D 프린팅된 물체는 가상의 3D 공간에 있던 3D 모 델과는 달리 실제 세계의 물리 법칙이 적용되기 때문에 프린트 전에는 예측하지 못했던 문제를 안고 있을 수 있 다. 가장 기본적인 것은 중력의 영향을 받는 물체의 자 세 제어인데, Prevost 등은 인터랙티브 한 3D 모델의 편 집과 내부공간 확보를 통해 무게 중심을 조절함으로써, 3D 프린터를 통해 출력된 결과물이 원하는 자세로 서 있게 하는 연구를 수행하였다[5]. 입력으로 3D 모델이 주어지면, 먼저 모델의 내부를 파내어 모델의 무게중심 이 적절히 위치하는지 검사한다. 이때, 3D 모델이 바닥 과 닿는 각 지점들로부터 이들을 감싸는 최소한의 모양 (convex hull)을 구성하고 무게 중심을 중력의 방향으로 투사하여 그 안에 들어가는지를 검사하는 방법으로 무 게 중심의 적절성 여부를 판단한다. 만약 내부공간 확보 를 통한 무게 중심의 이동만으로 원하는 자세를 안정적 으로 얻을 수 없다면, 사용자가 3D 모델 자체를 수정하 게 하고 다시 위의 검사를 하는 방법을 취하였다. 이 방 법은 프린팅된 물체를 특별한 받침 제작 없이 바닥에 세 우거나 실을 이용해 공중에 매다는 경우 원하는 자세를 얻을 수 있도록 하는 방법을 제시하였으나, 경우에 따라 사용자의 3D 모델 수정을 필요로 한다는 단점이 있다. (그림 4)는 내부공간을 확보와 3D 모델 수정을 통해 무 게 중심을 이동시켜 자세를 제어한 결과를 보여준다. 최근 3D 프린터의 가격이 많이 저렴해지고 제작속도 (그림 3) 변형력 계산결과와 실제 프린트 결과물 손상결과의 비교[4] (그림 4) 내부공간 확보와 3D 모델 편집을 이용한 3D 프린팅 결과물의 자세 제어 예[5] 4 전자통신동향분석 제29권 제1호 2014년 2월
가 많이 향상되었지만 프린트를 위한 재료비의 절감이 나 다시 제작하는데 소요되는 시간을 고려할 때, 프린트 결과물의 구조적인 내구성이나 안정성을 사전에 검사할 필요성이 요구되어, 앞에서 설명한 것과 같이 관련 연구 는 지속적으로 이루어질 것으로 예상된다. III. 조립성 관련 기술 현재 시중에 출시된 3D 프린터는 출력할 수 있는 물 체의 크기가 제한적이어서 큰 물체를 출력하고자 할 때 는 3D 모델을 사용자가 작은 부분들로 나누어 프린트 한 뒤 다시 부분들을 조립하여 원하는 물체를 만들어야 한다는 어려움이 있다. 또한 교육, 완구, 가구 관련 응용 분야에서는 3D 모델을 의도적으로 분할해 사용자가 조 립하도록 하고자 하는 요구가 있어 관련된 기술들이 연 구되기 시작하였다. 2011년 Lau 등은 기존 가구시장에서 판매되는 IKEA 의 42종의 조립식 캐비닛과 11종의 조립식 테이블을 참 고하여 형식적인 문법을 정의한 뒤, 분석을 통해 주어진 3D 모델을 각 파트로 나누고 이들의 구조적인 정보를 활용하여 각 파트를 조립하기 위한 연결장치(connector)를 부착시키는 연구를 수행하였다[6]. 여기서 말하는 형식 적 문법은 일련의 방향성을 지닌 그래프들을 나타내는 것으로, 각 그래프는 하나의 물체를, 그래프 내의 노드 는 하나의 파트를, 노드를 잇는 선은 두 파트 사이의 연 결관계를 정의한다. 3D 모델이 주어지면, 그 모델을 구 성하는 기본 모양과 그들 사이의 접촉관계를 나타내는 그래프로 분석을 한 뒤, 앞서 정의된 문법을 적용하여 구조적인 분석을 수행함으로써 (그림 5)와 같이 3D 프 린터로 출력가능한 최종 그래프로 변환한다. 이 방법은 일반적인 3D 모델에 적용하기에는 제한적이고 문법과 연결방식을 사용자가 직접 정의해야 한다는 단점이 있 다. 2012년 Luo 등은 프린터의 출력 크기를 넘어서는 3D 모델이 주어졌을때, 이들을 프린터에서 출력가능한 최 대 크기로 자동으로 분할하거나 사용자가 지정한 가이 드라인에 따라 분할하고, 각 파트의 연결부분에 연결장 치를 더해 출력 후 조립할 수 있게 하는 방법을 (그림 6) 과 같이 제안하였다[7]. 특히, 파트를 분할할 때는 다양 한 방법이 존재할 수 있기 때문에, 다음의 가이드라인을 만족시키도록 하였고, 빔(beam) 탐색방법을 이용해 최 적의 이진공간분할(Binary space partitioning) 방법을 찾도록 하여 문제의 범위를 좁히고 효율성도 높였다. 프린트 가능성(Printability): 각 파트는 프린터의 제작 크기 안에 들어야 함. 조립 가능성(Assemblability): 출력된 파트들은 서 로 간섭 없이 완성모델을 만들 수 있어야 함. 효율성(Efficiency): 필요한 서브 볼륨의 크기를 최 소화 함. 즉, 너무 작은 부분이 별개의 파트가 되어 서는 안됨. (그림 5) 문법을 이용한 구조분석과 적용 예[6] (그림 6) 3D 모델의 분할과 실제 적용 예[7] 표순형 외 / 3D 프린팅 소프트웨어 기술동향 5
연결장치 부착 가능성(Connector feasibility): 각 파트는 조립을 위한 연결장치 등의 장치가 부착될 수 있을 만큼 커야 함. 구조적인 안정성(Structural soundness): 연결 부 위는 사용 시 큰 힘을 받는 부분으로부터 멀리 위치 해야 함. 미적 감각(Aesthetics): 연결 부위는 주어진 모델의 자연스런 대칭성을 따라야 하며 모델의 외관과 동 떨어지게 너무 눈에 띄거나 하면 안됨. 또 다른 형태의 조립 예는 건축물과 같이 부분적인 요 소들이 모여 전체를 구성하는 블록 형식의 구조물을 생 각할 수 있다. 2013년 Panozzo 등은 사용자가 입력한 3D 모델을 버팀목 없이 스스로 서 있을 수 있는 가장 가 까운 형태의 구조물로 변환하고, 기하학적 모양에서 발 생하는 힘의 흐름을 반영하여 육각형의 블록으로 나눔 으로써 사용자가 프린트 된 결과물을 조립하여 세울 수 있도록 하는 연구를 수행하였다[8]. 이들은 스스로 지탱 할 수 있는 구조물이 열린 경계면, 방향을 달리하여 반 대로 굽은 부분, 날카로운 특징을 갖는 부분에서 가져야 하는 제한 조건을 발견하고, 이로부터 주어진 3D 모델 의 각 지점에서 발생하는 힘의 흐름을 예측하고 힘의 흐 름에 따라 정렬된 새로운 메쉬를 구성한 뒤 이를 다시 원래 3D 모델에 가까워지도록 최적화하는 방법을 사용 하였다. 실제 구성된 모델을 3D 프린터로 출력하여 스 스로 지탱하는 구조물로 조립될 수 있음을 보였으나, 입 력 3D 모델이 높이 장(height field) 형태로 제공되어야 한다는 제약이 있고, 출력된 결과물이 완전히 조립된 형 태에서만 균형을 유지하기 때문에 이들을 조립하려면 (그림 7) 버팀목 없이 스스로 서 있을 수 있는 조립식 구조물의 예[8] 미리 결과물을 얹기 위한 지지대가 있어야 한다는 단점 이 있다. (그림 7)은 입력 3D 모델로부터 Panozzo의 방 법을 사용하여 최종 프린트 결과물을 얻는 과정을 보여 준다. 최근 3D 프린터 기술이 발달하면서 프린팅 성능이 많 이 향상되고 있으나 여전히 3D 프린터에서 출력 가능한 물체의 크기는 30cm 이하 수준에 머물고 있는 상황이 어서 앞서 설명한 방법들과 같이 사용자가 출력하고자 하는 3D 모델을 분할하여 프린트한 후 다시 조립하는 과정을 돕기 위한 관련 기술은 추후에도 계속 연구의 주 제가 될 것으로 전망한다 IV. 운동성 재현 기술 기존의 3D 프린팅은 주로 제품제작을 위한 프로토타 입의 사전제작에 많이 활용되어 왔기 때문에 출력된 프 린트물의 외관을 표현하고 확인하는데 주로 이용되어 왔다. 하지만 3D 프린팅 기술의 급속한 발전과 함께 그 사용자가 일반으로 확대되면서 프린팅되는 3D 모델의 종류도 다양해지고 사용자들은 정적인 물체의 프린팅 뿐만 아니라 프린트된 결과물이 어느 정도 동작이 가능 하기를 원하게 되었다. 1. 관절을 이용한 운동성 최근 들어 캐릭터 모델과 같이 관절을 갖는 물체들 에 운동성을 부여하고자 하는 연구가 진행되었는데, 2012년 Bächer 등은 (그림 8)과 같이 물체의 외부 표면 과 종속성 정보를 갖는 메쉬(skinned mesh) 형태로 3D 모델이 주어졌을 때, 분석을 통해 관절부위를 자동으로 예측하고 사용자가 지정한 운동성에 적합한 관절을 자 동으로 삽입하는 기술을 발표하였다[9]. 3D 모델이 입 력으로 들어오면 애니메이션을 위해 표면 메쉬에 할당 된 가중치 정보로부터 서로 독립적인 부분들을 추출하 6 전자통신동향분석 제29권 제1호 2014년 2월
(그림 9) Cali의 관절 자동생성 결과[10] 다[10]. 이 방법은 Bächer의 방법에 비해 임의의 3D 모 델에 적용할 수 있다는 장점이 있지만, 관절 삽입을 위 한 리깅(rigging), 관절의 위치 및 크기 조정, 각 관절에서 의 제약조건 지정 등 사용자의 개입을 많이 필요로 한다. 2. 기계장치를 이용한 운동성 (그림 8) 외부표면 메쉬로부터 관절을 자동생성한 결과[9] 고 이들 사이에 잠재적인 관절들을 위치시킨다. 관절 사 이의 간섭관계, 안정성 등을 고려하여 일부를 제거하고 메쉬의 뼈대 부분에 관절을 위치시킨 후 최적화과정을 거친다. 관절의 종류와 위치가 결정되면 볼륨형태의 구 형 관절 등을 메쉬에 병합하여 출력을 위한 메쉬를 생성 한다. 이 방법은 애니메이션을 위해 제작된 캐릭터 모델 과 같이 이미 외부 표면 메쉬에 가중치가 할당되어 있는 경우에만 적용가능한 방법으로, 가중치 정보가 없거나 필요한 위치에 빠져있는 경우에는 해당부분에 관절을 생성할 수 없다는 단점이 있다. 같은 해 Cali 등은 일반 3D 모델에 대해 (그림 9)와 같이 출력 후 별도의 조립 없이 관절을 사용할 수 있도 록 관절을 함께 프린트 하는 논문을 발표하였는데, 프린 팅 과정에서 관절이 다른 부위에 합쳐지거나 또는 관절 이 너무 헐거워서 정적인 자세를 취할 수 없게 되는 등 의 문제를 해결하고자 다양한 관절에 대해 테스트를 수 행하였고 사용자가 손쉽게 관절 삽입 위치와 회전에 대 한 제약 조건을 지정할 수 있는 인터페이스를 제공하였 3D 프린팅을 위해 물체에 관절 삽입을 통해 운동성을 부여하는 앞의 논문들과는 달리 3D 모델의 구조로부터 기어 삽입 등을 통해 기계적인 동작이 가능한 형태로 변 환하는 기술들도 발표되었다. Zhu 등은 사용자가 3D 모델과 함께 각 파트에 대해 시간에 따라 변하는 이동과 회전 정보를 제공하면 (그림 10)과 같이 3D 모델 아래 (그림 10) 각 파트의 이동과 회전정보로부터 기계 동작구조를 생성한 결과와 사용된 장치들[11] 표순형 외 / 3D 프린팅 소프트웨어 기술동향 7
에 위치한 기계 장치에서 벨트 폴리(belt-pulley), 기어 (gear), 크랭크 슬라이더(crank-slider) 등의 부속 조합 을 통해 사용자가 원하는 동작을 재현하는 기술을 발표 하였다[11]. 이 방법은 원하는 동작을 재현하는 동시에 기계장치의 복잡도를 낮추고 기계장치들이 잘 분산되도 록 하기 위해 장치들의 위치와 매개변수를 최적화 하는 방법을 사용하였다. 기계적인 요소를 이용해 운동성을 부여하는 또 다른 예로는 2013년에 Coros 등이 발표한 논문이 있다[12]. 이 방법은 먼저 관절을 갖는 캐릭터 형태의 3D 모델을 입력으로 받은 뒤, 사용자가 움직임을 지정하고 싶은 끝 부분을 선택해 원하는 움직임을 모션 커브(motion curve) 형태로 직접 그리게 한다. 사용자가 지정한 각각 의 모션 커브에 대해, 그 움직임을 가장 잘 표현하는 적 절한 기계 조합을 미리 계산된 데이터베이스로부터 찾 아 부착하고 원하는 움직임을 갖도록 매개변수를 최적 화 한다. 모든 부분이 완성되면 이들을 다시 기어 체인 형태로 엮고 서로 충돌이 없도록 조정한 다음 끝으로 각 컴포넌트들을 지지할 수 있는 구조물을 만들어 출력을 하게 된다. 이 방법은 표현할 수 있는 동작의 범위가 데 이터베이스에 미리 정의된 동작으로 제한되는 약점이 있지만, (그림 11)과 같이 다양한 적용 예를 제시하여 제안 방법의 유용성을 보였다. 같은 해인 2013년에 Ceylan 등은 위의 방법들과 유 사한 목적을 가지나 모션 캡쳐(motion capture) 장비로 부터 얻은 실제 사람의 동작을 기계적인 메커니즘으로 자동변환하는 기술을 발표하기도 하였다[13]. 사람의 동작이라는 제한된 범위이지만 메커니즘 구성과정을 자 동화하여 이전 방법들과는 차별화를 하였다. 3D 프린팅 결과물에 기계장치를 이용하여 운동성을 부여하는 기술은 아직까지는 완구형태의 출력물에 주로 적용되고 있지만 3D 프린팅 시장의 확대와 함께 로봇, 의료 등 제한된 운동성을 갖는 보조장치를 필요로 하는 다양한 분야에서 응용될 수 있을 것으로 기대된다. (그림 11) Coros 등의 기계 동작 모델링 결과의 예[12] 3. 물질의 특성을 이용한 운동성 앞서 설명한 방법들이 관절이나 기계적인 장치의 삽 입을 통해 프린트된 결과물의 운동성을 재현한 것과는 달리 3D 프린터에서 제공하는 재료의 특성을 고려하여 프린트된 결과물의 물리적인 성질을 원하는 형태로 표 현하고자 하는 연구도 있었다. 앞의 연구들과는 운동성 의 의미가 다르지만, 향후 3D 프린터기술이 발달하면 재질을 혼합하여 물리적 특성을 재현하는 기술이 주목 받을 것으로 예상되어 본 절에서 같이 설명한다. 2010년 Bickel 등은 프린터에서 제공하는 여러 재질 을 출력하여 물리적 특성을 측정하고, 이로부터 얻어진 데이터를 기반으로 한 시뮬레이션을 통해 (그림 12)와 같이 기본 재질을 여러 층으로 구성하여 필요한 물리적 특성을 프린트 결과물에 부여하는 연구를 수행하였다 [14]. 이들은 프린트 된 재질에 대해 수행한 물리적 실 험으로부터 데이터 특성을 얻은 뒤 유한요소(finite (그림 12) 기본 재질을 여러 층을 구성하여 원하는 물리적 특성을 재현한 예[14] 8 전자통신동향분석 제29권 제1호 2014년 2월
element) 모델로 비선형적인 재질의 특성을 표현하였 고, 프린트하고자 하는 물건의 물리적 특성을 입력으로 받아 이를 목표로 다양한 재질의 조합을 최적화하여 대 상 물체에 근접한 특성의 결과물을 프린트할 수 있었다. 이 연구는 압축에 대한 물질의 특성만을 대상으로 하였 지만, 이후 물질의 특성 재현을 위한 연구의 기본이 될 것으로 보인다. 2013년 Skouras 등은 변형가능한 3D 모델과 함께 이 것이 취할 수 있는 여러 자세가 주어지면, 프린트된 결 과물이 그 자세를 취할 수 있게 하는 조정포인트(actuator) 를 물체 표면에 배치하고 그 물체가 원하는 자세를 취할 수 있는 변형가능 상태가 되도록 재질의 내부분포를 최 적화하는 기술을 발표하였다[15]. 입력으로 3D 모델이 들어오면 먼저 사용자가 초기 조정 포인트를 삽입하게 하거나 그것이 어려운 경우 자동으로 초기 조정 포인트 를 삽입하고, 이를 기반으로 주어진 모델이 원하는 자세 를 취할 때 전체적인 거리가 최소화되도록 조정 포인트 들을 자동으로 조정해 준다. 이 때, 조정 포인트에서 사 용될 실, 핀 등의 조정방법을 고려하여 최적화를 수행한 다. 프린트 시 사용될 재질의 분포를 최적화하기 위해서 는 사용가능한 재질 중 목표로 하는 자세를 취하기에 더 적합한 재질이 각 부분에 사용되도록 최적화를 수행하 여 부분 부분 마다 재질의 분포가 구분되도록 하였다. 이 논문은 주어진 재질의 혼용하여 원하는 변형 특성을 재현할 수 있는 방법을 제안하였지만, (그림 13)과 같이 두 가지의 재질만 사용하였고 원하는 목표 자세를 취하 기 위한 방법이 다양할 수 있다는 점은 충분히 고려하지 않아 향후 개선의 여지를 남겼다. (그림 13) 기본 재질의 분포 최적화를 통한 변형 특성 재현 예[15] 현재까지 출시된 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 프린팅 소프트웨어 기술동향 9
술들도 한번 돌아볼 필요가 있을 것으로 보인다. 3D 프린팅 관련 소프트웨어 기술은 최근 2-3년 내에 크게 관심을 받기 시작한 분야로 3D 프린팅 적용분야가 확대되면서 더 많은 연구가 이루어질 것으로 예상된다. 본고가 현재까지 진행되었던 관련 연구들을 파악하고 향후 연구의 방향을 설정하는데 조금이나마 도움이 되 었기를 바란다. 용어해설 additive manufacturing 덩어리 형태로 주어진 재료를 깎아서 물체를 만드는 대신 한층 한층 쌓아 올려 원하는 모델을 만드 는 기술 mesh 삼차원 공간에서 3D 모델을 표현하는 한 방법으로, 작 은 다수의 삼각형 또는 다각형을 연결하여 물체의 외관을 감싸 는 망을 형성함. 약어 정리 CAD FDM 참고문헌 Computer Aided Design 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 3Dprintable 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. 10 전자통신동향분석 제29권 제1호 2014년 2월