MIE: 웹 기반 CAE 렌더링 엔진 및어플리케이션 프레임워크

캡스톤 디자인 최종 프로젝트

남현종 · 소프트웨어학부 · 15조

SolverX AI Solver를 위한 웹 기반 CAE 클라이언트 및 렌더링 프레임워크

영상 초반의 1. Train Model은 SolverX 제품 맥락을 설명하기 위한 AI 모델 학습 과정이며, 이후 2. Inference부터 MIE에서 학습된 AI Solver를 원격 실행하고 CAE 결과를 시각화하는 흐름을 보여준다.

Abstract

제조업 설계 프로세스에서는 CAD 형상 변경 이후 CAE 해석과 실험 검증이 반복되며, 기존 수치해석 기반 solver의 높은 계산 비용은 설계 검토 속도를 제한하는 주요 병목이 된다. SolverX는 물리 법칙을 학습한 AI로 제조업 CAE 시뮬레이션과 설계 검증 과정을 가속하는 엔지니어링 AI 스타트업이다. MIE는 SolverX의 AI Solver를 실제 엔지니어링 워크플로우에서 사용할 수 있도록 개발한 웹 기반 CAE 렌더링 엔진 및 애플리케이션 프레임워크이다. 본 프로젝트는 AI 모델 자체의 학습이나 추론 알고리즘이 아니라, AI Solver가 사용하는 CAD/CAE 데이터를 브라우저에서 로딩하고, 해석 입력 조건을 관리하며, 원격 AI Solver job을 실행하고, 결과를 3차원 과학적 시각화로 표현하는 클라이언트 기반 기술에 집중한다. MIE는 Babylon.js 기반 WebGL 렌더링, Rust/WebAssembly 지오메트리 프로세싱 커널, OpenCascade 기반 CAD B-rep 처리, ECS 기반 scene 관리, Vertex Tensor 기반 GPU 시각화를 결합하여 AI 기반 CAE 서비스를 실제 제품 형태로 제공하기 위한 기반을 구축한다.

Overview

MIE는 단순한 3D viewer가 아니라, CAD 모델, CAE mesh, 해석 조건, AI Solver 실행 결과를 하나의 scene 구조에서 관리하는 웹 기반 CAE 플랫폼이다. 사용자는 브라우저에서 모델을 불러오고, material, load, boundary condition을 확인하며, 원격 AI Solver job을 실행하고, 결과 field를 contour plot과 cutting plane으로 분석할 수 있다.

MIE 대표 실행 화면
MIE 웹 기반 CAE 플랫폼 실행 화면

System Architecture

MIE는 UI, Network, Scene, Importer/Exporter, Renderer 계층으로 구성된다. Core 계층은 Babylon.js 기반 WebGL 렌더러, Rust WebAssembly 지오메트리 커널, OpenCascade WebAssembly 기반 CAD 처리, ECS 기반 scene 관리 시스템을 제공한다.

MIE 전체 아키텍처
MIE 전체 아키텍처

CAD / CAE Data Pipeline

CAD B-rep과 CAE Volume Mesh는 데이터의 의미와 사용 목적이 다르므로 서로 다른 처리 경로를 가진다. CAD 입력은 STEP B-rep 데이터를 OpenCascade로 읽고 tessellation을 통해 렌더링 mesh로 변환한다. CAE 입력은 CATF Volume Mesh를 Rust geometry kernel에서 Surface Mesh로 변환한 뒤, node id 연결을 유지하여 AI Solver 결과 시각화에 사용한다.

MIE 데이터 처리 및 시각화 파이프라인
CAD 입력과 CAE 입력의 처리 경로

CAD 입력

STEP B-rep → OpenCascade XCAF → Tessellation → Rendering Mesh

CAE 입력

CATF Volume Mesh → Rust Geometry Kernel → Surface Mesh → Vertex Tensor

STEP CAD 모델 로딩 화면
STEP 기반 CAD B-rep 형상 로딩 및 렌더링

Scientific Visualization

CAE 결과는 각 node마다 스칼라, 벡터, 텐서 값을 가진다. MIE는 이러한 node-wise 결과를 WebGL vertex attribute로 직접 전달하지 않고, RGBA float texture로 인코딩한 뒤 shader에서 vertex id를 기준으로 읽는 Vertex Tensor 구조를 사용한다. 이 방식은 attribute 개수 제한을 피하면서 contour plot과 displacement를 GPU 중심으로 처리할 수 있게 한다.

Vertex Tensor 데이터 인코딩 및 GPU 시각화 구조
Vertex Tensor 데이터 인코딩 및 GPU 시각화 구조
Contour Plot 화면
Contour Plot: GPU 기반 색상 시각화
Cutting Plane 화면
Cutting Plane: Rust/WASM 기반 단면 지오메트리 생성

AI Solver Workflow

MIE는 AI Solver 실행 전후의 CAE 작업 흐름을 하나의 웹 화면에서 연결한다. 사용자는 해석 조건을 확인하고, 원격 SolverX 서버에서 AI Solver job을 실행한 뒤, 생성된 결과를 바로 후처리 시각화로 분석할 수 있다.

해석 조건 확인 화면
전처리: 해석 조건 확인 및 수치 조작
AI Solver 실행 화면
AI Solver 실행: 원격 solver job 생성
후처리 결과 분석 화면
후처리: 결과 field 분석

Performance

렌더링 성능 목표는 저사양 랩탑 기준으로 50만 triangle 규모의 모델을 16ms 프레임타임 이하로 처리하는 것이다. 실제 테스트에서는 산업용 형상 로딩, Surface Mesh 생성, WebGL 렌더링을 확인했으며, Actual FPS 60을 유지하였다.

테스트 형상 입력 규모 로드 시간 성능
HL Mando Rack & Pinion Nodes 14,731 / Elements 173,642 1,951ms Absolute FPS 2,500 / Actual FPS 60
Hyundai WIA Gearbox Nodes 130,898 / Tetra4 530,659 1,351ms Absolute FPS 1,303 / Actual FPS 60
LED Stand CAD Model CompSolid 5 / Surface Mesh Triangle Count 29,355 2,851ms Absolute FPS 2,091 / Actual FPS 60
Babylon.js Inspector 성능 확인 화면
Babylon.js Inspector 기반 렌더링 성능 확인

Contributions

Author

본 프로젝트는 소프트웨어학부 남현종이 15조 1인 팀으로 진행하였다. 개발자는 3D 그래픽스 엔진 프로그래밍, 브라우저 기반 실시간 렌더링, WebAssembly 기반 고성능 인터랙티브 애플리케이션에 관심을 두고 개발해 왔으며, Babylon.js 오픈소스 컨트리뷰터로 활동하며 GPU Picker, WebGPU shader, physics engine, skinned mesh 및 morph target 렌더링 파이프라인 개선에 참여했다.

MIE에서는 이러한 경험을 바탕으로 웹 기반 CAE 클라이언트 설계, CAD/CAE 데이터 처리 파이프라인, Babylon.js 기반 렌더링, Rust/WebAssembly 지오메트리 처리, AI Solver 연동 흐름, 프로젝트 페이지와 발표 자료 제작을 담당했다.

Limitations and Future Work

현재 구현은 구조 해석을 중심으로 구성되어 있다. 향후에는 Modal Analysis와 Fluid Analysis를 지원하기 위해 mode shape visualization, vector field, streamline 렌더링 등이 추가되어야 한다. 또한 장기적으로는 단순한 해석 결과 확인을 넘어, 형상의 최적 설계를 제안하는 Optimizer 기능과 WebGPU 기반 렌더링 경로로 확장할 수 있다.