Kris

STEP ↔ STL 변환, 함정 피해 가이드: STL을 역으로 솔리드로 바꾸는 게 왜 이렇게 고통스러울까?

STEPSTPSTLCADB-Rep역설계3D 프린팅

산업 현장과 3D 프린팅 업계에서 매일 부딪히는 골칫거리 중 하나가 바로 포맷 정렬 문제입니다.

기계 설계하는 선배가 매끈한 STEP 모델을 툭 던져주면, 출력소 사장님은 "죄송한데, 슬라이서는 STL만 인식하니까 알아서 변환해 오세요"라고 하죠. 반대로 인터넷에서 받은 간지나는 STL 피규어를 SolidWorks나 Fusion 360에 불러와서 치수 하나 살짝 고치고 구멍 하나 뚫으려는 순간, 프로그램은 프리즈되고 쿨러는 버스트 모드로 돌아갑니다.

오늘은 이 문제를 확실히 정리해 드립니다. STEP을 STL로 낮추는 건 사과를 깎는 것처럼 간단하지만, STL을 STEP으로 되돌리는 건 만두를 밀가루와 고기소로 복원하는 것보다 어렵습니다.

차원의 압도적 차이STEP / STP (CAD 솔리드)STL (폴리곤 메시)
근본 원리고등 수학: 연속적인 해석 곡면 (B-Rep 경계 표현)무식한 퍼즐: 흩어진 삼각형 면片의 집합
원통과 구멍완벽한 기하학적 원, 중심좌표와 반지름 내장대충 만든 다각형 프리즘, 확대하면 전부 꺾인 선
수정 편집스케치 치수 변경, 돌출 등 모든 설계 피처 유지극도로 경직된 "죽은" 지오메트리, 억지 불리언은 오류 투성이
파일 크기작음 (수학 공식과 피처 트리만 저장)표면이 매끄러울수록 면片 수와 용량이 기하급수적으로 폭증

순풍: STEP → STL, 슬라이더는 어떻게 당겨야 하나?

NURBS(비균일 유리 B-스플라인) 기반의 연속 수학 솔리드를 메시 삼각형(이산화)으로 부술 때 가장 두려운 것은 파라미터 설정 실패로 원래 둥근 구멍이 출력물에서 다각형으로 나오는 것입니다. 이 변환 품질은 알고리즘의 두 가지 파라미터, "현 편차(Chordal Deviation)"와 "각도 공차(Angular Tolerance)"에 의해 좌우됩니다.

실측을 통해 얻은 가장 안정적인 설정값은 다음과 같습니다.

  • 일반 FDM 프린터 (0.4mm 노즐): 풀스펙까지 끌어올릴 필요 없습니다. 너무 높이면 슬라이서도 버벅입니다. SolidWorks 내보내기 설정에서 현 편차를 0.05 mm, 각도를 15° 로 잡으면 충분합니다.
  • 광경화 레진 프린터: 레진 출력은 정밀도가 매우 높아 표면이 완벽하게 매끄러워야 합니다. 현 편차는 0.01 mm, 각도는 를 권장합니다.

주의! 내접 오차 함정: 이산화된 삼각형의 현은 항상 실제 원호의 "안쪽"에서 잘려나가기 때문에, 내보낸 STL의 원형 구멍 실제 물리적 크기는 STEP 설계 이론 치수보다 항상 아주 약간 작아집니다. 실전 팁: 고정밀 끼워맞춤이 필요한 나사 구멍이라면, STL로 변환하기 전에 CAD에서 구멍 직경을 미리 0.1mm ~ 0.15mm 키워 두는 것이 좋습니다.

역풍: STL → STEP 변환이 왜 컴퓨터를 먹통으로 만들까?

우리가 가장 많이 목격하는 재난 현장입니다. 사용자가 50MB짜리 고퀄리티 STL 피규어를 온라인 변환 도구에 그냥 던져 STEP으로 바꾸려 하거나, SolidWorks의 "메시를 곡면으로 변환" 기능을 억지로 실행하는 경우입니다. 결과는 컴퓨터 프리즈.

무슨 일이 벌어지는 걸까? 알고리즘은 매우 기계적입니다. 전문 리버스 엔지니어링 소프트웨어(Geomagic Design X 또는 FreeCAD의 Reverse Engineering 워크벤치)로 수동 곡면 피팅 재구성을 하지 않는 한, 일반 변환 프로그램은 STL의 모든 작은 삼각형을 STEP 안의 독립된 평면 곡면 조각(Face)으로 억지로 변환할 뿐입니다. 상상해 보세요. CAD 소프트웨어가 50만 개의 미세한 평면 조각을 억지로 꿰맨 "괴물"을 읽고 관리하려고 합니다. 피처 트리(Feature Tree)와 지오메트리 토폴로지가 순식간에 터져 나가면서 프리즈는 필연적입니다.

완벽한 변환이 불가능할 때의 차선책

STL 파일 하나만 있고 그것을 꼭 수정해야 한다면, 그것을 원터치로 완벽하고 매끄럽고 스케치 편집 가능한 STEP 솔리드로 바꿔주는 환상을 버리세요. 아래 차선책을 시도해 보세요.

  1. 그냥 메시를 직접 편집: 구멍 하나 뚫거나 한쪽을 잘라내고 싶을 뿐인가요? STL을 Blender나 Windows 기본 내장 3D Builder에 그냥 던져 넣고 메시 불리언 연산(Boolean Modifier)으로 하드 컷하세요. Meshmixer의 구멍 뚫기 도구를 써도 됩니다. 파라메트릭 CAD 소프트웨어에서 고생하지 마세요.
  2. 포락선 추출법 (수동 재드로잉): CAD에 STL을 불러올 때, 그것을 솔리드로 만들려고 하지 마세요. 배경 참조 이미지(메시 레퍼런스)로 취급하고, 그 위에 스케치를 다시 그리고 돌출하여 핵심 치수를 수동으로 "따서" 처음부터 다시 만드는 것입니다. 산업용 부품이라면 오히려 이 방법이 가장 확실합니다.
  3. 쿼드 기반 리토폴로지: 유기물 모델(생물 형상)이라면 ZBrush나 Blender의 자동 리토폴로지(Retopology) 기능으로 정돈된 사각형 메시로 만든 다음, CAD로 가져와 T-Splines 솔리드로 변환할 수 있습니다. 다만 학습 곡선이 상당히 가파릅니다.

도면의 어셈블리 계층 구조와 부품만 확인하면 되는 경우라면, 브라우저에서 바로 Any3D STEP 온라인 뷰어를 열어 트리 구조를 확인하세요. 변환 과정이 필요 없습니다. 가벼운 포맷 전달이 필요하다면 Any3D STEP → STL 변환 도구를 사용하세요. 완전 로컬 WebAssembly 연산으로 도면이 클라우드에 업로드되지 않아 보안에 안전합니다.

추가 Q&A

.step과 .stp는 도대체 뭐가 다른가요?

전혀 차이가 없습니다. 내용물은 100% 동일합니다. .stp는 옛날 DOS 시절 3자리 확장자(8.3 파일명 규칙)를 맞추기 위해 남겨진 역사적 유물일 뿐이며, 요즘 소프트웨어는 둘 다 인식합니다.

변환한 STL이 다른 사람의 프로그램에서 면이 깨졌다거나 오류가 난다고 하는 이유는?

메시가 완전히 봉합되지 않았거나 "뒤집힌 법선(Normal Flipped)"이 존재하면 내부/외부 부피를 판별할 수 없는 폐기물(비다양체, Non-Manifold)이 됩니다. 모델을 Any3D 모델 분석기에 돌려서 매니폴드 검사를 실행해 어디가 뚫렸는지 확인한 다음, 전용 복구 소프트웨어(예: Netfabb)로 패치를 적용하세요.

후원하기