본문 바로가기

Workshop Index

Episode A [한국어]Rhino Python / 라이노 파이썬 / 디자인 & 컴퓨테이션

#RhinoPython Design Scripting Workshop
Episode A:

Tistory: Rhino Python & 디자인 컴퓨테이션 & Playlist


#RhinoGrasshopperPython Challenge!
Episode B:

Tistory: 그라스하퍼 & Python 그라스호퍼 컴포넌트 챌린지 & 코딩 , Playlist , 들어 가면서


 

라이노 파이썬 워크숍 / Rhino Python, Rhinoscriptsyntax workshop 
플레이리스트 Rhino Python Workshop - http://bit.ly/3b6v1Mw

 

라이노 파이썬 / Rhino Python

 

www.youtube.com

 
Python 코딩을 배웁니다. 라이노(Rhino3d) 그라스하퍼(Grasshopper)를 통해 디자인 스크립팅을 학습할 수 있습니다. 컴퓨테이셔널 사고, 파라메트릭, 제너레이티브 디자인 등의 크리에이티브 코딩을 배워 보세요
 
✍️이런 걸 배워요!
라이노와 그라스하퍼의 문법의 이해
rhinoscriptsyntax의 이해
RhinoCommon API의 이해
컴퓨테이셔널 사고
파라메트릭 / 제너레이티브 디자인 스크립팅

주제 소개 📝

Rhino3D와 Grasshopper의 Python 디자인 스크립팅에 대한 강의입니다.
컴퓨테이셔널 디자인에 필요로 되는, 사고, 프로그래밍을 강의합니다.
데이터 구조, 지오메트리 데이터 구조와 데이터의 변환에 대한 내용을 이해할 수 있습니다.
파라메트릭(Parametric), 제너레이티브(Generative) 디자인, 자동화(Automation), 최적화(Optimization) 등등의 컴퓨테이셔널 디자인 방법론의 기초를 다질 수 있습니다.

왜 배워야 하는지 ✒️

4차 산업 혁명은 디자인 영역에도 큰 변화를 가져옵니다.
특별히 디자이너들이 디자인 데이터를 접근하고 활용하는 방법에 대해서 학습할 수 있습니다.
디자인 스크립팅을 통해서 보다 창의적이고 생산적인 디자인 방법론을 배울 수 있습니다.
특히 3차원 그래픽 디자이너, 제품 및 건축 디자이너의 경우 스스로 활용하는 툴들을 보다 적극적으로 활용할 수 있는 인사이트를 얻을 수 있습니다.
크리에이티브 코팅, 혹은 컴퓨테이셔널 디자이너로 커리어를 쌓고 싶으신 분들께 추천드려요.

이 강의에서 배우는 것들 ✏️

컴퓨테이셔널 지오메트리 (Point, Line, Polyline,  )
지오메트리 데이터의 생성과 변형을 Rhino API와 rhinoscriptsyntax를 통해 배웁니다.
파라메트릭(Parametric) 혹은 프로시듀얼(Procedural ) 디자인등의 컴퓨테이셔널 디자인 프로세스를 배울 수 있습니다.
지식공유자가 알려주는

강의 수강 꿀팁!
 
🎓이런 분들께 추천드려요!
건축 혹은 3D 디자이너 중, 코딩을 공부하고 싶으신 분들
컴퓨테이셔널 디자인을 공부하고 싶은신 분들
컴퓨테이셔널 지오메트리를 공부하고 싶으신 분들
라이노와 그라스하퍼를 코딩으로 제어 하고 싶으신 분
 
📚 선수 지식, 필요한가요?
Rhino3D


1. 라이노 파이선 워크숍 / Rhino Python, Rhinoscriptsyntax workshop - link

- 언어는 문법이 존재하죠. 라이노 파이썬도 마찬가지예요. 하지만 어려워 마세요, 파이썬은 배우기 가장 쉬운 언어로 알려져 있어요. 차근차근 따라 하면서 익히길 권해요. 언어는 훈련입니다 포기하지 말고 반복하세요!
 

00:05 - 라이노 파이썬 / Rhino Python
00:30 - 두 가지 API
.........................................
00:43 - 파이썬의 기본 문법
02:11 - Python 컴포넌트
.........................................
03:15 - print 함수: print()
04:01 - 변수(Variable) 사용하기
.........................................
05:54 - 반복(loop): for loop
08:23 - 파이썬에서, 콜론(: Colon)과 탭스페이스(Tab)
09:48 - 반복(loop): len() range()
.........................................
14:26 - 리스트(list) .append()
17:23 - 리스트(list) 인덱싱 [] - link
.........................................
19:39 - 조건문: if else
.........................................
22:12 - 수업요약


2. Point Grid Basic (rhinoscriptsyntax) - link

- 과연 스크립트로 무엇을 할 수 있을까요? 여러분들이 상상하는 것보다 더 많은 것을 할 수 있지만, 오늘은, 아주 간단하게, 모든 디자인의 가장 기초가 되는 포인트에 대해서 알아보면서 파이썬 문법을 익혀 보아요!

00:00 - 오늘의 수업
.........................................
00:51 - rhinoscriptsyntax 라이브러리 사용하기
01:38 - addPoint
03:03 - 반복: point grid / for loop / range
04:31 - 조건: if
05:19 - 중첩 반복문
06:09 - 파이썬 컴포넌트 입력 자료형
07:41 - 새로운 입력받기
09:23 - PointCoordinates: XYZ 값 가져오기
11:15 - Distance
13:33 - MoveObject
15:27 - 컴퓨테이셔널 사고, 디자인 스크립팅
.........................................
16:38 - 코딩(디자인 스크립팅)을 배워야 하는 이유


3. help File & Tutorials / 헬프 파일 & 온라인 튜토리얼 - link

- 흔히 코딩의 실력은 3개로 볼 수 있어요. (1) 모르는 것을 스스로 학습하는 능력 (2) 원하는 알고리즘을 작성하는 능력, 그리고 (3) 문제를 잡아내는 디버깅 능력. 이번 시간에는 어떻게 스스로 학습할 수 있을지에 대해서 알아봐요. 물고기를 잡기보다는, 낚싯대를 만드는 시간이라고 보시면 좋을 것 같아요!
00:00 - 오늘의 수업
00:34 - EditPythonScript Help 정보
01:44 - Rhino GH Python Help 정보
02:26 - Rhino Developer Docs / 라이노 개발자 문서
02:57 - help 파일 다운로드
03:58 - help와 다양한 examples

 


My Python Module and Library / 나만의 라이브러리 & 모듈을 만들어 보자!! - link

00:00 - 라이브러리(Library & Module)의 중요성

00:54 - 폴더 찾아가기

01:42 - 나만의 라이브러리 만들기

03:18 - njs.py 파일 복사 하기

03:52 - import njs, 모듈 가져오기

04:23 - getRandom() 테스트

04:49 - addNum() 테스트

05:39 - class 만들어 보기

07:15 - Vector addition 테스트

09:31 - Vector class 테스트

11:03 - Docstring / 문서화하기

12:51 - 디버깅하기

14:22 - 요약: 나의 코드를 모듈화 시켜 나만의 라이브러리를 만들어 보자!!


4. Function 1D / 라이노 파이썬 04 1차원 함수 1/2 - link 

- 함수를 이용해서 1차원 라인을 만들어 보기 전에, 어떤 함수들이 있는지 함께 알아볼까요?

00:00 - 오늘의 수업

00:24 - function 1d, line / 1D 함수로 보는 라인
          Line, Square, Even degree parabolas, Odd degree parabolas, Square root, Circular arc,
          Absolute value, Trigonometric functions, Sine, Tangent, Arc Cosine, Arc Cosine,
          Stepping function, Ceilling, Remainder, Exponetial, Natural logarithm, Hyperbolic Cosine,
          Hpyerbolic Sine, Gaussian distribution(Bell Curve), Two gaussian bell curves,
          Smooth Curve between two values, Domain Scaling and Translation, Range Scaling and Translation,
          Combining functions, addition and interference, Adding Waves, Multiplication and envelopes,
          f(x) * g(x), Composition, Interpolation
10:43 - 공부자료/링크

 


4. Function 1D / 라이노 파이썬 04 1차원 함수 2/2 - link 

- 앞서 살펴본 함수들을 실제로 이행(Implementation) 해보아요! 무엇보다 중요한 것은 여러분들이 함수의 성질을 이해하고 그 힘을 상상하는 훈련을 하세요!

00:00 - 오늘의 수업

01:00 - addPoint / 포인트 만들기
04:45 - Y, projection / Y값 구하기
06:10 - x * a + b / 라인 그리기
06:32 - math.pow
09:03 - math.sqrt
10:22 - Circular arc
12:20 - Absolute value
12:51 - math.cos, math.sin
20:55 - math.tan
22:07 - floor / ceiling
23:43 - Gaussian distribution / Bell curve
30:08 - 요약


5. Point Grid 2D / 2D포인트 그리드 - link

- 컴퓨테이셔널 디자인에서 중요한 개념 중 하나는 이산화(Discretization) 과정이 중요해요. 특별히 공간을 다루는 디자인에서는 그리드 시스템을 통해서 공간정보를 프로세스 할 수 있죠. 어떻게 그리드를 통해서 공간을 나눌 수 있는지 함께 알아봐요.

00:00 - 오늘의 수업

00:35 - 포인트 가져오기
02:05 - PointCoordinates / X Y Z 값 가져오기
04:00 - Point Grid , for loop / 포인트 그리드 만들기 , 중첩 반복
07:06 - interval / 간격
10:35 - 요약

 

Q1 RhinoPython AddLine / 라이노 파이썬 질문 1 AddLine 함수 에러 - link

00:07 - 오늘의 질문
00:56 - 문제의 댓글 확인 - https://youtu.be/hLhdOEqycG4
01:16 - 문제의 답은?
………………………….
02:13 - 처음 문제를 봤을 때… 디버깅 시작
04:04 - 1) 검색을 해보자!
05:22 - 2) 다른 방법으로 : Rhino API
07:53 - GUID
09:57 - 3) 문제 파악! : try except
…………………………..
12:46 - 4) 문제 해결! If 구문
12:58 - 5) 첫 번째 솔루션
13:48 - 6) 두 번째 솔루션
…………………………..
14:49 - 마무리

 


6. Point Grid Pattern / 2D, 3D 포인트 그리드 패턴 - link

- 이산화(Discretization)는 면을 따라서 일어나는 것뿐 아니라, 3차원 공간에서도 가능하죠. 복셀(Voxel)이 그 예일 수 있어요. 뿐만 아니라, 조건문에 따라 다양한 패턴을 함께 만들어 봐요!

00:00 - 오늘의 수업

00:08 - if / 조건문 그리고 패턴
07:13 - Line / 라인 그리기
08:03 - Distance / 거리 계산
13:56 - if, line / 조건문과 라인
16:50 - 3D Voxel Grid / 3차원 복셀 그리드
20:27 - 요약


7. Point Cloud - Random / 포인트 클라우드 - 랜덤 - link

- 포인트는 지오메트리를 표현하는 요소로 쓰이기도 하지만, 데이터를 표상할 때도 많이 쓰이는 요소예요. 이번 시간에는 랜덤 함수를 이용해서 포인트 클라우드를 만들어 봐요!
 

00:00 - 오늘의 수업
02:48 - 포인트 만들기
03:02 - random 함수
04:21 - for loop / 반복문
05:42 - Random points / 무작이 포인트 만들기
06:28 - remap, offset value
08:41 - 3D point cloud / 3차원 포인트 클라우드
09:26 - 요약


8. Point Cloud - Random Normal Distribution/ 포인트 클라우드- 정규분포 - link

- 랜덤 함수를 이용해서 정규 분포를 만들어 볼까요? 이러한 훈련은 우리의 수학적 지식과 알고리즘을 구현하는 이행 단계의 간극을 줄여주는 훈련이에요. 중고등학교 때 배웠던 간단한 수학 지식들을, 디자인 프로세스에 연결할 수 있다면, 여러분들은, 이미 굉장한 능력을 가지고 있는 거예요! 한 걸음식 나가 봐요!
 

00:00 - 오늘의 수업
01:00 - 라이노 파이썬
02:11 - random / 무작위
03:46 - Gaussian distribution(Bell Curve) / 정규 분포 만들기
08:10 - distance
09:37 - random seed
12:09 - 3D Gaussian distribution / 3차원 정규 분포
13:32 - 요약


9. Point Cloud - Linear Regression / 포인트 클라우드- 선형 회기- link

- 포인트 클라우드에서 선형 적합 라인을 그려 볼까요? 
 

00:00 - 오늘의 수업
01:48 - Point Cloud / 포인트 클라우드
02:22 - math.sin
03:29 - line fitting / 선 적합
06:35 - 요약


1D 데이터

10. Point, Line, Polyline / 포인트, 라인, 폴리라인 - link

- 여러 개의 포인트를 연결하면, 라인 그리고 폴리라인이 되죠. 포인트를 잘 이해하면 라인도 쉽게 만들고, 라인을 분해한 정보를 추출할 수 있죠.
 

00:00 - 오늘의 수업
01:11 - 파이썬 컴포넌트 만들기
02:50 - GUID 설명
05:05 - Line 그리기
06:55 - ClosestPoint / 가장 가까운 점 찾기
08:47 - Polyline 만들기
11:22 - List의 활용
13:29 - 요약

 


11. Line, Intersection, Length / 라인, 라인교차, 라인의 길이 - link

- 라인은, 사실 두 개의 포인트로 정의될 수 있어요. 라인의 교차점 그리고 길이를 잴 수 있는 3가지 방법에 대해서 알아볼까요? 이런 기능들은 컴퓨테이셔널  디자이너로서 어떻게 바라보면 좋을까요? 어떻게 활용해서 내가 원하는 디자인 알고리즘을 짤 수 있을까요?
 

00:00 - 오늘의 수업
00:52 - 파이썬 컴포넌트 만들기
02:51 - .LineLineIntersection / 라인 라인 교차점 찾기
04:07 - .Distance / 라인의 길이
06:20 - 거리 계산방법
10:31 - 3가지 거리 계산 방식
11:25 - 요약
12:03 - 잔소리: 코딩 공부 방법


12 Line Data, Start, end mid-point

00:00 - 과거 수업 리뷰

00:31 - 오늘의 수업: line

00:50 - 라이노 장면에서 지오메트리 데이터 가져오기

01:23 - 라인에서 가져올 수 있는 데이터는?

01:57 - Python 컴포넌트 라인 가져오기

04:06 - Line의 정점 가져오기

04:47 - Cast 개념

05:15 - 길이 가져오기

06:54 - rs.coerceline()

07:41 - .From , .To 시작점과 끝점

08:53 - 중간점 잡기

09:41 - rs.CurveMidPoint()

10:30 - 중간 점 계산해 보기

13:11 - 마무리


13 Polyline, Curve, Interpolation Data: start, end, mid, closest point

00:00 - 오늘의 수업: Polyline, Curve 만들기

00:15 - Point 가져오기

01:21 - Python 컴포넌트 만들기

01:39 - rs.AddPolyline()

02:16 - rs.IsPolyline()

03:44 - workshop list - https://www.youtube.com/playlist?list=PLweNVwGgDKEb94hRD2OT4bNWhtO0Ggu_o

03:58 - rs.CurveLength()

04:22 - rs.CurveStartPoint()

04:57 - rs.CurveEndPoint()

05:06 - rs.CurveMidPoint()

06:43 - rs.AddInterpCurve()

06:20 - rs.IsCurve()

06:50 - 가까운 점 찾기 개념

08:09 - rs.CurveClosestPoint()

09:12 - 좌표계 설명 xyz, uv, t

11:06 - rs.EvaluateCurve()

12:08 - rhinoscriptsyntax 단점

12:30 - rs.AddCurve()

12:59 - degree 단계와 해석의 차이

14:21 - 요약


14 Bézier, Sigmid, Circle, Arc, Helix, Gear Curve

00:00 - 오늘의 수업소개

00:24 - Bézier curve

01:52 - 커브에서 t 값의 포인트 찾기

03:50 - Sigmid curve

07:16 - Circle curve

09:24 - Arc curve

10:51 - Helix curve

11:47 - Gear Curve 


15 Cone, Sphere, Projection

00:00 - Cone points

02:27 - 코드를 분석의 중요성

03:13 - Point 수정

05:55 - Sphere points

07:57 - 구를 펼치면 4 각형 패널이 된다.

10:29 - Point 수정, Attraction

12:19 - Spherical projection

15:27 - Code 설명

17:16 - 마무리


16 Circle & Data

00:00 - 오늘의 수업 Circle

00:16 - rs.AddCircle()

01:38 - Plane 개념

06:00 - 예를 들면

07:17 - Plane의 상하 관계

08:07 - 생각들...

08:49 - Circle 응용

10:05 - 수체계는 상상의 도구이다!

11:26 - 다시 설명하면,

12:29 - 곱하기 어떻게 볼까? https://youtu.be/h5YphJY54nI

13:18 - rs.AddCircle3Pt()

15:18 - 다양한 Circle 생성방법

15:52 - Circle 데이터 가져오기

16:13 - rs.CircleCenterPoint()

16:06 - rs.CircleCircumference()

17:29 - rs.Area()

 


17 Circle Packing Implementation

00:00 - 오늘의 수업: Circle Packing 구현

00:21 - Boundary 정의

01:25 - 함수 정의: AddCircle()

02:14 - Circle 생성

03:23 - Domain에 따른 Random 구현

05:09 - 개념 설명: 수학의 추상화, 디자인의 도구

06:03 - Random 포인트 만들기

08:00 - Circle Packing의 큰 두 가지 개념

09:04 - 여기서 취하는 방식은!

09:52 - Line Intersect

12:52 - Circle 충돌 공식 개념

13:20 - Circle Intersect 구현

15:13 - 충돌 감지 구현

16:50 - 거리 측정 개념, rs.Distance()

18:16 - 충돌 테스트

20:40 - 기존 Circle과 충돌 테스트 구현

22:58 - 디버깅하기

24:21 - 성공 확률 출력

25:09 - 숙제로 해볼 것?


18 Rectangle & Plane & Point

00:00 - 오늘의 수업 Rectangle

00:56 - Rect를 장면에 만드는 방법들

01:19 - Python으로 Rect 만들기

01:26 - Plane

03:19 - rs.MovePlane()

04:21 - 개념 설명

05:17 - Point의 활용

06:24 - Plane으로 Cast 하기


19 Rectangle and Optimization

00:00 - 특정 조건에 맞는 사각형 만들기

01:12 - rs.Area()

02:42 - Optimization 최적화 조건 기술

06:26 - 최적화가 완료되는 시점 기술

07:36 - 결과 확인 및 튜닝

10:17 - 최적화의 방향성 튜닝

12:49 - 단순함으로 복잡함을 기술

14:28 - 수정 사항

15:06 - 화면 지오메트리 색 수정

16:21 - 조건을 만족하는 여러 값들을 찾기

16:48 - while 조심할 점

18:05 - 찾아낸 데이터 담기

19:23 - 결과 해석

20:23 - 숙제!

22:07 - 학습 전략!

 


20 Arc, Basic Move, Rotate Object

00:00 - 이전 수업 요약

00:14 - 오늘 수업: Arc

00:34 - rs.AddArc()

01:54 - Rotation

02:42 - rs.RotateObject()

03:42 - 참조 / Reference에 대해

06:22 - rs.MoveObject()

07:06 - Point를 이용해서 이동시키기

08:14 - 이동과 회전의 순서에 따라 결과가 달라진다!

09:32 - 마무리


21 Arc, Data, Rotation Based on Axis

00:00 - Arc의 데이터

00:10 - Start & End Point

01:32 - rs.ArcAngle()

01:50 - rs.ArcCenterPoint()

02:03 - rs.ArcMidPoint()

02:10 - rs.ArcRadius()

04:14 - 중간 요약

04:36 - 가까운 점 찾기

05:53 - rs.EvaluateCurve()

06:32 - 중간 정리

.............

07:40 - rs.Rotate() 자세히 알아보자

11:22 - X 축으로 회전하기

12:18 - arc의 중심으로 회전

13:39 - arc의 중간점으로 회전

14:03 - 오늘의 수업 마무리


22 Ellipse, Data, QuadPoints Tower Example

00:00 - 디자인 기술 도구인 코딩!

01:03 - rs.AddEllipse()

02:23 - rs.RotateObject()

.............

04:39 - Tower 만들기

06:38 - 추가 파라미터 적용 하기

08:00 - math.pow() 적용

09:40 - Ellipse Data

10:17 - EllipseCenterPoint()

10:36 - EllipseQuadPoints()

11:27 - Start & End Points

12:46 - 마무리


23 Decompose Line & Data

00:00 - 전 수업 요약

00:25 - 워크숍 시리즈 - https://www.youtube.com/playlist?list=PLweNVwGgDKEb94hRD2OT4bNWhtO0Ggu_o

01:13 - 개념 요약 01:18 - Scalar

01:34 - 2D Vector

01:45 - 3D Vector

02:19 - Line & Polyline entity

03:06 - 결국 Points관계성의 해석이다

03:43 - 커브객체의 포인트로 분해

............

04:42 - Line, Start, end Points

06:04 - Length, Distance

08:29 - rs.SplitCurve()

10:18 - 리스트에서 아이템 뽑아오기

.............

11:43 - 다른 방식으로 선을 나누기!

11:53 - rs.CurveMidPoint()


24 Decompose Polyline & Data

00:00 - Polyline 가져오기

00:50 - 오늘의 수업 목표

01:06 - 포인트 추출 방법

01:40 - rs.PolylineVertices()

02:35 - For 반복문의 차이점!!

03:33 - 연결 개념 설명과 구현

05:52 - 결과 시각화

06:38 - rs.JoinCurves()

08:27 - t값에 따라 라인 나누기

09:11 - Polyline 나누기


25 Divide line and polyline segment

00:00 - Polyline divide

00:26 - 2개의 Point 만들기

01:31 - 라인 자르기 개념

03:23 - 길이로 나누기

06:18 - 파라미터 연결하기

06:55 - 개수로 나누기

08:17 - 구현하기

09:22 - Visualization

09:38 - 라인 개수 말고, 포인트의 개수로...

11:02 - 마무리 요약


26 Curve, SplitCurve, DivideCurve, DivideCurveLength

00:00 - 오늘의 수업

00:20 - NURBS에 대한 생각

01:04 - NURBS Curve 만들기

01:48 - rs.SplitCurve()

04:21 - 길이에 따라 선 자르기

05:27 - rs.DivideCurve()

07:38 - rs.DivideCurveLength()

08:32 - 숙제 설명


27 Curve, SplitCurve, CopyObject & Debugging

00:00 - 오늘의 수업: 커브 자르기

00:45 - 전략(알고리즘) 설명

01:43 - for loop 구현

02:44 - 예약어 사용 금지!!

03:32 - 두개의 포인트 가져오기

04:20 - rs.SplitCurve()

05:54 - 개념설명

06:52 - 디버깅

08:27 - 문제점 인식

08:44 - rs.CopyObject()

10:01 - 잘라진 커브 리스트 반환

11:37 - 반대 커브 자르기 개념

12:35 - 디버깅

13:32 - Code Refactoring & Debugging

14:16 - 문제점 인식과 설명

14:59 - safeguard 설치

15:36 - 결과 확인

15:44 - 마무리 요약

16:18 - 컴퓨테이셔널 사고와 코딩

..........

16:42 - rs.TrimCurve()

18:03- Trim 개념


28 N-Gon, Closed Polyline, Star shape

00:00 - 오늘의 수업: N-Gon

00:40 - Python 컴포넌트 만들기

01:17 - Radian 구하기

02:13 - 반복문 구현

03:25 - Circle 구현

03:52 - 개념 설명

06:13 - safeguard 설치

07:09 - 숙제 & 개념 설명

07:50 - Line 연결 개념

09:09 - Line 구현

11:17 - 닫힌 폴리곤 연결

11:27 - 코드 최적화

13:23 - 결과 시각화

..........

13:36 - Start shape 개념

14:31 - 구현 시작

15:43 "%" 나머지 연산

17:53 - 결과 시각화

18:22 - 마무리


29 Fillet, Arc, Line Vector

00:00 - 이전 수업 요약 그리고 주제: fillet

00:19 - Python 컴포넌트

00:58 - rs.CurveFilletPoints()

02:20 - Arc 그리기 & 파라미터

05:08 - Arc를 위한 Vector

06:41 - 선의 방향 백터 구하기

07:05 - 그라스하퍼로 개념 이해

09:09 - Line의 방향성 Vector 시각화

09:32 - Fillet에 Vector 적용하기

11:22 - Python 코드 구현 rs.VectorSubtract()

12:09 - VectorUnitize()

13:05 - 중간요약

13:48 - 결국 문제해결 과정이 중요


30 Fillet Example, Polyline & fillet, GetDirection

00:00 - 오늘의 수업: Polyline & fillet

00:21 - 준비하기

00:54 - rs.PolylineVertices()

02:38 - 개념 & 전략 설명

04:01 - 결과 시각화

...........

04:08 - Line, Fillet 하기

04:42 - rs.CurveFilletPoints()

06:06 - Matrix to List

..........

06:46 - Fillet 구현

07:04 - GetDirection()

08:52 - rs.CurveFilletPoints()

09:50 - 응용을 해보면...

10:06 - 파라미터 연결

10:29 - 결국, 디자인 프로세스


31 Fillet Example, Polyline & Trim, Arc

00:00 - Split 구현

00:14 - 일반적인 전략 설명

01:14 - 적용할 알고리즘

02:16 - 사용할 데이터 저장

03:11 - Line 반복하기

03:50 - 조건 구현

06:05 - rs.TrimCurve()

08:05 - 첫 번째 지오메트리 확인

08:26 - 끝 지오메트리에 대응

09:36 - rs.CurveDomain()

10:00 - 중간 요약 & 알고리즘(전략) 설명

11:19 - 중간 지오메트리들 대응

12:22 - 결과 확인

12:28 - Arc 순서대로 담기

14:13 - 결과 확인

14:51 - 마무리

15:19 - 실패의 결과는 실력