GhPython 코드 디버깅
개시하다
Grasshop per가 자체 제작한 구성 요소를 만들 때 파이톤이나 C#로 코드를 쓰는 사람이 비교적 많다고 생각합니다.
파이썬은 C#에 비해 간단하게 코드를 쓸 수 있지만, 한편으로는 비주얼스튜디오를 사용하지 않은 강력한 디버깅 환경이 단점이다.
조사해보니 Rhino 7부터 GhPython과 Visual Studio를 이용해 디버깅을 할 수 있을 것 같다며 슬그머니 공식적으로 방법을 썼다.
이번에는 그 기사를 쓴 대로 조금 보충하면서 소개하겠습니다.
Debugging GhPython components Visual Studio
환경 구조
Pythhonista에 익숙하지 않은 Visual Studio를 사용합니다.
PTVSD 설치
Python 지원을 설치하려면 여기를 참고하십시오.
Windows에 Visual Studio Python 지원 설치 방법
Visual Studio 설정
기본적으로 Hello World가 있어야 합니다. 다음 코드로 변경하십시오.
버전과 설치 장소에 따라loc를 다시 쓰십시오.
import sys
# This is the path where the Visual Studio Python modules are locate.
# Change to your own:
loc = r'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\Extensions\Microsoft\Python\Core'
if loc not in sys.path:
sys.path.append(loc)
import ptvsd
if not ptvsd.is_attached():
#set up secret, address and port for ptvsd
ptvsd.enable_attach(secret = 'dev', address = ('localhost', 2019))
ptvsd.wait_for_attach() #in order for GH to wait for the process to be attached
3. 다음은 실행하고자 하는 코드를 기술합니다.
이번에는 예를 들어 간단한 for문 코드를 쓰자.
import Rhino.Geometry as rg
points = []
circles = []
for i in range(count):
point = rg.Point3d(x*i*10, y*10,0)
points.append(point)
circle = rg.Circle(point,radius)
circles.append(circle)
디버깅을 중지하여 변수 컨텐트를 볼 위치를 지정합니다.
일시 정지 줄 왼쪽의 공백을 누르면 빨간색 ● 코드가 이 줄에서 정지됩니다.
Rhino7 설정
Show "code" input parameter
입력이 나타납니다code
.Input is path
을 다시 우클릭File Path
구성 요소 연결 code
x: float
y: float
radius: float
count: int
6. 우클릭
File Path
구성 요소 선택Select one existing file
을 아까 제작한 것.py 파일 선택※ 이것을 하면 GH가 다운됩니다. 하지만 이 정도면 괜찮습니다.
디버깅
설정이 끝났기 때문에 디버깅을 진행합니다.
tcp://dev@localhost:2019/
로 설정디버그 중단 및 재디버그
디버깅 중지
Visual Studio에서 ■"디버깅 중단"을 클릭합니다.
다시 디버깅 시작
최후
상대의 내용을 볼 수 있어서 편리하군요.
코드가 복잡해지면 오류가 발생하더라도 그 줄이 아닌 다른 곳에서 문제가 생기는 경우가 많아 원인을 특히나 파이톤의 경우 유형이 자유롭기 때문에 오류를 발견하기 어려우므로 이 방법을 추천한다.
참고 자료
Debugging GhPython components Visual Studio
Windows에 Visual Studio Python 지원 설치 방법
Reference
이 문제에 관하여(GhPython 코드 디버깅), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/keiwatanabe/articles/ghpython-debug텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)