Skip to content
Back to skills

Rhino Gh

ASecurity

Rhino 3D · Grasshopper 개발 지식스킬 — Rhino 8 스크립팅(Python 3/C#), Grasshopper 컴포넌트 개발(C# .gha), Script 컴포넌트(Script-Mode/SDK-Mode), 데이터 트리, rhino3dm, rhinocode CLI, Yak 패키징 코드 작성·디버깅·안내. "라이노 스크립트", "그래스호퍼 컴포넌트", "GHPython", "RhinoCommon", "rhino3dm", "gh 파일", ".gha", "데이터 트리", "Grasshopper 자동화" 질의 시 호출. 지식·코드 생성 전용 — 이 환경에 Rhino가 없으므로 실행 검증은 못 하고, 사용자 머신에서 돌릴 코드를 만든다. SolidWorks/NX/AutoCAD는 범위 밖 (SolidWorks는 solidworks-addin 스킬).

  • 7 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 22, 2026
ai-agentspythonc#gitapi

Works with

  • cli
  • api
  • mcp

Security analysis

A100/100

Pro scans all 7 files and shows the line behind each finding

Scanned September 22, 2026

npx -y skills add jsb4702-glitch/verification-harness --skill rhino-gh --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Rhino Gh?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Rhino Gh
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jsb4702-glitch-rhino-gh/badge)](https://www.skillsdirectory.com/skills/jsb4702-glitch-rhino-gh)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: rhino-gh
description: >-
  Rhino 3D · Grasshopper 개발 지식스킬 — Rhino 8 스크립팅(Python 3/C#), Grasshopper
  컴포넌트 개발(C# .gha), Script 컴포넌트(Script-Mode/SDK-Mode), 데이터 트리, rhino3dm,
  rhinocode CLI, Yak 패키징 코드 작성·디버깅·안내. "라이노 스크립트", "그래스호퍼 컴포넌트",
  "GHPython", "RhinoCommon", "rhino3dm", "gh 파일", ".gha", "데이터 트리",
  "Grasshopper 자동화" 질의 시 호출. 지식·코드 생성 전용 — 이 환경에 Rhino가 없으므로
  실행 검증은 못 하고, 사용자 머신에서 돌릴 코드를 만든다. SolidWorks/NX/AutoCAD는 범위 밖
  (SolidWorks는 solidworks-addin 스킬).
---

# Rhino / Grasshopper 개발 (지식형 v1.0)

Rhino 8 기준. 이 스킬의 모든 API 명칭·코드 패턴은 2026-08-25 공식 문서
실조회로 확보한 것이며, 각 항목에 출처 URL이 붙어 있다.

## 정신모형 — 라이브러리 지도

```
Rhino 앱 (Win/Mac)
 ├─ RhinoCommon (.NET SDK) ← Rhino 안에서만 실행, 전체 기능
 │    └─ rhinoscriptsyntax ← RhinoCommon 위의 고수준 파이썬 래퍼
 ├─ Grasshopper (.NET/RhinoCommon 플러그인)
 │    ├─ C# .gha 플러그인 (GH_Component 상속)
 │    └─ Script 컴포넌트 (Python 3 / C#, 캔버스 안)
 └─ ScriptEditor + rhinocode CLI (Rhino 8, Python 3 = CPython 3.9.11)

Rhino 밖 (독립 실행)
 └─ rhino3dm (py/js/.NET, MIT) ← 지오메트리·.3dm 입출력만, GH solve 불가
```

- Grasshopper 정의(.gh) 계산(solve)은 Rhino/Grasshopper 프로세스가 필요하다.
  rhino3dm 단독으로는 안 된다 (README에 solve 기능 언급 자체가 없음,
  https://github.com/mcneel/rhino3dm).
- .gh(바이너리)/.ghx(XML) 파일은 GH_IO.dll이 읽고 쓴다
  (https://wiki.mcneel.com/labs/grasshopper_fileformat).

## 실행경로 — 플랫폼 제약 (사용자에게 선제 고지)

- **macOS 헤드리스 불가**: Rhino.Compute·Rhino.Inside는 Windows/Linux 전용
  (공식 FAQ 직접인용 "only compatible with Windows and Linux",
  https://developer.rhino3d.com/guides/compute/compute-faq/).
  맥에서 자동화는 Rhino 8 앱을 켠 상태에서 rhinocode CLI 또는 MCP 브릿지 경유.
- Rhino 8은 macOS 12.4+ 지원 (https://www.rhino3d.com/8/system-requirements/).
- Rhino 8 Python = CPython 3.9.11 (Win/Mac). Rhino 7 = IronPython 2.7.12
  (Windows 전용) (https://developer.rhino3d.com/guides/rhinopython/what-is-rhinopython/).
  Rhino 8도 두 런타임을 병행 배포한다(~/.rhinocode/py39-rh8/, py27-rh8/).
- Rhino 설치·라이선스가 전제다. 이 환경에서는 실행 검증 불가 —
  코드는 사용자 머신에서 돌린다는 걸 명시해라.

## 핵심 규율 (위반 금지)

1. **API 시그니처는 기억으로 짓지 마라.** 이 스킬 references/ 에 출처와 함께
   실린 명칭·시그니처만 그대로 써도 된다. 그 밖의 클래스/메서드/열거형은
   `references/lookup.md` 레시피로 실조회 후 인용하고, 조회 못 하면
   카테고리만 말하고 확인 경로를 안내해라. 열거형 멤버 추정생성 절대 금지.
2. **버전 명시.** Rhino 7(IronPython)과 Rhino 8(Python 3) 답이 갈리는 지점은
   반드시 버전을 물어보거나 양쪽을 갈라서 답해라.
3. **요약경유 표시 존중.** references/ 에서 "요약경유" 딱지가 붙은 스니펫은
   문자단위 정밀도가 필요할 때(파서 작성 등) 원문 재조회 후 사용.
4. **외부 레포 코드 도입은 INTAKE.** references/lookup.md 의 생태계 레포에서
   코드를 가져오려면 skill-intake 격리검수를 먼저 태워라.

## 캔버스 진입로 (v1.1 — 옵시디언 노코드)

`~/SecondBrain/GH-Palette.canvas` 에서 노드를 배선하면
`scripts/canvas2gh.py` 가 스캐폴드(.py/.cs)+작업명세(.md)를 `~/RhinoScripts` 에
생성한다 (`--write-back` 은 #결과 노드 회신 · `--selftest` 자체검증). 사용자가
명세를 주며 "이 명세 구현해줘" 하면 이 스킬 규율(레퍼런스 실조회·미실행 표기)
그대로 스캐폴드의 TODO 로직을 채워라. 팔레트 원본은
`references/gh-palette-template.canvas`.

## 작업 흐름

1. **분류** — 스크립팅(에디터/CLI) / Script 컴포넌트 / .gha 플러그인 /
   독립 rhino3dm / 파일포맷(.gh 파싱) / 자동화(MCP) 중 어디인지.
2. **레퍼런스 로드** — 해당하는 references/ 파일 하나만 읽어라:
   - `references/scripting.md` — Rhino 8 ScriptEditor·Python 환경·패키지
     지시자·rhinocode CLI.
   - `references/gh-dev.md` — GH_Component 구조·Script 컴포넌트(C#/Py)·
     데이터 트리·Yak 패키징·rhino3dm 사용.
   - `references/lookup.md` — API 문서 URL 패턴·공식 샘플 레포 지도·
     포럼 검색법·생태계(MCP 등) 레포.
3. **코드 생성** — references/ 의 검증된 골격에서 출발해 변형. 새 API가
   필요하면 조회 먼저.
4. **미검증 명시** — 실행 못 해본 코드는 "미실행"을 밝히고, 사용자 쪽
   확인 포인트(단위, 버전, null 처리)를 짚어줘라.

## 함정 (선제 경고)

- Script 컴포넌트 입력 변수명이 파이썬 예약어·내장명(dir, filter, str 등)과
  충돌하면 깨진다 — 공식 가이드가 경고하는 사항
  (https://developer.rhino3d.com/guides/scripting/scripting-gh-python/).
- 컴포넌트 ComponentGuid는 절대 복사·수동편집 금지, 새로 생성
  (https://developer.rhino3d.com/guides/grasshopper/simple-component/).
- Rhino의 파이썬 venv는 진짜 격리가 아니다 — 같은 프로세스·인터프리터 상태
  공유, 재설치 방지 용도 (https://developer.rhino3d.com/guides/scripting/advanced-pyvenvs/).
- 데이터 트리 path는 희소(sparse)할 수 있다 — 연속 인덱스 가정 금지
  (https://developer.rhino3d.com/guides/rhinopython/grasshopper-datatrees-and-python/).
- 공식 가이드 트리가 신구 혼재다: /guides/scripting/(신, Rhino 8)과
  /guides/rhinopython/(구)이 같이 라이브 상태. 신규 트리에 다수 페이지가
  'Coming Soon' — 구 트리 내용을 Rhino 8에 적용할 땐 버전 재확인.

Files in this skill

  • SKILL.md6.1 KB
  • evals/trigger-eval.json2.4 KB
  • references/gh-dev.md7.4 KB
  • references/gh-palette-template.canvas3.7 KB
  • references/lookup.md5.8 KB
  • references/scripting.md5 KB
  • scripts/canvas2gh.py18.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.