- Code\rebar_pipeline, review_pipeline, pier-program을 정션에서 실제 폴더로 전환 - Code\rhino_mcp 및 CLAUDE_rhino배경.md 추가, .mcp.json은 PYTHONPATH로 새 위치 사용 - pier-program 내부 .git 제거(이력은 backup\pier-program_20261028.bundle에 보관) - worktree 가이드 반영(CLAUDE.local.md, HANDOFF.md) - D:\Rhino-MCP 경로 참조를 새 위치로 치환 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
39 lines
1.4 KiB
Python
39 lines
1.4 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""한 번에 시작: (1) Rhino MCP 서버 켜기 (2) 표식 클릭 자동 보기 켜기.
|
|
|
|
Rhino 명령줄: RunPythonScript → 이 파일 선택 (또는 Rhino 옵션 > 일반 > 시작 시 실행할 명령에 등록)
|
|
- MCP 서버(포트 9876)가 이미 떠 있으면 다시 켜지 않는다.
|
|
- 표식 자동 보기는 이 스크립트가 켬 상태로 만든다 (실행할 때마다 켜짐, 껐다 켜기 안 함).
|
|
"""
|
|
import socket
|
|
import Rhino
|
|
import scriptcontext as sc
|
|
|
|
CLIENT = u"D:\\★Pier 자료\\pier_v1\\Pier_T_rebar\\Code\\rhino_mcp\\rhino_mcp_client.py"
|
|
VIEWER = u"D:\\\u2605Pier \uc790\ub8cc\\\uc2ec\uc218\uc11d\ub2d8 \uac80\ud1a0 \ud30c\uc77c\\\uac80\ud1a0_\uc6b4\uace1\uad50P1\\\uc2a4\ud06c\ub9bd\ud2b8\\\ud45c\uc2dd_\ub0b4\uc6a9\ubcf4\uae30.py"
|
|
|
|
|
|
def port_open(port=9876):
|
|
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
|
s.settimeout(0.5)
|
|
try:
|
|
s.connect(("localhost", port))
|
|
return True
|
|
except Exception:
|
|
return False
|
|
finally:
|
|
s.close()
|
|
|
|
|
|
if port_open():
|
|
Rhino.RhinoApp.WriteLine(u"Rhino MCP 서버: 이미 켜져 있음 (9876)")
|
|
else:
|
|
Rhino.RhinoApp.RunScript(u'-_RunPythonScript "' + CLIENT + u'"', False)
|
|
Rhino.RhinoApp.WriteLine(u"Rhino MCP 서버: 켰음 (9876)")
|
|
|
|
sc.sticky["ungok_marker_launch"] = True
|
|
try:
|
|
Rhino.RhinoApp.RunScript(u'-_RunPythonScript "' + VIEWER + u'"', False)
|
|
finally:
|
|
sc.sticky["ungok_marker_launch"] = False
|