Generative Algorithm 040

두께 주기(Generating Ribs)


이렇게 재배열 된 section curve들에 뭔하는 만큼의 두께를 주도록 하자. 먼저 <offset>을 이용하여 curve를 원하는 만큼 <offset> 시킨다. 원래 curve와 <offset> 된 curve의 각 양끝을 찾은 뒤 이것에 <line>을 더하여 이어준다. 이러면 원하는 두께를 가진 구조체가 완성된다. 위와 같은 과정을 다른 방향으로 생성한 section curve에도 적용시켜 준다.

Generating Joints (Bridle Joints)

다음 단계로는 이 구조체들이 서로 얽힐 수 있도록 교차되는 부분을 반씩 파주는 것이다. 

여기서 사용된 다른 방향의 plane은 위에서 그린 plane이 아닌 저자가 새롭게 따로 그린 plane 이다. 이 plane이 input surface와 만나며 curve를 생성하게 된다. [1] 는 의 원점이 되는데 이때의 x 좌표는 를 통해 input 해준다. 다른 는 의 결과값을 x 좌표로 가지게 되는데 이 에 input에 되는 x는 에서 나오는 값이고 y는 의 x방향 길이인 값이다. 이렇게 하면 두 이 에 따라 대칭(mirror)된 형태를 가지게 된다. 이 두 을 에 연결하여 section curve를 얻도록 하자.

이 section curve와 위에서 그린 curve가 교차하는 점을 찾기 위해서는 (Intersect > Physical > Curve | Curve)를 사용하면 된다. 이때 data matching의 방식은 ‘cross reference’로 해주면 된다. 이제 이 교차점을 이용하여 재배열한 curve들 위에 bridle joint를 그려보자

<CCX>를 보면 point 뿐만 아니라 tA와 tB가 있는 것을 알 수 있다. 이는 각 curve 위 교차 point의 parameter를 내보내는 것이다. 이것을 <evaluate curve>의 T에 연결하고 재배열 된 curve들을 C에 연결하면 해당하는 위치의 point를 재배열 된 curve 위에 찾아줄 수 있다. 즉 이 경우 point는 <orient>가 아닌 <evaluate curve>를 이용해서 찾아 준 것이다.

이제 이점으로부터 시작되는 line을 그려보자. 이 때 사용할 수 있는 것은 <line SDL>이다. 이는 S: Start point, D: Direction, L: Length를 input으로 가진다. <unit Y>를 방향에 연결하고 <offset>에 사용한 값을 <f2: x/2>를 이용하여 L에 연결하여주자.

이렇게 그려진 line에 <end point>를 이용하여 찾은 끝점을 찾아주자. 이것에 다시 <line SDL>을 연결하여 X 방향으로 line을 그려준다. 이 길이는 <sheet_thickness>가 된다.

이제 이 X방향으로 그려진 line의 끝점에서 처음 시작했던 curve로 돌아가보자. 먼저 <end point>를 이용하여 끝점을 찾아준다. 여기에 <line SDL>을 연결해주자. 이 때 line의 방향은 Y의 반대방향이므로 <unit Y>와 함께 음수를 L에 연결해주면 된다. 길이의 경우 정확한 길이를 알 수 없으므로 일단 충분히 긴 line을 그린 뒤 이것의 교차점을 찾아주자. 이번에는 line과 curve의 교차이므로 <CLX>(Intersect > Mathematical > Curve | Line)을 이용하면 된다. 이 point는 tree 구조를 가지고 있게 되는데 이를 <flatten>을 이용하여 data list로 바꿔주도록 하자.
위에서 X방향으로 그린 선의 end point와 방금 전에 찾은 교차point를 각 시작과 끝으로 하는 line을 그려주면 된다.

이제 <joint curves>(Curve > Util > Join curves)를 이용하여 각 line을 join 시켜주자.
위를 똑같이 다른 쪽의 점에도 적용시켜 준다.

Labeling

fabrication으로 넘어가기에 앞서 각 부재들에 labeling을 해보자. 잘라야 할 것이 수백 개에 이른다면 부재를 구분하기 위해서라도 꼭 labeling을 해주는 것이 좋다. 이때 label은 조립의 순서에 따르는 것이 좋다.
Label은 수와 text의 조합으로 이루어질 것이다. 즉 하나의 열에 여러 개의 부재들이 있다고 했을 때 left_wing_01 과 같은 방식으로 labeling을 할 수 있다.
이 예제에서는 일련의 수를 적용하여 각 부재의 위치를 표시해보도록 하자. <text tag>의 input으로는 label이 표시 될 frame과 표시할 text의 내용, 그리고 text의 크기가 있다.

각 방향의 부재의 수는 section curve를 <orient>하는데 사용했던 frame과 그 수가 일치한다. (위에서 선택된 component가 바로 우리가 <orient>에 연결하였던 frame의 list 이다.) 이 plane의 개수를 <list length>를 이용하여 찾은 뒤 그 수를 <series>의 C에 연결해준다.

여기서 나오는 수의 data list를 <text tag>의 T에 연결해주자. 이 때 <integer>는 수에 붙어있는 .0을 없애주는 역할을 한다. 즉 수가 12.0 인 경우 이것을 12로 바꿔주는 것이다.
부재의 list를 <text tag>의  L에 그대로 연결하면 label들이 각 부재의 꼭지점에 있는 frame의 중심에 표시되게 된다. 그러므로 이 전에 frame을 이동시키고 이것을 꼭지점에 있는 plane을 X 방향으로 1만큼, Y 방향으로 0.5 만큼 이동시켜보자. 이 경우 <sum> 을 이용하여 두 vector를 합한 뒤 <move>에 적용하였다. 이것을  <text tag>의 L에 연결시켜주면 된다.

이제 부재들이 그려지는 surface를 바꿔가며 부재들을 그려주면 된다. 이때 재료를 낭비하지 않도록 주의하자. 위 그림의 경우 sheet_3에서 부재의 일부가 sheet의 끝에 닿는다는 것을 알 수 있다. 이것을 조절해주기 위해 Grasshopper의 algorithm을 바꿀 수도 있다. 하지만 이것을 bake 한 뒤 Rhino에서 자르기 전에 이동시켜주는 것이 더 간단하다. 즉 어떻게 작업을 하는 것이 더 쉬울지를 잘 판단하는 것이 중요하다.

자르기(Cutting)

모든 준비가 끝났으면 이제 curve를 bake 한 뒤 부재를 자를 준비를 해보자. 아래에서 보이는 것 처럼 모든 부재를 재료의 사이즈와 양에 맞춰 잘 배열해보자. 이제 laser cutter를 사용할 준비가 모두 끝났다.

<a

조립(Assembly)

이 예제의 경우 부재의 조립은 어렵지 않다. 3d model과 비교해가며 조립하면 조립 순서와 부재의 위치를 쉽게 찾을 수 있을 것이다. 조립이 끝나면 종이를 이용하여 만든 surface가 완성될 것이다.

완성된 model

완성된 model

잘려진 부재, 조립할 준비가 되었다


 Fabrication을 잘 하기 위해서는 여러 가지 측면을 고려해야 한다. 어떠한 형상이어야 하는가, 어 떠한 재료를 사용해야 하는가, 어떤 제작도구를 이용하는가, 어떻게 조립할 것인가 등의 여러 사항에 따라 그 결과물이 달라질 수 있기 때문이다. 또한 project에 따라 fabrication에 필요한 data를 잘 추출해내는 것이 중요하다. 특히 결과물이 복잡한 기하체라면 조립의 규칙을 먼저 생각해보는 것 또한 무척 중요하다.

조립 방식; 흔한 재료와 간단한 joint로 제작하였지만 재료가 어떻게 만나는가와 점의 위치 data가 없다면 모형을 원하는 대로 제작할 수 없을 것이다.


 
 

이로서 Generative Algorithm의 연재를 마칩니다.
곧 pdf 합본으로 업로드할 예정입니다.
감사합니다.

 


 
[1] 이 전에 저자가 언급한 바는 없지만 위의 그림에서 보시다시피 top view에서 본surface의 왼쪽 아래 코너의 x, y좌표는 0이다. 만약 surface를 다른 곳에 그렸을 경우 이를 위의 그림에 맞게 옮기면 된다.
 

One thought on “Generative Algorithm 040

  1. Pingback: Generative Algorithm 040 | Pop+kitectural META

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s