본문 바로가기

흔한말 (collection)/Dynamo

다이나모에서 파이썬 코딩을 통해 명령 내리기

300x250

(이제부터 노드를 배치하는 공간을 캔버스라고 부르겠습니다.)

다이나모에서 기본 노드들을 배치하면서 프로그램을 짜다보면, 노드들이 들어차서 캔버스가 너무 빽빽해지게 됩니다. 마우스 스크롤로 확대했다 축소했다를 반복하다보면 전체 프로그램의 각 부분을 보는 것이 너무 피곤해집니다.

그렇기 때문에 기본노드들로 작성된 flow 중에서 자주 반복되는 패턴이 있다면, 이를 추상화 해서 파이썬 노드로 만들어 버리는 것이 편한데요. 오늘은 다이나모에서 파이썬 노드를 만드는 것까지만 해보겠습니다.

 

새 다이나모 파일을 하나 열어봅니다.

 

좌측 라이브러리 검색칸에 python이라고 적으면 2가지 노드가 나오는 데, 이중 첫번째를 선택합니다. 생성하고 나면 ‘IronPython2’ 라고 노드 우측하단에 적혀있습니다.

IronPython이라는 용어는 파이썬 구현체로 사용된 언어가 C#인 파이썬이라는 뜻입니다.

IronPython은 Python2의 문법만 지원하므로 다이나모에서 추후 레거시코드가 되어 삭제될 예정이라고 합니다.

 

특별한 일이 없으면 윗 그림처럼 노드에 마우스우측버튼클릭 >> Python Engine Version 메뉴에서 CPython을 선택합니다. CPython으로 작성된 수많은 라이브러리 활용이라는 측면에서도 IronPython보다 CPython을 사용하는 것이 더 바람직하다고 일단 이해하시면 되겠습니다.

더블클릭해서 파이썬 스크립트를 한번 기입해보겠습니다.

 

Python Script노드를 더블클릭하면 위와 같은 까만 화면이 나옵니다. 흰색과 적색으로 뭐라고 써있는데, 지금 자세히 살펴볼 것은 아닙니다. 일단은 OUT에 적힌 값이 노드가 결과값으로 돌려주는 값이라고 이해하면 됩니다.

 

파이썬 스크립트 편집창에 하단의 OUT 뒤에 "Hello, Python in Dynamo World!!!” 라고 적은 뒤 적색 마킹한 저장 버튼을 클릭해 줍니다.

코드를 실행하려면 편집창 좌측 하단의 Run 버튼을 눌러도 되고, Dynamo 창의 좌측하단에 있는 Run 버튼을 눌러도 됩니다. (실행옵션이 Automatic이라면 코드 편집내용을 저장하자마자 바로 실행됩니다.)

 

Python Script노드에 마우스포인터를 올려 핀고정 버튼을 누르면, 그림과 같이 현재 노드가 처리하여 반환한 데이터가 하부의 데이터 버블로 표시됩니다. "Hello, Python in Dynamo World!!!”라는 문자열이 잘 반환된 것을 확인 할 수 있습니다.

 

 

더 복잡하고 유용한 활용법은 추후 흔한생각 카테고리에 포스팅하겠습니다!

반응형