본문으로 건너뛰기

© 2026 Molayo

Zenn헤드라인2026. 05. 15. 02:59

Kiro를 활용한 AI 지원 엔지니어링 — 텍스트를 통한 CFD 및 3D 모델링

요약

본 기사는 AWS의 AI 코딩 어시스턴트 'Kiro'를 활용하여 자연어 지시만으로 복잡한 엔지니어링 시뮬레이션(CFD, 3D 모델링 등)을 구축하는 과정을 소개합니다. 참가자는 단 한 줄의 코드도 작성하지 않고도 유체 역학 시뮬레이션을 실행하고, 파라메트릭 디자인 및 구조 해석(CAE)까지 수행할 수 있습니다. Kiro는 자연어 대화에 기반하여 기존 코드를 수정하거나 새로운 기능을 추가하는 방식으로 엔드 투 엔드(end-to-end) 설계부터 검증까지의 통합 파이프라인을 제공합니다.

핵심 포인트

  • Kiro를 통해 자연어 프롬프트만으로 CFD 시뮬레이션 구축 및 3D 모델링이 가능해졌다.
  • Lattice Boltzmann Method (LBM) 기반의 유체 역학 시뮬레이션을 코딩 없이 구현하고 실시간 탐색 및 시각화가 가능하다.
  • AI는 설계(Design) → CAD 편집 → 구조 해석(CAE) → 강화학습(Reinforcement Learning)으로 이어지는 통합 엔드 투 엔드 파이프라인을 구축할 수 있다.
  • Kiro는 기존 코드에 기능을 추가하거나 수정하는 방식으로 작동하여, 반복적인 개발 과정에서 효율성을 높인다.

서론

제조 엔지니어링 작업에서 시뮬레이션을 구축하고 3D 모델을 생성하는 것은 필수적인 과정입니다. 하지만 이러한 작업에는 전문 소프트웨어에 대한 숙련도와 그에 상응하는 시간이 필요합니다.

본 기사에서는 AWS의 AI 코딩 어시스턴트(AI coding assistant)인 "Kiro"를 사용하여 자연어 지시만으로 유체 시뮬레이션과 3D 모델을 구축하는 "Auto&Manufacturing - Kiro for Business Users" 워크숍을 소개합니다.

참고: 이 워크숍에서는 Kiro CLI의 파운데이션 모델(foundation model)로 Claude Opus 4.6이 사용됩니다. 생성된 코드의 품질과 동작은 모델 버전에 따라 다를 수 있습니다.

참고: 본 기사에서 보여주는 테스트에서는 Kiro가 기본적으로 Python에서 사용 가능한 라이브러리만을 사용하며, 특정 CAD 소프트웨어나 시뮬레이션 소프트웨어를 사용하지 않고 3D 모델링과 유체 시뮬레이션을 실행합니다.

워크숍은 다음 두 가지 모듈을 포함합니다.

모듈내용소요 시간
엔지니어링 (Engineering)격자 볼츠만 방법 (lattice Boltzmann method)을 사용한 CFD 시뮬레이션 구축25분
제품 디자인 (Product Design)NACA 익형(airfoil) 터빈 블레이드의 파라메트릭 디자인 (Parametric design)25분

두 모듈 모두 참가자가 단 한 줄의 코드도 작성하지 않고, 자연어 대화만을 사용하여 엔지니어링 결과물을 생성하는 경험을 제공합니다.

[이미지 1] 워크숍 결과물 개요

2×2 그리드로 배열된 CFD 속도장 (velocity field), 터빈 블레이드 비교, 제트 엔진 및 로봇 팔 이미지. 모두 자연어 지시만으로 생성되었습니다.

후속편이 게시되었습니다: 본 기사에서는 STL 형식의 출력을 다루었지만, 후속편에서는 한 단계 더 나아가 자연어 지시만으로 STEP 형식의 3D 모델 출력을 달성하고 FreeCAD에서 편집하는 과정을 다룹니다.

추가 후속편도 게시되었습니다: 위 후속편에서 STEP을 통해 편집된 로봇 팔을 사용하여, Kiro가 FreeCAD FEM을 통해 구조 해석 (CAE)을 수행하도록 하고 응력(stress)과 변위(displacement)를 정량적으로 평가했습니다. 이제 설계 → CAD 편집 → 강도 검증으로 이어지는 엔드 투 엔드 (end-to-end) 파이프라인이 완성되었습니다.

그리고 4번째 후속편도 발표되었습니다: 지금까지 설계, 편집 및 강도 검증을 마친 로봇 팔에 흡착식 그리퍼 (suction-cup gripper)를 추가하였으며, NVIDIA Isaac Sim / Isaac Lab에서 **4,096개의 병렬 환경을 활용한 강화학습 (PPO)**을 실행했습니다. 이제 AI가 설계한 로봇이 스스로의 움직임을 학습하고 있습니다 — 즉, 설계 → CAD 편집 → CAE → 강화학습 (reinforcement learning)으로 이어지는 엔드 투 엔드 (end-to-end) 파이프라인을 완성했습니다.

모듈 1: CFD 시뮬레이션 — 물리학을 이해하는 AI

개요

첫 번째 모듈에서는 2D 채널 내부에 배치된 실린더 주변의 유체 분석을 수행합니다. 참가자가 Kiro에 다음과 같은 자연어 프롬프트 (natural-language prompt)를 입력하기만 하면 CFD 시뮬레이션이 구축됩니다.

I want to build an interactive 2D fluid dynamics simulation in Python
that visualizes flow around a cylinder.
Setup:
...

용어 사전 (Glossary)

Lattice Boltzmann Method (LBM): 유체 운동을 계산하는 방법입니다.

Re=20은 안정적인 흐름에서 시작하는 설정입니다. 쉽게 말해, 이 프롬프트는 다음과 같이 말하고 있습니다: "2 m × 0.8 m 크기의 수로에 원형 기둥을 배치하고, 왼쪽에서 물을 흘려보낸 뒤, 격자 기반 방식 (grid-based approach)을 사용하여 이를 계산 및 시각화하세요." 참가자들은 이 프롬프트를 Kiro에 직접 붙여넣을 수 있으며, 코드는 자동으로 생성됩니다.

1단계: 시뮬레이션 탐색

생성된 시뮬레이션에는 슬라이더가 내장되어 있어, 입구 속도 (inlet velocity)와 실린더 직경을 실시간으로 변경할 수 있습니다.

입구 속도 (Inlet velocity)레이놀즈 수 (Reynolds number)관찰된 현상
0.05 m/s~10안정적이고 대칭적인 흐름
...

2단계: 시각화 모드 추가

동일한 채팅 세션 내에서 기존 시뮬레이션에 기능을 추가할 수 있습니다. Kiro는 코드를 처음부터 다시 쓰는 대신, 기존 코드에 기능을 추가합니다.

라디오 버튼을 통해 전환 가능한 세 가지 시각화 모드를 추가해 주세요.
어두운 배경 스타일을 유지하세요:
1. 속도 크기 (Velocity magnitude) (현재 — inferno 컬러맵 + 유선 (streamlines))
...

3단계: 출판 품질의 그림 생성

보고서 및 발표 자료에 사용하기 위해 고해상도 정적 이미지를 생성합니다.

generate_figures.py라는 이름의 스크립트를 생성해 주세요.
입구 속도 0.25 m/s (Re=50)에서 5000 타임 스텝 (time steps) 동안 시뮬레이션을 실행하고,
출판 품질의 그림 세 개를 PNG로 저장하세요.
...

[이미지 2] 속도장 (Velocity field) 시각화

inferno 컬러맵 (matplotlib 컬러맵 프리셋 — 값이 높을수록 밝음)을 사용한 속도장입니다. 실린더 뒤쪽의 후류 (wake) 구조가 명확하게 시각화되어 있습니다.

[이미지 3] 와도장 (Vorticity field) 시각화

RdBu_r 컬러맵을 사용한 와도장입니다. 빨간색과 파란색은 서로 다른 회전 방향을 나타냅니다.

4단계: 파라미터 연구 (Parameter study)

단일 명령으로 다양한 조건에 따른 비교 이미지를 생성할 수도 있습니다.

parameter_study.py라는 이름의 스크립트를 생성해 주세요.
다섯 가지 서로 다른 입구 속도 (0.05, 0.1, 0.2, 0.35, 0.5 m/s)에서 각각 4000 타임 스텝 동안 시뮬레이션을 실행하고,
...

[Image 4] 레이놀즈 수 (Reynolds number) 비교

다섯 가지 레이놀즈 수에서의 와도 (Vorticity) 필드. 레이놀즈 수 (Re)가 증가함에 따라 와류 방출 (Vortex shedding)이 더 뚜렷해집니다.

Step 5: HTML 보고서 생성

마지막으로, 모든 결과물을 수집하는 보고서를 생성합니다.

cfd_report.html이라는 이름의 HTML 보고서를 생성해 주세요. 내용:
1. 제목 "CFD 시뮬레이션 보고서 — 채널 내 실린더 주변의 유동"
2. 시뮬레이션 파라미터 (터널 크기, 실린더 위치, 유체
...```

시뮬레이션 구축부터 시각화 확장, 출판 품질의 도표 제작, 파라미터 연구 (Parameter study), 그리고 보고서 생성에 이르기까지 — 모든 과정이 단일 채팅 세션 내에서 다섯 번의 지시만으로 완료됩니다.

## Module 2: 제품 디자인 — 대화를 통한 디자인 반복 (Design Iteration)

### 개요

두 번째 모듈에서는 NACA 에어포일 (Airfoil) 단면을 가진 파라메트릭 터빈 블레이드 (Parametric turbine blade)를 설계하고 반복 개선합니다. 전통적인 CAD 워크플로우에서는 파라미터가 변경될 때마다 소프트웨어 내에서 수동 작업이 필요하지만, 본 워크숍에서는 대화를 통해 디자인을 발전시켜 나갑니다.

참고 — NACA: NASA의 전신인 National Advisory Committee for Aeronautics의 약어입니다. 수학적 공식으로 에어포일 단면을 정의하는 "NACA 에어포일" 시리즈는 잘 알려져 있습니다. 4자리 숫자는 두께 및 캠버 (Camber)와 같은 파라미터를 지정합니다. 여기서 "두께비가 12%인 NACA 대칭 에어포일"은 최대 두께가 시위 길이 (Chord length)의 12%인 대칭 에어포일 단면을 의미합니다.

### 디자인 반복 워크플로우

워크플로우는 다음 세 단계로 진행됩니다.

### Step 1: 기본 디자인 생성

첫 번째 프롬프트에서 모든 블레이드 파라미터가 지정됩니다.

turbine-blade라는 폴더를 생성해 주세요.
파라메트릭 터빈 블레이드를 생성하고 이를 STL 파일로 저장하는
generate_blade.py라는 Python 스크립트를 작성해 주세요.
...```

[Image 5] 기본 블레이드의 4면도

생성된 기본 블레이드의 등각 투영도 (Isometric), 정면도, 평면도 및 측면도.

Step 2: STL 검사

우리는 생성된 형상에 대해 Kiro에게 질문합니다.

STL 파일을 로드하고 다음 내용을 알려주세요:
1. 삼각형(triangles) 및 정점(vertices)의 개수
2. 경계 상자(Bounding-box) 치수 (mm 단위의 X, Y, Z 범위)
...

Step 3: 대화형 설계 변경 (Conversational design changes)

동일한 세션 내에서, 비틀림 각도(twist angle)와 테이퍼(taper)를 변경한 수정 버전을 생성하고 비교 시각화(comparison visualization)를 생성합니다.

다음 변경 사항을 적용하여 두 번째 블레이드를 생성하도록 블레이드 생성기(blade generator)를 수정해 주세요:
- 비틀림 각도(twist angle)를 15°에서 25°로 증가 (유동 전환(flow turning) 개선)
...

[Image 6] 설계 변체(design variants) 비교

상단 행: 기본형(파란색) 대 수정형(주황색)의 등각 투영(isometric-view) 비교. 하단 행: 세 군데의 스팬 방향(spanwise) 위치에서의 단면(cross-section) 중첩.

Step 4: 루트 필렛(root fillet) 추가

기존 형상에 후처리(post-processing)를 추가하라는 지시입니다.

블레이드 루트 접합부(blade root junction)에 반경 3mm의 필렛(fillet)을 추가해 주세요.
필렛은 블레이드 표면에서 평평한 장착 플랫폼(z=0 위치의 50mm x 20mm 직사각형)으로 부드럽게 이어져야 합니다.
...

Step 5: 설계 보고서 생성 (Design report generation)

blade_report.html이라는 이름의 HTML 보고서를 생성해 주세요. 내용:
1. 제목: "Turbine Blade Design Iteration Report"
2. 기본형 대 수정형의 파라미터 비교 테이블 (블레이드 길이, 
...

Step 6: 제조 데이터 내보내기 (Exporting manufacturing data)

export_manufacturing.py라는 이름의 스크립트를 생성해 주세요:
1. 두 STL 파일 모두 로드
2. 메쉬 품질(mesh quality) 검증 (퇴화된 삼각형(degenerate triangles) 및 
...

이 모듈이 보여주는 것

"CAD 소프트웨어 실행 → 수동으로 파라미터 변경 → 재렌더링(re-render) → 비교 이미지 생성"으로 이어지는 전통적인 과정이 대화를 통해 단 몇 분 만에 완료됩니다. 특히 형상 탐색 및 파라미터 연구를 위한 설계 초기 단계에서 이 접근 방식은 상당한 시간 절약 효과를 제공합니다.

적용 사례: 더 복잡한 산업용 기계의 3D 모델링

우리는 워크숍 접근 방식을 더 복잡한 3D 모델링으로 확장했습니다. 여기에서 두 가지 사례를 소개합니다.

사례 1: 터보팬 제트 엔진 (Turbofan jet engine)

제트 엔진은 나셀 (nacelle), 팬 블레이드 (fan blades), 압축기 (compressor), 연소기 (combustor), 터빈 (turbine), 그리고 배기 노즐 (exhaust nozzle)을 포함한 많은 섹션으로 구성된 복잡한 형상입니다. 다음과 같은 프롬프트를 사용하여, 매개변수화된 섹션(parameterized sections)을 가진 3D 모델을 한 번에 생성했습니다.

나셀, 팬 블레이드, 압축기, 연소기, 터빈, 배기 노즐을 포함한 여러 섹션으로 구성된 터보팬 제트 엔진의 단순화된 3D 모델을 생성하는 generate_jet_engine.py라는 Python 스크립트를 작성해 주세요.
■ 전체 엔진 구성:
...

스크립트 상단의 매개변수(parameters)를 변경하는 것만으로, 팬 블레이드의 개수나 압축기 단(compressor stages)의 수가 다른 다양한 변형 모델을 즉시 생성할 수 있습니다.

[Image 7] 제트 엔진의 4면도

생성된 터보팬 제트 엔진의 3D 모델. 8개 섹션 구성, 4,120개 삼각형.

사례 2: 6축 다관절 로봇 팔 (Six-axis articulated robot arm)

산업용 로봇 팔의 독특한 특징은 관절 각도(joint angles)에 따라 포즈(pose)가 크게 변한다는 점입니다. 이 모델에서는 Kiro가 순기구학 (Forward Kinematics, FK)을 기반으로 포즈 계산을 구현하도록 했습니다.

산업용 6축 다관절 로봇 팔의 3D 모델을 생성해 주세요.
■ 포즈 매개변수 (스크립트 상단의 변수):
...

관절 각도의 조합을 변경하는 것만으로, 홈 포지션 (home position), 작업 포즈 (working pose), 접힌 포즈 (folded pose)와 같은 변형 모델을 자동으로 생성할 수 있습니다.

[Image 8] 세 가지 로봇 팔 포즈 비교

동일한 모델의 세 가지 포즈 비교. 관절 각도 매개변수만 변경하여 생성됨.

기술 노트: Python 기반 3D 형상 생성의 역할

왜 Python으로 초안을 작성하는가?

이 워크숍에서 사용된 방식은 numpy-stl 라이브러리를 사용하여 Python 코드로부터 STL (triangle mesh) 파일을 직접 생성합니다. 이 방식이 파라메트릭 디자인 (parametric design)에 잘 맞는 이유는 형상의 치수와 구성을 모두 코드 내의 변수로 관리할 수 있기 때문입니다.

FAN_BLADE_COUNT = 18 # → 변형 모델을 생성하려면 24로 변경
TURBINE_STAGES = 2 # → 3단 터빈을 위해 3으로 변경

STL과 STEP 중 선택하기

생성된 STL 파일은 거의 모든 CAD 소프트웨어와 3D 프린터 슬라이서 (Slicer)에서 읽을 수 있는 사실상의 표준 (de facto standard) 형식입니다. 하지만 STL은 삼각형 메쉬 (Triangle meshes)의 집합체이기 때문에, "구멍의 직경을 변경"하거나 "필렛 (Fillet)을 추가"하는 것과 같은 CAD 소프트웨어에서의 기능 기반 편집 (Feature-based editing)에는 적합하지 않습니다.

이러한 사용 사례의 경우, CadQuery와 같은 Python 라이브러리를 사용하여 STEP 형식으로 출력하는 것이 더 적합합니다.

사용 사례권장 형식라이브러리
형상 탐색 / 파라미터 연구 (Parameter studies)STLnumpy-stl
...

설계 프로세스에서의 위치

AI 자동 생성 콘텐츠

본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
1

댓글

0