HOME > Browse Articles > Archive

Archive

Journal of the Korean Society for Precision Engineering - Vol. 37 , No. 2

[ REGULAR ]
Journal of the Korean Society for Precision Engineering - Vol. 37, No. 2, pp.149-155
Abbreviation: J. Korean Soc. Precis. Eng.
ISSN: 1225-9071 (Print) 2287-8769 (Online)
Print publication date 01 Feb 2020
Received 29 Jun 2019 Revised 12 Oct 2019 Accepted 24 Dec 2019
DOI: https://doi.org/10.7736/JKSPE.019.088

와이어 아크 적층 제조 방식에서 적층 경로 생성 소프트웨어 구현에 관한 연구
안치우1 ; 김도혁2 ; 김찬규2 ; 조영태2, #
1한국항공우주산업 KFX 형상설계팀
2창원대학교 기계공학부

Development of a Software for Path Planning in Wire Arc Additive Manufacturing
Chi Woo Ahn1 ; Do Hyeog Kim2 ; Chan Kyu Kim2 ; Young Tae Cho2, #
1KFX Configuration Design Team, Korea Aerospace Industries
2School of Mechanical Engineering, Changwon National University
Correspondence to : #E-mail: ytcho@changwon.ac.kr, TEL: +82-55-213-3600, FAX: +82-55-275-0101


Copyright © The Korean Society for Precision Engineering
This is an Open-Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License (http://creativecommons.org/licenses/by-nc/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
Funding Information ▼

Abstract

Along with the recent spread of 3D printing technology, researchers have developed various materials and equipment, now widely disseminated among individuals and industries. However, most of the current metal 3D printers generate the cutting paths using cutting software only, which doesn’t consider heat input of the plasma or laser. In the wire arc additive manufacturing (WAAM) system, a projection algorithm is created through the CATIA application programming interface. Different from the existing cutting algorithm, this algorithm converts a two-dimensional (2D) image into a three-dimensional (3D) structure by orthogonal projection and a voxel algorithm that expresses a 3D finite volume element. To fix the (x, y) coordinates and the z (Height) coordinate to be on the 2D plane, the projection algorithm models the 3D geometry orthogonal to the 2D plane. The bead modeling data and the step-over values generating the laminate shape were determined. The core of the voxel algorithm that models the free-shape lamination obtains the point location of the wire arc, considering the bead size and the distance between the layer spacing and the voxel center point (According to the processing conditions). Finally, the correct projection and voxel algorithms are selected using a lamination path-acquisition strategy.


Keywords: Additive manufacturing, CATIA API, Voxel, Wire arc additive manufacturing, Visual basic
키워드: 적층 제조, 카티아 에이피아이, 복셀, 와이어 아크 적층 제조, 비주얼 베이직

1. 서론

와이어 아크 적층 제조(Wire Arc Additive Manufacturing, WAAM) 방식이란 기존의 아크 용접 방법을 적층 공정에 응용하는 금속 3D 프린팅 기술을 말한다. 금속 소재의 전극과 모재 사이에 높은 전류와 전압을 이용하여 아크 플라즈마를 발생시킴으로써 금속을 녹여 이를 층층이 쌓아서 3차원의 금속 제품을 제작할 수 있다. 금속 소재를 적용한 3D 프린팅 기술은 기존의 절삭 가공 공정과 비교되어 제품의 성형, 주조, 금형 및 유지 보수 등에 적용되고 있으며, 특히 아이디어의 구현을 위한 시제품 제작에 많이 이용되고 있다.1-3

생산 분야에서는 레이어를 쌓아서 출력물을 제작하는 슬라이싱(Slicing) 방식으로 기계 부품의 정밀한 내부 구조를 구현하고, 제품 개발에 소요되는 비용을 절감하고 있다.3 하지만 아직까지 금속 3D 프린팅 공정을 하는데 있어 많은 경우에 절삭 가공 전용 소프트웨어를 사용하고 있으며 금속 적층의 특수한 상황을 고려하지 않고 절삭 가공 경로 생성과 유사한 방식으로 적층 가공 경로 생성을 하는 상황이다.4-10

와이어 아크 적층 제조 공정에서는 전류, 전압에 따른 입열 조건이 하나의 레이어를 구현하는 중요한 변수가 된다.5 본 연구에서는 이러한 입열 조건에 따라 형성되는 비드 형상을 고려하여 적층 경로를 생성하는 소프트웨어를 개발하였다. WAAM System에서 실험을 통해 확보된 비드 형상 데이터를 바탕으로 출력하고자 하는 3D 모델에 대한 적층 경로를 생성하기 위한 두 종류의 Algorithm을 제안하였으며 제안된 Projection Algorithm과 Voxel Algorithm을 이용하여 자유 곡면 적층 제조가 가능한 소프트웨어를 구현하였다.


2. 프로그램 개발

3D 모델을 생성하기 위한 S/W로 Dassault System사의 3D CAD인 CATIA V5-6R2016을 적용했다. 현재 시중에 판매되고 있는 슬라이싱 프로그램은 STL 파일 기반으로 적층 경로가 생성된다.6 STL 파일은 삼각형을 이루는 세 개의 꼭짓점과 벡터를 기본 형식으로 하며, 바이너리(Binaries)와 아스키(ASCII) 방식으로 데이터를 저장한다. 본 연구에서는 범용 CAD의 장점을 살려 STP 파일을 기준으로 세 종류의 Algorithm을 구현하는데 그것은 첫째, 3차원 형상을 2차원 평면에 직교 투영하는 Projection Algorithm,11 둘째, 3차원 형상을 포인트로 대체한 후 사용자가 지정한 부피를 적용시키는 Voxel Algorithm,12 그리고 앞의 두 Algorithm을 적절히 혼합하여 사용하는 Hybrid Algorithm이다.

사용된 언어는 Microsoft의 윈도우 오피스 응용 프로그램용 매크로 언어인 VBA (Visual Basic for Application)이며 이는 Visual Basic을 기반으로 매크로 언어를 범용화한 것으로 Excel 5.0에 처음 적용되었고, 현재는 워드, 엑셀 등의 오피스 프로그램에 많이 사용되고 있다. 프로그램 개발에는 Microsoft사의 Visual Basic 6.0을 사용하였다. CATIA V5와 호환성이 높아 현재도 널리 활용되고 있다.

먼저 WAAM System에서 전류, 전압을 공정 변수로 하여 얻은 비드의 폭, 높이를 측정한 후 이를 금속 적층 가공 경로를 생성하는데 기초데이터로 적용한다.

적층 가공 경로 생성에 있어 실제와 유사한 정밀도를 도출하기 위해서는 Z(높이)방향의 슬라이싱될 간격을 설정해야 한다. 측정된 비드의 높이에 따라 슬라이싱 간격이 결정된다.

프로그래밍을 통해 단순한 계산 결과를 보여주는 것은 해독의 곤란함과 미숙련자의 접근성 제한 등의 문제를 일으킨다. 이를 개선하고자 그래픽 사용자 인터페이스(Graphical User Interface, 이하 GUI)를 통해 보다 시각적인 환경에서 사용자가 입력, 변수 제어를 할 수 있도록 하였다.

3D CAD 중에서 CATI A의 최대 장점은 복잡한 곡면의 정의와 Re-Use 기능 사용이다. Wireframe and Surface Design (GS1), Generative Shape Design (GSD) 등의 강력한 도구를 이용해 3D 형상과 거의 동일한 결과물 도출이 가능하며, 이미 생성한 모델에 추가적인 모델링을 할 수 있는 Multi Body Method 구현이 가능하다. 또한 3D 형상 Import시 여러 개의 파일을 동시에 제어 가능하다는 장점이 있다.13 C ATI A를 활용함으로써 이러한 장점들이 개발 S/W에 적용 가능하게 된다.


3. Program Process

개발 프로그램의 GUI는 Fig. 1과 같으며, 3D Model 불러오기, WAAM System에서의 공정 조건 입력, 경로 생성 조건, Voxel Algorithm, Projection Algorithm 적용까지 사용자가 접근하기 쉽도록 설계하였고 Table 1의 환경에서 개발되었다. 본 S/W는 용접기와 용접 로봇을 연동하여 사용할 목적으로 제작되었으며, 용접 로봇에서 제어 가능한 이동속도와 같은 조건은 고려하지 않았다.


Fig. 1 
Program GUI

Table 1 
Coordinate information exported to excel
Point No. X Y Z Welding current (A)
PT_1_1 3 3 0 100
PT_1_2 3 97 0 100
PT_2_1 97 97 0 100
PT_2_2 97 3 0 100

3.1 Projection Algorithm

Projection Algorithm은 주로 평면으로 구성된 단순 모델의 적층 경로를 생성할 때 적합한 방법이며11 Fig. 2에 Projection Algorithm을 적용하는 과정을 나타내었다.


Fig. 2 
Projection algorithm flow chart

3D 모델 Import는 CATIA V5에서 Export 가능한 확장자 .stl, .igs, .model, .stp, .3dmap, .3dxml, .amf, .cgr, .hcg, .NavRap, .stpZ, .vps, .wrl으로 하여 Import 가능하도록 프로그래밍하였다. 아래 코드와 같이 VBA에서 Step 파일을 불러와서 Open한다.

Private Sub Command1_Click()

FilePath = CATIA.FileSelectionBox (“Select a CATPart file”, “*.CATPart”, CatFileSelectionModeOpen)

CATIA.Documents.Open (FilePath)

End Sub

입열 조건에 따른 적층 비드의 기본 형상을 비드의 높이와 너비로 특징을 지우고 이를 데이터베이스화하였으며 Fig. 3에 이러한 높이와 너비로 결정되는 간략화된 비드의 형상을 보여주고 있다. 그 다음 GUI에서 비드 간의 거리 값인 Step-Over를 정의한다. 아래의 코드 내용과 같이 GUI에서 Step-Over 값을 지정하면 CATI A에 있는 Parameter에 값을 전달하고 모델링 시 VBA에서 입력받은 값을 Fig. 4와 같이 CATIA 모델링에 반영한다.


Fig. 3 
Definition of height and width in bead shape model


Fig. 4 
Example of bead shape model in CATIA V5: (Step-Over length: 3 mm)

Private Sub CommandButton5_Click()

 Dim part As part

 Dim PartDoc As PartDocument ‘

 Set PartDoc = CATIA.ActiveDocument

 Set part = PartDoc.part

 Set Para1 = part.Parameters.Item (“StepOver_len”)

 Para1.Value = TextBox5.Text

End Sub

그 다음은 Fig. 5에서와 같이 3D 형상 입력 후 높이 방향(Z-Direction)으로 슬라이싱 레이어의 개수를 입력한다. 간격이 좁을수록 실제 3D 모델과 유사한 결과물이 도출된다. 레이어 간격이 좁아지면 작업 횟수가 늘어나 생산성이 저하되고 열변형이 발생하며 용융 금속의 흘러내림 현상이 발생하기 때문에 추가적으로 형상 변수를 고려해야 하지만 이러한 현상은 냉각 시간을 조절하여 제어한다는 가정하에 본 기초 Algorithm에서는 고려하지 않았다.


Fig. 5 
Create 10 planes in 3D shape and specific tree

슬라이싱된 평면에 GUI에서 직교 투영하기 위한 API를 호출하고 3D 형상은 차원 평면에 투영된다. 사용되는 좌표계는 CATIA의 3D 모델링 시 사용되던 Global Axis가 사용되고 중립 포멧인 STP 파일을 사용했기에 모델링 시 사용되었던 포인트의 좌표는 내부 정보에서 찾아볼 수 있다. 3D 형상을 비드의 높이 만큼 슬라이싱된 평면에 대응되도록 투영을 하고, 각 평면마다 반복 작업이 수행되므로 For 구문을 사용하며 투영은 2D 스케치 형태로 저장된다.

For i = 1 To UserForm1.TextBox1.Text

Set reference1 = hybridShapes1.Item(“Plane” & i)

Set sketch1 = sketches1.Add(reference1)

Set sketch1Variant = sketch1

sketch1Variant.SetAbsoluteAxisData arrayOfVariantOfDouble1

part1.InWorkObject = sketch1

Set factory2D1 = sketch1.OpenEdition()

Set geometricElements1 = sketch1.GeometricElements

Set axis2D1 = geometricElements1.Item(“AbsoluteAxis”)

Next i

적층 경로 좌표 계산을 위해 CATI A에서 포인트의 좌표값을 측정하는 API를 호출해서 Excel로 Export하는 GUI를 생성하였고 그 한 예를 Table 1에 보여주고 있다.

3.2 Voxel Algorithm

Voxel Algorithm은 자유 곡면 형상으로 구성된 모델의 적층 경로 생성할 때 적합한 방법이며,12 Fig. 6에는 Voxel Algorithm을 적용하는 과정을 나타내었다.


Fig. 6 
Voxel algorithm flow chart

3D 형상 Import와 공정 조건 입력은 Projection Algorithm과 동일하며 Fig. 7과 같이 임의의 공간에 3D 포인트를 생성시킨다. 포인트 생성 시 수평 간격은 Projection Algorithm의 Step-Over 변수를 사용하고, 수직 간격은 ‘층 간격’이라는 변수를 사용한다. 임의의 공간 위치에서 3D 형상을 기준으로 내부 또는 외부인지 영역을 판단하는데, 예를 들면 Fig. 8의 Points 1, 3은 3D 형상 내부의 영역이고, Point 2는 3D 형상 외부의 영역에 속하게 된다. CATIA에서는 3D 형상 내부의 포인트는 거리를 0mm로 간주하고, 3D 형상 외부의 포인트는 무게 중심점으로부터 실제 거리를 측정한다. 다음의 API는 거리 값이 0일 경우 포인트를 삭제하고, 0이 아닌 경우 포인트를 유지시킨다.


Fig. 7 
Create the 3D point


Fig. 8 
Internal point and external point

유지되는 포인트를 기준으로 사용자가 원하는 부피의 Voxel을 생성시킨다. GUI에서 Voxel 간격, Voxel Radius의 변수를 입력 받아 원기둥의 Voxel이 Fig. 9와 같이 생성 됨을 확인할 수 있다.


Fig. 9 
Example of voxelization of 3D model

If Not IsInsideParam.Value = 0 Then

' length1 = 0

oSelection.Add oHybridShapes.Item (i)

i = i - 1

End If

oSelection.Add formula1

oSelection.Delete

3.3 Hybrid Algorithm

3D 형상에 따라 앞에 소개된 두 Algorithm의 강점만을 사용하여 실제 형상과 유사한 적층 경로 생성을 위해 두 방법을 조합한 Hybrid Algorithm을 구현할 수 있다. Fig. 10에서와 같이 적층 방향에 따라 수평 적층과 수직 적층을 사용자가 판단하고 형상에 따라 경로 및 Voxel 생성을 수행한다.


Fig. 10 
Hybrid algorithm flow char