Rhino Reference
Rhino 명령어/스크립팅(RhinoPython) 레퍼런스
Rhino Reference 소개
이 Rhino 레퍼런스는 Rhinoceros 3D 모델링의 8가지 핵심 카테고리를 정리한 실무 참조 도구입니다. 서피스 생성 섹션에서는 Loft(Normal/Loose/Tight/Straight 스타일의 다중 곡선 연결), Sweep1/Sweep2(Freeform, Roadlike 옵션의 레일 기반 스윕), NetworkSrf(연속성 제어가 가능한 U/V 곡선 네트워크), Patch(경계 곡선 또는 점군 데이터 피팅), ExtrudeSrf/ExtrudeCrv(테이퍼, Cap 옵션), Revolve(축 회전)를 다룹니다.
NURBS 편집과 솔리드 연산은 Rhino 모델링 워크플로의 핵심입니다. PointsOn(F10)으로 제어점을 조작하고, InsertControlPoint, RemoveControlPoint, SetPt, Weight 명령을 활용합니다. Rebuild로 차수와 제어점 수를 조정하여 곡면 품질을 최적화합니다. MatchSrf는 G0(위치), G1(접선), G2(곡률) 연속성 매칭을 제공하며 Zebra 분석으로 확인할 수 있습니다. 불리언 연산(Union, Difference, Intersection)은 실패 시 Intersect, Split, Join을 활용한 대체 워크플로도 함께 문서화했습니다.
메쉬 도구, Grasshopper 연동, 내보내기, Python 스크립팅으로 레퍼런스를 완성합니다. 3D 프린팅을 위한 메쉬 변환 설정(서피스 오차, 각도 허용차), ReduceMesh 폴리곤 최적화, MeshRepair 결함 분석을 다룹니다. Grasshopper에서는 Rhino-GH 데이터 교환, Bake 옵션(표준, Elefront, Human 플러그인), GH Player를 정리했습니다. 내보내기는 NURBS 보존 형식(3dm, STEP, IGES), 메쉬 형식(STL, OBJ, FBX, 3MF), 렌더링 형식(glTF, COLLADA)을 포함하며, RhinoPython 기본 문법과 루프 기반 생성형 지오메트리 예제도 수록되어 있습니다.
주요 기능
- 서피스 생성 명령: Loft, Sweep1/2, NetworkSrf, Patch, ExtrudeSrf, Revolve 전체 옵션 안내
- NURBS 편집: PointsOn(F10), Rebuild, MatchSrf(G0/G1/G2 연속성), MergeSrf 워크플로
- 불리언 연산: Union, Difference, Intersection과 실패 시 대체 워크플로
- 3D 프린팅용 메쉬 도구: 변환 설정, ReduceMesh 폴리곤 최적화, MeshRepair 결함 수리
- Grasshopper 연동: 데이터 교환, Bake 옵션, Elefront/Human 플러그인, GH Player
- 3dm, STEP, IGES, STL, OBJ, FBX, glTF 내보내기 형식과 최적 STL 설정 가이드
- 뷰포트 내비게이션 및 편집 단축키 일람
- RhinoPython 기본 문법과 루프 기반 생성형 지오메트리 예제
자주 묻는 질문
Rhino에서 제공하는 서피스 생성 방법은 무엇인가요?
Loft(Normal, Loose, Tight, Straight 스타일의 다중 단면 곡선 연결), Sweep1/Sweep2(1~2개 레일을 따라 단면 스윕), NetworkSrf(교차하는 U/V 곡선에서 Position/Tangency/Curvature 연속성 설정), Patch(경계 곡선이나 점군에서 서피스 피팅), ExtrudeSrf/ExtrudeCrv(방향, 테이퍼, Cap 옵션의 직선 돌출), Revolve(프로파일 곡선의 축 회전, 최대 360도)를 제공합니다.
MatchSrf로 매끄러운 서피스 전환을 어떻게 만드나요?
MatchSrf는 세 가지 연속성 수준을 제공합니다. G0(Position)은 서피스 간 간격을 없애고, G1(Tangency)은 이음새 없는 매끄러운 전환을 만들며, G2(Curvature)는 반사 연속성으로 Class-A 품질을 확보합니다. Average surfaces 옵션으로 양쪽 서피스를 모두 수정할 수 있고, Zebra 분석으로 결과를 시각적으로 확인합니다. 자동차·항공 분야에서는 보통 G2 이상이 필요합니다.
불리언 연산이 실패하면 어떻게 하나요?
보통 객체가 닫힌 솔리드가 아니거나 제대로 교차하지 않을 때 실패합니다. Intersect로 교차선을 생성하고, Split으로 각 솔리드를 교차선에서 절단한 후, 불필요한 면을 삭제하고 나머지를 Join으로 닫힌 폴리서피스로 만드는 수동 워크플로가 자동 불리언이 작동하지 않을 때도 사용 가능합니다.
3D 프린팅용 메쉬 내보내기는 어떻게 설정하나요?
Mesh 명령에서 세부 설정을 사용합니다. Max distance edge to surface를 일반용 0.01mm 또는 정밀용 0.001mm, Angle tolerance를 기본 15도 또는 고품질 5도로 설정하고, 바이너리 STL로 내보냅니다. 내보내기 전 SelClosedSrf로 닫힌 서피스 확인, ShowEdges Naked으로 열린 엣지 확인, Check로 유효성 검사를 실행하고, mm 단위를 확인합니다.
Grasshopper와 Rhino 간 데이터 교환은 어떻게 하나요?
Rhino에서 Grasshopper로는 Set One 또는 Set Multiple로 지오메트리를 참조하며, Rhino에서 수정하면 자동 업데이트됩니다. Grasshopper에서 Rhino로는 컴포넌트를 우클릭하여 Bake로 레이어와 이름 옵션과 함께 Rhino 객체로 변환합니다. Elefront 플러그인은 속성 자동화와 객체 교체를, Human 플러그인은 실시간 색상/재질 미리보기를 제공합니다. GH Player로 .gh 파일을 명령처럼 실행할 수 있습니다.
주요 내보내기 형식과 각각의 용도는 무엇인가요?
NURBS 데이터 교환에는 STEP(.stp, AP203/AP214)이 CAD 표준이고 IGES(.igs)는 레거시 호환용입니다. 3D 프린팅에는 STL(.stl)이나 3MF(.3mf)를 사용합니다. 게임·애니메이션에는 FBX(.fbx)나 OBJ(.obj, UV 포함)를, 웹 3D에는 glTF(.gltf, glTF 2.0)를 사용합니다. 네이티브 .3dm은 모든 NURBS 데이터, 이력, 레이어 정보를 보존합니다.
Rhino 필수 키보드 단축키는 무엇인가요?
뷰 내비게이션: 우클릭 드래그로 회전, Shift+우클릭으로 이동(Pan), Ctrl+우클릭 또는 마우스 휠로 줌, 키패드로 표준 뷰 전환(위=Top, 아래=Bottom, Enter=Perspective). 편집: F10 제어점 표시, F11 숨기기, F7 그리드 토글, Tab 방향 잠금, Shift 직교 모드. 변환: Ctrl+Shift+M(Mirror), Ctrl+Shift+A(Array)입니다.
RhinoPython으로 생성형 디자인을 어떻게 구현하나요?
rhinoscriptsyntax를 rs로 import하여 rs.AddPoint, rs.AddLine, rs.AddCircle, rs.ExtrudeCurveStraight 등 지오메트리 생성 함수를 사용합니다. Python 루프와 math 함수를 결합하면 삼각함수 기반 나선형 점 배열 같은 파라메트릭 패턴을 생성할 수 있습니다. rs.AddInterpCurve로 점을 잇는 매끄러운 곡선을 만들고, rs.RotateObject와 rs.CopyObject로 원형·선형 배열을 만듭니다.