“왜 합집합이 안 될까?” 라이노(Rhino 3D) 부울(Boolean) 실패 및 필렛(FilletEdge) 터짐 현상 3분 완벽 해결 가이드

안녕하세요! 디지털 조형과 현대 공예·디자인의 실무 노하우를 깊이 있게 연구하는 Juramic Craft&Design Lab입니다.

제품 디자인, 금속·주얼리 세공 모델링, 혹은 도자 석고 몰드 제작을 위해 라이노(Rhino 3D)로 밤새 형태를 다듬은 뒤, 마지막 단계에서 두 덩어리를 합치려고 합집합(BooleanUnion)이나 차집합(BooleanDifference)을 실행했는데…

야속하게도 명령 프롬프트 창에 “Boolean operation failed (부울 연산에 실패했습니다)”라는 문구가 뜨거나, 모서리를 둥글게 깎으려고 필렛(FilletEdge)을 넣었더니 면이 뻥 뚫리며 터져버린 경험, 다들 있으실 겁니다.

특히 3D 프린팅 출력이나 CNC 가공을 앞둔 상태라면 단 하나의 열린 모서리(Naked Edge)만 있어도 슬라이서 프로그램에서 오류가 발생해 작업이 전면 중단되는데요. 오늘은 NURBS 곡면의 수학적 원리를 바탕으로 부울 연산 실패와 필렛 터짐을 100% 해결하는 실무 정석 프로토콜을 정리해 드립니다.

📌 마감 직전 실무자를 위한 핵심 해결책 3줄 요약

✅ 1단계 (원인 진단): Intersect 명령어로 두 개체가 만나는 교차선(Curve)을 추출한 뒤, 선이 중간에 끊겨 있거나(Open Curve) 모서리 심(Seam)과 겹쳐 있는지 확인하세요.
✅ 2단계 (부울 해결): 자동 부울이 안 될 때는 억지로 반복하지 말고, MergeAllCoplanarFaces로 불필요한 분할 면을 합친 뒤 Split + Join(수동 부울)으로 처리하면 99% 해결됩니다.
✅ 3단계 (필렛 터짐 해결): FilletEdge로 면이 터지는 구간은 필렛 반지름(Radius)이 곡률 반경보다 크거나 좁은 면이 낀 경우입니다. 이럴 땐 FilletSrf(서피스 필렛) 명령어로 개별 곡면을 이어 붙이세요!


1. 라이노에서 유독 합집합·차집합(Boolean)이 자주 실패하는 진짜 이유

폴리곤(Mesh) 방식의 프로그램과 달리, 라이노는 수학적 곡선과 곡면으로 이루어진 NURBS(Non-Uniform Rational B-Splines) 기반의 정밀 모델러입니다. 따라서 라이노가 두 솔리드(Solid)를 합치거나 뺄 때는 내부적으로 다음 3단계 연산을 순서대로 수행합니다.

  1. 두 개체가 서로 교차하는 지점을 찾아 완전히 닫힌 교차 곡선(Closed Intersection Curve)을 계산합니다.
  2. 그 교차 곡선을 기준으로 각 서피스를 분할(Split)합니다.
  3. 불필요한 안쪽 면을 지우고 나머지 외곽 면들을 하나로 결합(Join)합니다.

즉, “Boolean operation failed”가 떴다는 것은 프로그램 버그가 아니라, 1번 단계인 ‘완전히 닫힌 교차선’을 수학적으로 계산해 내지 못했다는 뜻입니다. 대표적인 원인은 아래 3가지입니다.

  • 원인 A. 미세하게 스치거나 겹친 면 (Coplanar / Tangent Surfaces): 두 육면체의 바닥면 높이가 소수점 끝자리에서 미세하게 겹치거나 곡면이 아슬아슬하게 접해 있을 때 교차선 계산이 꼬입니다.
  • 원인 B. 서피스 심(Seam)과 모서리의 충돌: 원기둥(Cylinder)이나 구(Sphere)처럼 말려서 만들어진 서피스에는 시작과 끝이 만나는 재봉선, 즉 심(Seam)이 존재합니다. 이 심 라인이 다른 개체의 모서리와 정확히 겹치면 부울 연산이 높은 확률로 실패합니다.
  • 원인 C. 열려 있는 폴리서피스 (Open Polysurface): 겉보기엔 막혀 있는 덩어리 같지만 실제로는 미세한 틈(Naked Edge)이 있어 법선(Normal) 방향(안쪽/바깥쪽)을 라이노가 판별하지 못하는 상태입니다.

2. 부울(Boolean) 실패를 3분 만에 끝내는 실무 정석 해결법 4단계

① ‘Intersect(교차점)’ 명령어로 끊어진 구간 10초 만에 찾아내기

합집합이나 차집합이 실패했을 때 가장 먼저 해야 할 일은 두 개체를 모두 선택한 뒤 명령창에 Intersect를 입력하는 것입니다.

  • 정상적인 경우: 추출된 교차 커브를 선택했을 때 속성창(Properties)에 Closed curve (닫힌 커브)라고 표시됩니다.
  • 오류가 난 경우: 속성창에 Open curve (열린 커브)라고 뜨거나 선이 여러 조각으로 끊어져 있습니다.

이때 명령창에 CrvStart 또는 ShowEnds를 입력하면 커브가 어디서 끊어졌는지 점(Point)으로 즉시 표시해 주므로, 문제가 되는 모서리나 겹침 구간을 핀셋처럼 정확히 찾아낼 수 있습니다.

② 조각난 평면을 하나로 정리하는 ‘MergeAllCoplanarFaces’

모델링을 수정하다 보면 하나의 평평한 면인데도 여러 조각의 면(Face)으로 쪼개져 있는 경우가 많습니다. 이 분할선(Edge)들이 부울 연산을 방해하는 주범인데요.

개체를 선택하고 MergeAllCoplanarFaces 명령어를 실행해 보세요. 같은 평면 위에 있는 불필요한 분할선들을 단숨에 하나의 깨끗한 면으로 합쳐주어 부울 성공률을 비약적으로 높여줍니다.

③ 원기둥·반지 모델링 필수! ‘SrfSeam’으로 심(Seam) 위치 돌리기

주얼리 세공(반지 링과 난집 결합)이나 기계 부품의 원통 타공 작업에서 차집합이 안 된다면 90% 이상은 서피스 심(Seam)이 겹쳤기 때문입니다. 원기둥을 약간 회전(Rotate)시키거나, SrfSeam 명령어로 재봉선 위치를 교차 부위가 아닌 반대쪽으로 살짝 옮겨준 뒤 다시 차집합을 실행하면 거짓말처럼 한 번에 뚫립니다.

④ 궁극의 해결책: ‘Split + Join’ 수동 부울(Manual Boolean)

복잡한 자유곡면(Freeform Surface) 공예품이나 유기적 형태의 제품 모델링에서 자동 부울이 끝내 작동하지 않는다면, 라이노가 내부적으로 하는 일을 우리가 직접 3단계로 실행하면 무조건 해결됩니다.

  1. 두 개체를 선택하고 Intersect로 교차 커브를 뽑은 뒤, 끊어진 부분이 있다면 ExtendCrvOnSrf나 Match로 닫힌 커브를 만듭니다.
  2. Split 명령어로 교차 커브를 기준 삼아 두 개체의 겹치는 안쪽 면들을 각각 잘라내고 삭제(Delete)합니다.
  3. 남은 바깥쪽 면들을 모두 드래그하여 Join(결합)을 누르면 완벽한 닫힌 솔리드(Closed Polysurface)가 완성됩니다!

3. 필렛(FilletEdge) 실행 시 면이 터지거나 뚫리는 현상 해결법

디자인 마감 단계에서 모서리에 알(R)값을 주는 FilletEdge는 실무자들을 가장 괴롭히는 명령어 중 하나입니다. 필렛이 터지는 이유와 해결 공식은 아래 표로 명확히 정리됩니다.

필렛 오류 증상 핵심 발생 원인 실무 정석 해결 프로토콜
모서리 코너가 뻥 뚫리거나 면이 모델 외부로 뻗어나감 입력한 필렛 반지름(Radius)이 해당 모서리의 곡률 반경이나 인접한 면의 폭보다 큼 FilletEdge 옵션에서 핸들(Handle)을 추가해 좁은 구간만 반지름을 작게(가변 필렛) 조절하거나 반지름 수치를 낮춤
Y자·별 모양으로 모서리가 모이는 꼭짓점(Vertex)에서 결합 실패 서로 다른 모서리를 한 번에 안 고르고 순차적으로 따로따로 필렛을 적용함 만나는 모든 모서리는 반드시 한 번의 FilletEdge 명령 안에서 동시에 선택해야 코너 패치(Corner Ball)가 정상 생성됨
복잡한 곡면에서 FilletEdge 자체가 생성되지 않음 솔리드 기반 일괄 트림 연산이 급격한 곡률 변화를 따라가지 못함 솔리드 필렛 대신 서피스 명령어인 FilletSrf (트림=예)를 사용하여 인접한 두 면을 하나씩 순차적으로 연결

🛠️ 공예 & 3D 프린팅 실무자를 위한 필수 점검 팁!
작업이 끝난 모델링을 STL이나 STEP 파일로 내보내기 전에는 반드시 ShowEdges 명령어를 입력하고 옵션에서 [Naked Edges (열린 가장자리)]와 [Non-manifold Edges (비다양체 가장자리)]를 체크하세요. 핑크색 선이 단 한 곳도 없는 “Found 0 naked edges” 상태를 확인해야 레진/FDM 3D 프린터 및 CNC 가공에서 불량이 나지 않습니다.


4. 절대 공차(Absolute Tolerance) 설정, 언제 어떻게 건드려야 할까?

인터넷 팁 중에 “합집합이 안 되면 옵션(Units)에서 공차(Tolerance) 숫자를 0.1이나 0.00001로 바꿔보라”는 조언이 종종 보입니다. 하지만 CAD/CAM 엔지니어링 관점에서 작업 도중 공차를 임의로 크게 바꾸는 것은 매우 위험한 방식입니다.

  • 표준 권장 공차: 일반적인 제품·공예·주얼리 모델링(단위: mm)에서는 새 파일을 열 때부터 절대 공차를 0.001 mm ~ 0.01 mm로 고정하고 시작하는 것이 정석입니다.
  • 주의사항: 이미 결합(Join)된 모델의 공차를 중간에 느슨하게 바꾸면 추후 필렛이나 오프셋(OffsetSrf) 과정에서 미세한 틈이 벌어져 수정이 불가능한 불량 개체(Bad Object)가 될 수 있으므로, 공차 변경 대신 앞서 설명한 Intersect 진단 및 수동 Split + Join을 활용하시기 바랍니다.

5. 자주 묻는 질문 (Q&A)

Q1. ‘Check’ 명령어를 쳤더니 ‘Bad Object(불량 개체)’라고 나옵니다. 어떻게 고치나요?

A. 불량 개체가 포함된 상태에서는 어떤 부울 연산이나 필렛도 정상 작동하지 않습니다. 명령창에 ExtractBadSrf를 입력하면 문제가 생긴 서피스 조각만 모델에서 쏙 분리해 줍니다. 분리된 면의 트림을 해제(Untrim)한 뒤 다시 깨끗한 커브로 잘라내어 결합(Join)해 주면 완벽히 복구됩니다.

Q2. 라이노 7/8의 SubD 기능을 활용하면 필렛 스트레스를 줄일 수 있나요?

A. 네, 매우 효과적입니다! 유기적인 공예 조형물이나 곡률이 복잡한 손잡이·케이스 형태는 처음부터 NURBS에서 무리하게 필렛을 넣기보다, SubD(서브디비전) 도구로 부드러운 덩어리를 먼저 조형한 뒤 ToNURBS 명령어로 변환하여 정밀 공차 구멍(차집합)만 뚫어주는 하이브리드 워크플로우가 현재 실무에서 가장 각광받고 있습니다.


오늘 Juramic Craft&Design Lab에서 정리한 라이노 부울 연산 및 필렛 트러블슈팅 프로토콜이 여러분의 디지털 조형과 정밀 설계 작업 시간을 아끼는 데 실질적인 이정표가 되기를 바랍니다. 다음 리포트에서도 실무에서 즉시 활용 가능한 깊이 있는 3D 설계 및 공예·디자인 인사이트를 이어가겠습니다.