본문 바로가기

전체 글29

파이썬 기초 문법 스터디 개요 KICDT에서 진행한 파이썬 기초 스터디입니다. 컴퓨테이셔널 디자인을 공부하는 데에 있어서 코딩을 공부하는 것은 필수적이라고 생각됩니다. 많은 프로그래밍 언어들 중에서 파이썬이 가장 배우기 쉽고, 활용도가 높다고 생각되어 파이썬 스터디를 진행했습니다. 교재는 무료로 인터넷에 공개되어 있는 점프투파이썬을 이용하였습니다. 진행기간: 2022.3.9 - 2022.4.6 진행방식 지속 가능한 구조의 스터디를 위하여 특정한 소수의 강사가 강의를 진행하는 것이 아닌 스터디원 모두가 공부해와 각자가 배운 것을 공유하는 형식의 스터디를 진행하고자 했습니다. 첫주차에는 점프투파이썬의 2장, 그 다음주에는 3장 이렇게 한 주에 한 장씩 공부하여 2장부터 5장까지 총 4주에 걸쳐 진행했습니다. 매주 한 번 진행하는 미.. 2022. 4. 20.
그래스호퍼 파이썬 | Surface 만들기 PlanarSrf, Loft, Sweep1, Sweep2 이번 포스팅에서는 rhinoscriptsyntax를 이용해 라이노의 PlanarSrf 혹은 그래스호퍼의 Boundary Surfaces 컴포넌트 그리고 Loft, Sweep1, Sweep2를 사용하는 방법을 다룹니다. 동영상 설명 https://youtu.be/1VzfWkQsSRw rs.AddPlanarSrf 라이노에선 PlanarSrf, 그래스호퍼에선 Boundary Surfaces 라는 이름의 컴포넌트로 존재하는 이 기능을 그래스호퍼 파이썬 rhinoscriptsyntax에선 AddPlanarSrf 라는 함수로 사용할 수 있습니다. Closed Crv를 만들기 위해 사각형을 하나 만들겠습니다. 사각형은 AddRectangle이라는 함수로 사용할 수 있는데, 인수로 plane과 width, height.. 2022. 4. 8.
그래스호퍼 파이썬 | Deconstruct Point 포인트 좌표 구하기 이번 포스팅에서는 rhinoscriptsyntax를 이용해 그래스호퍼의 Deconstruct Point 컴포넌트와 동일하게 포인트의 좌표를 구하는 법을 다룹니다. 동영상 설명 https://youtu.be/f25njVjL3-E rs.PointCoordinates() 먼저 GH Python 컴포넌트를 불러오고 인풋의 이름을 보기 좋게 P로 바꿉니다. 그리고 Construct Point 컴포넌트를 불러와 P에 연결해줍니다. 임의의 포인트를 생성하여 넣어주기 위함입니다. 이때 파이썬 컴포넌트의 인풋의 속성은 불러왔을 때 그대로인 상태입니다. Item Access이고 타입 힌트는 ghdoc 기본입니다. 파이썬 컴포넌트를 켜줍니다. 인풋으로 들어오는 P의 타입을 출력해보면 Guid라고 뜹니다. 그리고 P 자체를 .. 2022. 3. 27.
그래스호퍼 파이썬 | AddPoint 포인트 생성 및 포인트 그리드 이번 포스팅에서는 rhinoscriptsyntax의 가장 기본적인 함수인 AddPoint를 다룹니다. 동영상 설명 https://youtu.be/tGlcGmbMXoo Construct Point 먼저 rhinoscriptsyntax를 rs로 import 해옵니다. 그 후 rs.을 입력하면 많은 함수들이 나오는데, 포인트를 추가하는 건 AddPoint 함수입니다. 괄호 안에는 좌표를 넣어주면 되는데 먼저 0,0,0을 입력해봅니다. 그리고 파이썬 컴포넌트에서 출력하는 곳을 보면 a가 있습니다. 이 a에 우리가 만든 포인트인 p를 할당해줘야 합니다. 그래서 마지막으로 a = p를 하면 만든 포인트를 라이노 뷰포트 상에서 볼 수 있습니다. 그래스호퍼 컴포넌트인 Construct Point를 그래스호퍼 파이썬에서.. 2022. 3. 21.
그래스호퍼 튜토리얼 | Brep 윗면만 선택하기 이번 글에서는 라이노 그래스호퍼에서 Brep의 윗면만 선택할 수 있는 방법에 대해 다룹니다. 오늘 제가 알려드릴 그래스호퍼에서 Brep의 윗면만 선택하는 방법은 두가지가 있습니다. 첫번째는 그래스호퍼의 기본 컴포넌트만 사용하는 것이고, 두번째 방법은 그래스호퍼 파이썬을 이용하는 것입니다. 두 방법 모두 설명해드릴 테니 편한 방법으로 따라하시면 됩니다. 1. 그래스호퍼 기본 컴포넌트만 사용하여 윗면 선택하기 그래스호퍼 기본 컴포넌트만을 사용하여 Brep의 윗면을 선택하는 건 어렵지 않습니다. 먼저 윗면만 선택하고 싶은 Brep을 Brep 컴포넌트에 불러와줍니다. 그리고 Deconstruct Brep 컴포넌트에 연결합니다. 이러면 참조된 Brep의 모든 면 하나 하나에 대해 접근할 수 있게 됩니다. 우리는 .. 2022. 3. 11.
그래스호퍼 파이썬 공부 자료 | rhinoscriptsyntax 이 글에서는 그래스호퍼 파이썬 공부 자료에 대해서 다룹니다. rhinoscriptsyntax API docs https://developer.rhino3d.com/api/RhinoScriptSyntax/ rhinoscriptsyntax developer.rhino3d.com rhinoscriptsyntax는 파이썬에서 사용할 수 있는 그래스호퍼 api입니다. 사용 방법이 무척 간단하여 코딩을 배운 지 얼마 되지 않은 디자이너 분들도 부담 없이 사용 가능합니다. 이 사이트에서 모든 함수에 대한 설명을 볼 수 있습니다. rhinocommon API docs ​https://developer.rhino3d.com/api/RhinoCommon RhinoCommon API - Redirect RhinoCommon.. 2022. 3. 9.
그래스호퍼 QGIS를 활용한 콘타 자동 생성 | 03 도로 만들기 이번 포스팅에서는 도로 만드는 코드를 작성하는 법에 대해 다룹니다. 전체 영상 이 영상을 보고 따라 만들어도 되고, 밑의 글과 사진을 보고 만들어도 돼요. 앞선 코드를 작성할 때 사용했던 동일한 dxf 파일을 라이노로 불러와요. 이전 포스팅에서 다운 받을 수 있어요. 그리고 동일하게 Scale 명령어를 사용해 1000배 키워줘요. Layer Reference 컴포넌트를 불러오고, Layer에는 Road Hatch를 패널에 작성하여 연결해줘요. Toggle에는 Boolean Toggle 컴포넌트를 연결하고 더블 클릭하여 True로 바꿔줘요. Match Text를 불러와 T에는 Layer Reference의 Geo를, P에는 Polyline Curve를 패널에 작성하여 연결해줘요. 그리고 Cull Patte.. 2022. 2. 22.
그래스호퍼 QGIS를 활용한 콘타 자동 생성 | 02 런치박스 애드온 설치 및 레이어 자동으로 분류하여 최종 매스 올리기 이번 포스팅에서는 코드 작성에 필요한 런치박스 애드온을 설치하는 법, 라이노에 불러온 층수 레이어를 자동으로 분류하는 파이썬 스크립트를 작성하는 법과 그걸 통해 최종적으로 건물의 매스를 층수만큼 올리는 코드를 작성하는 법을 다뤄요. ① 런치박스 애드온 설치하기 런치박스 애드온은 그래스호퍼에서 가장 많이 쓰이는 애드온 중 하나예요. 저희는 런치박스의 많은 컴포넌트 중 라이노의 레이어와 지오메트리를 불러오는 기능을 하는 LayerReference 컴포넌트와 LayerInformation 컴포넌트를 사용할 거예요. 런치박스 애드온을 설치하기 위해 다음 링크로 접속해주세요. https://www.food4rhino.com/ 그리고 하단으로 내려가 설치 파일을 받으시고 실행해주세요. 자동으로 설치가 돼요. ② 레.. 2022. 2. 17.
그래스호퍼 QGIS를 활용한 콘타 자동 생성 | 01 건물 매스 & 파라펫 만들기 전체 코드를 한번에 작성하는 것은 어려울 수 있으니 코드를 조금씩 나누어 작성하는 법을 알려줄 거예요. 위 사진은 전체 코드 중에서 오늘 작성할 부분을 표시한 거예요. 두 개로 보이지만, 동일한 코드이기 때문에 하나만 만들어도 되니 겁먹을 필요가 없어요. 이번 포스팅을 통해 건물의 매스와, 파라펫을 만드는 코드를 어떻게 만드는지 알 수 있어요. 전체 영상 오늘 다루는 코드를 작성하는 영상이에요. 영상을 보고 따라 만들어도 되고, 밑의 사진과 설명을 보고 따라 만들어도 돼요. 먼저 라이노에서 임의로 하나의 닫힌 커브를 만들어요. 저는 10m x 10m의 정사각형 커브를 만들었어요. 그 후 그래스호퍼에서 Curve 컴포넌트를 불러와 우클릭 한 뒤 set one curve를 눌러 연결해주면 돼요. 지금은 하나.. 2022. 2. 13.