2026. 4. 22.

라이노 서페이스 오류 — Naked Edge / Bad Object 찾고 처리하기

라이노 서페이스 오류 — Naked Edge / Bad Object 찾고 처리하기

라이노(Rhino) 작업 중 "1 bad object found", "open polysurface" 메시지가 뜨거나 Boolean이 계속 실패하면 서페이스 오류를 의심해야 한다. Naked Edge는 솔리드가 완전히 닫히지 않은 상태고, Bad Object는 라이노가 처리할 수 없는 비정상 형상이다. 찾는 방법과 처리 방법을 정리한다.

1. Naked Edge란

서페이스나 폴리서페이스에서 하나의 면에만 연결된 엣지다. 솔리드는 모든 엣지가 두 개의 면에 공유되어야 한다. Naked Edge가 있으면 솔리드가 열린 상태다.

  • 정상 솔리드: 모든 엣지 = 면 2개 공유
  • Naked Edge: 해당 엣지 = 면 1개만 연결 → 구멍 발생

Boolean, Shell, OffsetSrf 실패의 주요 원인이다.


2. Naked Edge 확인 — ShowEdges

커맨드: ShowEdges

사용 방법

  1. 확인할 객체 선택
  2. ShowEdges 실행
  3. Naked edges 선택
  4. 빨간색으로 표시된 엣지 위치 확인
색상 의미
빨간색 Naked Edge (열린 엣지)
파란색 Non-manifold Edge (3개 이상 면 공유)

3. Naked Edge 처리 방법

① Cap — 평면 구멍 닫기

  • 커맨드: Cap → 객체 선택 → 평면 Naked Edge를 자동으로 닫음
  • ※ 평면이 아닌 구멍은 Cap이 불가능하다.

② Join — 인접 서페이스 합치기

분리된 서페이스가 있어서 Naked Edge가 생긴 경우다. 인접 서페이스 선택 후 Join을 실행하면 공차 내에서 맞닿은 엣지가 자동 연결된다.

③ 수동으로 서페이스 생성

비평면 구멍은 직접 서페이스를 만들어서 채워야 한다.

  1. DupEdge → 엣지 선택 (엣지가 커브로 추출됨)
  2. 추출된 커브로 서페이스 생성 (평면: PlanarSrf / 비평면: Patch 또는 EdgeSrf)
  3. Join으로 합치기
  • EdgeSrf: 구멍 주변 엣지 커브(2~4개)를 선택하여 서페이스 자동 생성
  • Patch: 경계 커브를 선택하여 서페이스 생성. 완벽하지 않지만 비평면 구멍에 유용하다.
> 실무 팁: Patch는 완벽한 연속성을 보장하지 않는다. 형태 확인용이나 임시 처리에 쓰고 정밀 작업은 EdgeSrf나 수동 서페이스 생성이 낫다.

4. Bad Object란

라이노가 정상적으로 처리할 수 없는 비정상 형상이다. 원인은 다음과 같이 다양하다.

  • ① 자가교차 서페이스
  • ② 중복 서페이스 (같은 위치에 겹친 면)
  • ③ 너무 작은 서페이스 조각
  • ④ 비정상적인 제어점 배치
  • ⑤ 파일 손상

5. Bad Object 찾기 — SelBadObjects

커맨드: SelBadObjects
파일 내 Bad Object를 자동 선택한다. 선택된 객체 수는 커맨드 라인에 표시된다. 선택된 객체를 확인하고 원인에 따라 처리한다.


6. Bad Object 처리 방법

① 삭제 후 재작업
가장 확실한 방법이다. 해당 부분 서페이스를 다시 만든다.

② RebuildEdges — 엣지 재구성
커맨드: RebuildEdges → 객체 선택. 엣지 데이터를 재계산하여 경미한 오류를 자동 수정한다.

③ MergeAllFaces — 동일 평면 면 합치기
커맨드: MergeAllFaces. 같은 평면에 있는 여러 면을 하나로 합쳐 불필요한 엣지를 제거하고 솔리드를 단순화한다.

④ Mesh 변환 후 재변환
서페이스 오류가 심할 때 Mesh로 변환했다가 MeshToNURB로 재변환한다. 정밀도 손실이 있으므로 최후 수단으로 쓴다.


7. Non-manifold Edge 처리

ShowEdges에서 파란색으로 표시되는 Non-manifold Edge는 세 개 이상의 면이 하나의 엣지를 공유하는 상태다.

  • 해당 엣지 주변 서페이스 확인
  • 불필요한 내부 면 삭제
  • 또는 Explode 후 필요한 면만 다시 Join

8. 오류 예방 습관

  • ① 작업 중 주기적으로 SelBadObjects 실행
  • ② Join 후 What으로 Closed 여부 확인
  • ShowEdges로 Naked Edge 즉시 처리
  • ④ Boolean 전 두 솔리드 모두 Closed 확인
  • ⑤ FilletEdge는 모델링 마지막에 적용
  • ⑥ 공차에 맞는 정밀도 유지

9. 오류 확인 전체 워크플로우

작업 완료 후 제출 전 최종 점검 순서다.

  1. SelBadObjects → Bad Object 확인 및 처리
  2. ShowEdges → Naked Edge 확인 및 처리
  3. What → Closed polysurface 확인
  4. Purge → 불필요한 데이터 정리
  5. Save Small → 저장

정리

오류 확인 방법 해결 방법
Naked Edge (평면) ShowEdges Cap
Naked Edge (비평면) ShowEdges DupEdge → EdgeSrf → Join
Naked Edge (분리 면) ShowEdges Join
Bad Object SelBadObjects RebuildEdges / 재작업
Non-manifold Edge ShowEdges 내부 면 삭제 / Explode → Join

관련글


댓글 없음:

댓글 쓰기