ARKBOX 건축사사무소
[GRASSHOPPER]for문 이용하여 점 찍기 본문
for문을 이용해서 rhino에 점을 찍어 보도록 하겠다.
rhino에서 점, 선 , 면 등을 그리기 위해서는 rhinoscriptsyntax라는 모듈을 불러와야 한다.
python 에서 모듈을 불러오기 위해서는 import명령어를 사용한다. rhinoscriptsyntax라는 모듈이름이 너무 길다고 생각이 되므로 as 라는 명령어를 이용해서 rs로 단축시켜서 간편하게 만든다.
이런 기능은 python의 장점 중의 하나라고 생각이 된다.
rhino 6 의 grasshopper 안에 있는 python에서는 미리 rhinoscriptsyntax 모듈을 부르는 명령이 써져 있다. rhino 5에서는 수동으로 불러오면 되겠다.
불러오는 명령은
import rhinoscriptsyntax as rs
이다.
rs라는 단축명령을 이용해서 라이노에 점, 선, 면등등을 표현해 보자.
for문은 반복을 명령을 실행해 준다.
for i in range(10):
이렇게 for 문을 이용하면 0부터 9까지 1씩 증가하면서 명령을 실행하게 된다.
반복할 명령은 점을 표시하도록 하는 것이다.
점을 찍어주는 명령을 하기 전에 미리 점을 넣어줄 빈바구니 즉 배열을 만들어 준다.
배열은 for문 전에 만들어 준다.
빈 배열을 만드는 것은 간단하다. 그냥 배열로 쓸 이름을 쓰고 대괄호[]를 쓰면 빈 배열이 된다.
list = []
list라는 배열이 만들어진다 .
append 라는 명령은 배열에 하나의 물건을 넣어주는 것이다. 여기서는 점이 물건이 되겠다.
list.append(점)
이런 식으로 하면 점이 list배열에 들어간다.
그럼 점을 표현하려면 어떻게 하면 될까?
rhinoscriptsyntax 모듈에는 여러가지 명령어가 있는데 여기에 AddPoint를 이용하면 점이 생성이 된다.
rs.까지만 입력을 하게 되면 자동완성창이 뜨게 되는데 거기서 사용하고자 하는 명령어를 찾아 사용하면 편리하겠다.
rs.AddPoint(0,0,0)
이렇게 되면 0,0,0 좌표에 점이 찍히게 되는 것이다.
for 문에서 i는 0에서부터 9를 반복적으로 나타내므로 이것을 응용하면
for i in range(10):
list.append(rs.AddPoint(i,0,0))
이렇게 하면 0,0,0부터 9,0,0의 10개의 점이 생기게 된다.
실행을 하게 되면 에러가 뜰 경우가 생기는데 몇 번째 줄에서 에러가 발생했는지 아래에 나오니 참고하여 수정하면 될것이다. 위에서는 16번째 줄에서 에러가 났다고 하는데 그 위에 append에서 괄호를 닫지 않아서 생긴 경우이다. 16번째 줄에 아무런 이상이 없다고 생각이 된다면 근처줄에서 에러가 발생하지 않았나 검토해 본다.
python 컴퍼넌트에서 a가 output으로 설정이 되어 있으므로 list를 a에 물려주면 rhino에서 점들을 볼수가 있다.
a = list
전체를 적어보면
import rhinoscriptsyntax as rs
list = []
for i in range(10):
list.append(rs.AddPoint(i,0,0))
a = list
이렇게 된다.
y, z 좌표도 변경해 가며 응용을 해 볼 수 있다.
'RHINO > PYTHON' 카테고리의 다른 글
[GRASSHOPPER]for문 이용하여 점 찍기 (0) | 2018.05.08 |
---|---|
[GRASSHOPPER]for 문 (0) | 2018.05.05 |
[GRASSHOPPER]HELLO WORLD (0) | 2018.05.02 |
RenovationㆍBIMㆍParmetric Design
- 형상 검토를 위한 MRI 기능 Add-in 개발
- 아크박스건축사사무소 사무실 인테리어⋯
- [Revit add-in]래빗 애드인 플랫폼 설치
- Revit Roomtag arrange & align automation
- 벽의 프로파일을 보와 바닥을 이용하여⋯
- Find Dimension in revit using addin
- REVIT 고품질 패밀리 다운로드 사이트
- Revit Dynamo Section Box Animation
- Revit 벽돌 영롱쌓기 모델링
- 안도 다다오 4x4 house revit으로 따라하기
- 지적도 그리기(정보 입히기)
- ARKBOX ARCHITECTS REVIT TEMPLATE
- 레빗 도면에 A1 A3 스케일 넣기
- DWG도면 레이어 추출하여 REVIT 벽 만들기
- 구조보 영역 기준으로 자동 구조 바닥⋯
- 빌라사보아를 통한 REVIT 기본(중급)교⋯
- 패밀리의 공유의 개념
- Shigeru Ban 패턴 디자인 구현
- [GRASSHOPPER]for문 이용하여 점 찍기
- [GRASSHOPPER]for 문
- ARKBOX 건축사 사무소 움직이는 로고 제작
- [REVIT]주심도 제작 API
- [REVIT]사용언어 변경
- [GRASSHOPPER]HELLO WORLD
- Revit을 처음 시작하는 사람으로 가장 기본적이고 중요한게 레빗 프로젝트 템플릿으로 시작되야 할것 같은데 자료나 샘플을 찾기가 어렵네요. 프로젝트 템플릿 만드시는데 노력과 시간이 많이 들어간걸 알면서도⋯
- API 구하실 있나요?
- 네, 이 애드인은 특정 프로젝트에서만 사용하고 있어서 제공하진 않습니다
- 안녕하세요 해당 기능의 API는 현재 아크박스 애드인에 포함되어 있지는 않은 건가요?
- bim을 공부하고 있습니다. 만드신 템플릿을 받을 수 있나요?
- 다이나모도 가능은 합니다. 시간이 없어 사용하기 더 편한 글라스호퍼로를 활용하였습니다. 추후 시간적 여유가 있다면 다이나모도 활용해 볼 생각입니다. 감사합니다.
- 유튜브 영상보고 왔는데요, 라이노 말고 레빗만으로도 할 수가 있나요? 다이나모를 쓰든 api를 쓰든지요. 한 번 시도해보고 싶어서 질문드립니다. 가능하다면 힌트 좀 주실 수 있나요? 어느방향으로 갈지 알⋯
- 저기 노출 콘크리트 패턴은 어디서 구하나요?
- 레빗초보입니다. API를 구하고 싶은데 혹여 받을수있을까요? 그리고 수업을 받고싶은데 어떻게 참여하면 될까요.?
- 혹시 레빗 파일 있으신가요??
- 사용자화 중입니다. 연락처 남겨주시면 연락드리겠습니다.
- 이런 API는 어디서 구할 수 있나요??