# 2.6 - Dynamo FormIt 노드

_FormIt은 FormIt과 Dynamo 간에 형상을 전송하는 Dynamo 노드 라이브러리가 함께 제공됩니다. 이전 장에서는 Dynamo 객체를 작성하고 FormIt 내에서 동적으로 조정할 수 있는 방법에 대해 살펴보았습니다. 이 장에서는 제공된 Dynamo 그래프를 편집하여 OOTB 계단 그래프의 수정된 버전을 작성해 보겠습니다._

_이 장에서는_ _**Encode Campus Sample Model.axm**_ _모델_ _과_ _**Stairs by Top Edge.dyn**_ _Dynamo 스크립트를 모두 사용합니다. 아직 설치하지 않은 경우_ \_**FormIt Primer 2부 데이터세트**\_를 다운로드하여 두 파일을 모두 찾을 수 있습니다.

_FormIt 내에서 Dynamo를 처음 사용하는 경우 Primer_ _**1부**_ _의_ _**1.10 -**_ _**Dynamo를 사용한 계산 그룹**_ _장을 완료하는 것이 좋습니다. 이 장에서는 Dynamo 그래프 편집을 다루지만 FormIt 전용 노드와 관련이 있으므로 Dynamo의 요소만 다룹니다. Dynamo를 처음 사용하는 경우_ [_**Dynamo Primer**_](https://primer.dynamobim.org/01_Introduction/1-2_what_is_dynamo.html)_**에서 자세한 내용을 알아볼 수 있습니다.**_

_**이 섹션을 진행하려면 Windows용 FormIt 2022.0 이상이 필요합니다.**_

## **Dynamo 라이브러리 위치 추가**

_FormIt은 **Dynamo 샘플** 폴더에 OOTB 그래프 라이브러리가 저장된 상태로 제공되지만 고유한 사용자 지정 그래프를 작성하고 저장할 공간이 필요합니다. 이렇게 하기 위해 먼저 FormIt의 **Dynamo 라이브러리 위치**에 새 폴더를 추가하겠습니다. 이것은 FormIt의 컨텐츠 라이브러리에 폴더를 추가하는 것과 유사하므로 해당 내용을 다시 확인할 필요가 있는 경우 Primer 1부 **1.11 - 컨텐츠 라이브러리를 사용하여 모델 가져오기** 장을 참고하십시오._

1 - 새 **Dynamo 라이브러리 위치**를 추가하려면 다음을 수행합니다.

1. **Encode Campus Sample Model.axm**을 연 상태에서 **Dynamo 팔레트**로 이동합니다.
2. 왼쪽 상단에 있는 **Dynamo 디렉토리 링크** 버튼을 클릭합니다.
3. **Dynamo** 탭이 자동으로 선택된 상태로 **기본 설정** 창이 열립니다. **새 Dynamo 라이브러리 위치 추가** '더하기' 아이콘을 클릭합니다.
4. **모델 인코딩 데이터세트**를 다운로드한 위치로 이동하고 **지원 파일** > **FormIt 입문서 그래프** 폴더를 선택합니다.
5. **폴더 선택**을 클릭한 다음 **확인**을 클릭합니다. 그러면 FormIt으로 다시 돌아옵니다.
6. **Dynamo 팔레트**의 상단에 있는 폴더 드롭다운에서 방금 추가한 **FormIt Primer 그래프** 폴더를 선택합니다.

![](https://4260364112-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fhu9vZd1fItfZF6KPUjKS%2Fuploads%2Fgit-blob-57eef08012ed90a0da31117b7c9b2b0f0e462d5b%2F0%20\(21\).png?alt=media)

## **SendToFormIt** **노드**

_Dynamo 그래프가 FormIt에서 작동하려면 하나 이상의_ _**SendToFormIt**_ _노드가 있어야 합니다._

1 - 방금 추가한 폴더에서 **상단 모서리 기준 계단** 그래프를 있는 그대로 사용하는 것으로 시작하겠습니다.

1. 먼저 단면 - 수직 장면으로 이동합니다.

2 - **SendToFormIt** 노드를 그래프에 추가하겠습니다. 추가하기 위해 새 FormIt 모델에서 '소스 그래프 편집'을 사용하여 그래프 작성 변경 사항으로 작업 모델에는 영향을 미치지 않도록 해 보겠습니다.

1. 작업 표시줄에서 **FormIt 아이콘**을 마우스 오른쪽 버튼으로 클릭하고 **FormIt**을 선택하여 비어 있는 새 FormIt 창을 시작합니다(또는 FormIt 아이콘을 마우스 가운데 버튼으로 클릭).
2. **Dynamo 팔레트**에서 **상단 모서리 기준 계단** 타일을 찾은 다음 타일 오른쪽 모서리에 있는 작은 드롭다운 화살표를 클릭하거나 타일을 마우스 오른쪽 버튼으로 클릭합니다.
3. **소스 그래프 편집**을 선택합니다. 그러면 Dynamo가 자동으로 시작되고 편집할 그래프가 열립니다.

![](https://4260364112-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fhu9vZd1fItfZF6KPUjKS%2Fuploads%2Fgit-blob-45c7ca6f01ae7b6e79fffc1f3904b1771548d597%2F2%20\(22\).png?alt=media)

2 - Dynamo와 그래프가 열리면 가장 오른쪽에 있는 녹색 및 보라색 그룹이 포함된 아래 표시된 영역을 줌 확대합니다.

![](https://4260364112-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fhu9vZd1fItfZF6KPUjKS%2Fuploads%2Fgit-blob-67f6d966cef8a18899acd011598fe5043374d6ac%2F3%20\(19\).png?alt=media)

_**주:**_ _Dynamo 그래프는 왼쪽에서 오른쪽으로 흐르고 있으므로 일반적으로 그래프의 맨 오른쪽에 출력 노드가 있습니다._

3 - 이제 **SendToFormIt** 노드를 추가하여 백그라운드에서 보이는 계단 형상을 FormIt 모델로 전송해야 합니다.

1. 왼쪽의 애드온(패키지) 영역에서 **FormIt** 드롭다운을 확장하고 **SendToFormIt**을 클릭합니다. **SendToFormIt** 노드가 화면 중앙에 나타납니다.
2. 보라색 그룹과 새 **SendToFormIt** 노드를 둘 다 선택한 다음 **SendToFormIt** 노드를 마우스 오른쪽 버튼으로 클릭해 **그룹에 추가**를 선택하여 새 노드와 보라색 **FormIt으로 계단 형상 보내기** 그룹에 새 노드를 추가합니다. 새 노드를 아래 이미지에 표시된 것과 유사한 위치로 이동합니다.
3. **SendToFormIt** 노드를 마우스 오른쪽 버튼으로 클릭하고 **이(가) 출력**이 선택되어 있는지 확인합니다. 기본적으로 선택되어 있지만 그렇지 않은 경우 형상이 FormIt으로 전송되지 않습니다.
4. **SendToFormIt** 노드의 이름을 **SendToFormIt.Stairs**로 바꿉니다.
5. 아래 이미지에 표시된 것처럼 새 **SendToFormIt.Stairs** 노드의 입력 2개를 연결합니다.

![](https://4260364112-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fhu9vZd1fItfZF6KPUjKS%2Fuploads%2Fgit-blob-7b50affceaab1277b88ce55dc05a32e7a45f1101%2F4%20\(18\).png?alt=media)

_**주:**_ _여기서는 형상이 객체 또는 메쉬로 FormIt에 전송되는지 여부를 결정하는_ _**SetAsMesh**_ _옵션만 사용하긴 하지만,_ _사용할 수 있는_ _**FormItGroupOptions**_ _노드가 여러 개 있습니다. 각 노드는 FormIt으로 전송된 형상의 다양한 특성을 제어합니다. 다른 노드를 자유롭게 실험해 보십시오._

4 - FormIt으로 돌아가 제대로 작동하는지 확인합니다.

1. Dynamo를 저장한 다음 닫습니다. 업데이트된 그래프가 FormIt으로 자동으로 다시 로드됩니다.
2. **인코딩 캠퍼스 샘플 파일**을 사용하여 FormIt 창으로 다시 전환하고 **Dynamo 팔레트**에서 **상단 모서리 기준 계단**을 다시 클릭합니다.
3. 아래 이미지에 표시된 것과 유사하게 계단을 모델에 배치합니다.
4. 계단을 선택하고 해당 그룹 이름이 Dynamo 그래프의 이름과 일치하는지 확인합니다.
5. 이제 그룹을 두 번 클릭하여 편집하고 내포된 계단 형상 그룹을 선택합니다. 해당 그룹의 이름이 Dynamo의 노드에 지정한 이름과 일치하는지 확인합니다.

![](https://4260364112-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fhu9vZd1fItfZF6KPUjKS%2Fuploads%2Fgit-blob-b4f5b4739f1f208006ad1d68456cf5107f186471%2F5%20\(17\).png?alt=media)

_**주:**_ _다음 섹션에서 미세하게 조정할 예정이니 계단의 정확한 위치에 대해서는 걱정하지 마십시오._

![](https://4260364112-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fhu9vZd1fItfZF6KPUjKS%2Fuploads%2Fgit-blob-c2c757e3c9f0ca166cf88bd0d7e5b0ec102c1444%2F6%20\(14\)%20\(2\).png?alt=media)

_**주:**_ _이 경우_ _**SendToFormIt**_ _노드가 하나만 필요하지만 이 노드는 여러 개를 작성할 수 있습니다. 각 노드는 FormIt에서 가져온_ _**SendToFormIt**_ _노드의 이름을 기반으로 FormIt에 새 그룹을 작성합니다._

## **SelectFromFormIt 노드**

_이전 장에서 살펴보았듯이 Dynamo 그래프는 사용자에게 특정 형상을 선택하라는 메시지를 표시할 수 있습니다. 그러면 해당 형상이 그래프에서 사용됩니다. 이제 Dynamo 내부에서 선택한 FormIt 형상에서 계단 방향, 폭 및 높이를 계산할 수 있도록 해당 노드 중 2개를 계단 그래프에 추가합니다._

1 - 방금 배치한 계단을 삭제합니다.

2 - 빈 FormIt 창으로 다시 전환합니다.

3 - **Dynamo 팔레트**에서 **상단 모서리 기준 계단** 타일의 드롭다운을 클릭하고 **소스 그래프 편집**을 선택하면 Dynamo에서 다시 열립니다.

_**주:**_ _(**Dynamo 팔레트**대신)_ _**포함된 그래프 편집**_ _을 클릭하여_ _**속성 팔레트**_ _에서 직접 Dynamo 그래프를 편집하는 경우에는 FormIt의 Dynamo 라이브러리에 이전에 추가한 폴더에 저장된 소스 그래프가 아니라 해당 그룹에 포함된 그래프만 편집합니다._

4 - 이번에는 선택 노드 몇 개를 추가하려고 하는데, 해당 노드는 주로 그래프의 시작 지점 또는 왼쪽에 있습니다. 아래에 표시된 영역을 줌 확대합니다.

![](https://4260364112-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fhu9vZd1fItfZF6KPUjKS%2Fuploads%2Fgit-blob-f8b02b7445fc7e6b84aadaa3263b0ca7ee384434%2F7%20\(9\).png?alt=media)

5 - 새 선택 노드를 추가하려면 다음 단계를 수행합니다.

1. **애드온** 영역에서 **FormIt**을 확장하고 **SelectFromFormIt**을 두 번 클릭합니다. 그러면 화면 중심에 새 노드 2개가 작성됩니다.
2. 아래 이미지에 표시된 것처럼 위로 하나씩 올라가며 정렬하고, 주황색 그룹을 만든 다음 **FormIt에서 선택한 형상**으로 이름을 지정합니다. FormIt에서 요소를 선택하라는 메시지가 표시되는 순서는 Dynamo에서 선택 노드의 수직 위치에 따라 달라집니다. 맨 위 노드가 먼저 표시되고 맨 아래 노드는 마지막에 표시됩니다.
3. 맨 위 노드의 이름을 **상단 모서리 선택**으로 바꾸고 맨 아래 노드의 이름을 **맨 아래 바닥 선택**으로 바꿉니다. 이 그래프를 FormIt에서 실행하면 Dynamo 선택 마법사가 나타나고, 해당 노드의 이름을 선택할 형상에 대한 프롬프트로 사용합니다.
4. 각 노드를 마우스 오른쪽 버튼으로 클릭하고 **입력임**이 선택되어 있는지 확인합니다. 기본적으로 선택되어 있지만, 그렇지 않은 경우 FormIt에서 이러한 노드를 인식하지 못합니다.
5. 아래 이미지에 표시된 것처럼 새 선택 노드를 연결합니다. 각 노드에는 연결이 1개만 있습니다.

![](https://4260364112-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fhu9vZd1fItfZF6KPUjKS%2Fuploads%2Fgit-blob-6986ab3ab42b7314975d4d4bb90e7797bc6c7759%2F8%20\(11\).png?alt=media)

_**주:**_ _새 노드에 경고가 발생하여 위에 표시된 것처럼 노드가 노란색으로 바뀔 수 있습니다. 지금은 이러한 문제를 무시할 수 있습니다. 이러한 경고는 노드에 FormIt에서 가져온 형상이 필요하지만 (방금 추가하여) 아직 수신되지 않았기 때문에 나타납니다._

6 - 이제 선택 노드의 형상에서 계단이 작성되도록 그래프를 약간 더 변경해야 합니다. 먼저 입력 슬라이더가 아닌 선택한 형상에서 값을 가져오도록 **바닥 대 바닥 높이**와 **계단 폭** 입력을 변경해야 합니다.

1. **Shift** 키를 누른 상태에서 주황색 **슬라이더 입력** 그룹 내에 있는 **바닥 대 바닥 높이** 노드의 출력을 클릭하고, 해당 와이어를 바로 위에 있는 **계산된 바닥 대 바닥 높이** 출력으로 이동합니다.
2. 동일한 기술을 사용하여 주황색 **슬라이더 입력** 그룹의 **계단 폭**에서 위의 **계산된 바닥 대 바닥 높이** 노드의 출력으로 출력 와이어를 이동합니다.
3. 더 이상 필요하지 않으므로 이전 **바닥 대 바닥 높이** 및 **계단 폭** 노드를 삭제합니다.

![](https://4260364112-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fhu9vZd1fItfZF6KPUjKS%2Fuploads%2Fgit-blob-28537eb02e9819161fa6cd3d2722be3db90929fd%2F9%20\(8\)%20\(2\).png?alt=media)

_**주**_ _:_ _그래프에 Dynamo 입력 노드를 추가하려는 경우_ _**SelectFromFormIt**_ _노드를 추가하는 것과 매우 유사합니다. 해당 노드가_ _**입력임**으로 표시되어 있는지 확인하고 이름을 바꾼 다음 순서를 변경합니다. 그러나 해당 노드를 FormIt에 표시하려고 할 수 있으며 노드는 FormIt_ _**특성 팔레트**에 나타납니다._

7 - 마지막으로 그래프의 오른쪽 끝을 줌 확대합니다. 여기에 앞서 **SendToFormIt.Stairs** 노드를 추가했습니다. 이 출력 노드를 전환하여 FormIt의 위치에서 선택한 형상을 기준으로 이동 및 회전된 계단 형상을 사용하려고 합니다. **계단 형상** 그룹에서 **회전되어 변환된 계단 형상** 그룹으로 연결을 전환하기만 하면 됩니다.

![](https://4260364112-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fhu9vZd1fItfZF6KPUjKS%2Fuploads%2Fgit-blob-d2efa336db4aaefb33b94ad3e6ec543caeee5021%2F10%20\(8\)%20\(2\).png?alt=media)

## **그래프 사용**

1 - 선택 및 베이크 노드를 모두 추가했으므로 그래프가 준비되었습니다. Dynamo를 저장하고 닫은 다음 **Encode Campus Sample Model.axm**이 열려 있는 FormIt 창으로 다시 전환하고 다음과 같이 시도합니다.

1. **단면 - 수직** 장면이 계속 열려 있는지 확인한 다음 1층 계단 개구부의 오른쪽 모서리를 따라 6’의 선을 그립니다. 이렇게 하면 계단의 폭과 각도가 정의됩니다.
2. **Dynamo 팔레트**에서 **상단 모서리 기준 계단** 타일을 클릭하여 그래프를 시작합니다.
3. Dynamo 선택 마법사가 나타나 앞에서 해당 선택 노드(**상단 모서리 선택**)에 지정한 이름을 사용하여 첫 번째로 선택하라는 메시지가 표시됩니다. 방금 그린 모서리를 선택했으면 Dynamo 선택 마법사에서 앞쪽 화살표를 클릭합니다.
4. 다음 프롬프트는 다른 선택 노드의 이름인 **아래 바닥 선택**이 됩니다. 주 인코딩 건물의 지층 슬래브를 선택한 다음 확인 표시를 클릭합니다.
5. 계단이 작성되면 **특성 팔레트**에서 선택 노드 중 하나에 대한 형상을 다시 선택할 수 있는 옵션이 표시됩니다. 또한 삭제한 입력 노드인 **바닥 대 바닥 높이** 및 **계단 폭**에 해당하는 슬라이더가 더 이상 존재하지 않습니다. 이 둘은 이제 선택한 형상에서 계산됩니다.

![](https://4260364112-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fhu9vZd1fItfZF6KPUjKS%2Fuploads%2Fgit-blob-1a6a0ea50b03e875cbc6786bad9fd5945ada946d%2F11%20\(8\).png?alt=media)

_**주:** 상단 모서리의 위치나 맨 아래 바닥의 높이를 변경하고 그래프를 다시 실행하면 변경 사항에 따라 계단이 업데이트됩니다. 일반적으로 FormIt에서 선택한 항목에 따라 달라지는, Dynamo에서 생성된 형상을 수동으로 이동하지 않는 것이 좋습니다. 수동으로 이동하면 형상을 작성하는 데 사용된 선택한 형상과의 관계가 변경될 수 있기 때문입니다. 경우에 따라 Dynamo 그룹과 선택 형상을 함께 그룹화하면 연결된 상태를 유지하고 문제를 방지하는 데 도움이 됩니다._

2 - 마무리를 위해 자유롭게 원하는 대로 추가하십시오. 이전 장에서 다룬 다양한 도구를 사용하여 다음 작업을 수행했습니다.

1. 각 바닥 사이에 계단을 작성했습니다.
2. 맨 아래 계단의 맨 위 모서리를 약간 회전하여 지층까지 약간 대각선인 계단을 작성했습니다.
3. 각 계단에 대해 일부 입력 슬라이더를 약간 조정하여 원하는 설정을 얻었습니다.
4. **경로를 따라 난간 작성** Dynamo 그래프를 사용하여 계단 개구부 주위에 계단참을 작성했습니다.
5. **스윕**을 사용하여 각 계단에 대한 중앙 계단옆판을 추가했습니다.
6. 모든 계단, 스트링 및 난간을 **주 건물 인코딩 - 계단**이라는 새 레이어에 배치했습니다.

![Finished stairs, views in section.](https://4260364112-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fhu9vZd1fItfZF6KPUjKS%2Fuploads%2Fgit-blob-bae6b507031a3b7925d6ca87e90111029fd72b0e%2F12%20\(7\).png?alt=media)

![Finished stairs, as visible from the Eye Level – Plaza scene.](https://4260364112-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fhu9vZd1fItfZF6KPUjKS%2Fuploads%2Fgit-blob-4f5e312677437929d2b9f0e63d18cf52152c0cbb%2F13%20\(7\)%20\(2\).png?alt=media)
