suggested exercise
파라메트릭 꽃병 작성은 Dynamo 학습을 시작하기 위한 좋은 출발점입니다.
이 워크플로우에서는 다음과 같은 작업을 수행하는 방법을 설명합니다.
Number Slider를 사용하여 설계의 변수를 제어합니다.
노드를 사용하여 형상 요소를 작성하고 수정합니다.
설계 결과를 실시간으로 시각화합니다.
Dynamo를 사용하기 전에 꽃병을 개념적으로 설계해 보겠습니다.
도예가들의 도자기 제조 방식을 고려하여 점토 꽃병을 설계하겠습니다. 도예가들은 일반적으로 도자기 물레를 사용해 원통형 꽃병을 제조합니다. 그런 다음, 꽃병의 다양한 높이에서 압력을 가해 꽃병의 모양을 변경하고 다양한 디자인을 만들 수 있습니다.
꽃병을 정의하는 데에도 유사한 방법을 사용합니다. 서로 다른 높이와 반지름으로 4개의 원을 작성한 다음, 해당 원을 로프트하여 표면을 작성합니다.
아래 링크를 클릭하여 예제 파일을 다운로드하십시오.
전체 예시 파일 리스트는 부록에서 확인할 수 있습니다.
Dynamo에서 실행할 작업의 순서를 나타내는 노드가 필요합니다. 원을 작성하려고 하므로 먼저 이러한 작업을 수행하는 노드를 찾아보겠습니다. 검색 필드를 사용하거나 라이브러리를 탐색하여 Circle.ByCenterPointRadius 노드를 찾아 작업공간에 추가합니다.
검색 > "원..."
선택 > "ByCenterPointRadius"
노드가 작업공간에 표시됩니다.
이 노드를 좀 더 자세히 살펴보겠습니다. 왼쪽에는 노드의 입력(centerPoint 및 radius)이 있고 오른쪽에는 노드의 출력(Circle)이 있습니다. 출력에 연한 파란색 선이 있습니다. 이것은 입력에 기본값이 있음을 의미합니다. 입력에 대한 자세한 정보를 확인하려면 해당 이름 위에 마우스를 놓습니다. radius 입력은 이중 입력이 필요하며 기본값은 1입니다.
기본값인 centerPoint 를 그대로 두고 Number Slider 를 추가하여 반지름을 제어합니다. Circle.ByCenterPointRadius 노드에서와 마찬가지로 라이브러리를 사용하여 Number Slider 를 검색하고 그래프에 추가합니다.
이 노드에는 슬라이더가 포함되어 있으므로 이전 노드와는 약간 다릅니다. 인터페이스를 사용하여 슬라이더의 출력 값을 변경할 수 있습니다.
노드 왼쪽에 있는 드롭다운 버튼을 사용하여 슬라이더를 구성할 수 있습니다. 슬라이더를 최대값 15로 제한하겠습니다.
이를 Circle.ByCenterPointRadius 노드의 왼쪽에 배치하고, Number Slider 출력을 선택한 후 이를 Radius 입력에 연결하여 두 노드를 연결하겠습니다.
노드 이름을 두 번 클릭하여 Number Slider 이름을 "Top Radius"로 변경해 보겠습니다.
논리에 노드 및 연결을 계속 추가하여 꽃병을 정의해 보겠습니다.
이러한 원이 표면을 정의하도록 이러한 노드를 네 번 복사하고, Number Slider의 이름을 아래와 같이 변경합니다.
중심점과 반지름으로 원을 작성합니다.
꽃병의 핵심 매개변수인 높이가 누락되어 있습니다. 꽃병의 높이를 제어하기 위해 또 다른 Number Slider를 작성합니다. 또한 Code Block 노드도 추가합니다. 코드 블록은 워크플로우에 맞춤 코드 조각을 추가하는 데 도움이 됩니다. 꽃병의 높이를 따라 원을 배치할 수 있도록 코드 블록을 사용하여 높이 슬라이더에 다른 배율을 곱하겠습니다.
그런 다음, Geometry.Translate 노드를 사용하여 원하는 높이에 원을 배치합니다. 꽃병을 따라 원을 분배하려고 하므로 코드 블록을 사용하여 높이 매개변수에 배율을 곱합니다.
2. 원은 Z축의 변수에 따라 변환(이동)됩니다.
Surface.ByLoft 노드를 사용하여 표면을 작성하려면 변환된 모든 원을 리스트로 결합해야 합니다. List.Create를 사용하여 모든 원을 단일 리스트로 결합한 다음, 마지막으로 이 리스트를 Surface.ByLoft 노드로 출력하여 결과를 확인합니다.
다른 노드의 미리보기를 꺼서 Surface.ByLoft 화면만 표시해 보겠습니다.
3. 변환된 원을 로프트하여 표면을 작성합니다.
워크플로우가 준비되었습니다! 이제 스크립트에 정의한 Number Sliders를 사용하여 여러 꽃병 설계를 작성할 수 있습니다.
이 섹션에는 Dynamo 사용을 시작하는 데 도움이 되는 간단한 워크플로우가 있습니다.
어트랙터 점은 형상 패턴을 실험해 보는 데 유용합니다. 객체의 거리를 기준으로 점진적인 변화를 작성하는 데 사용할 수 있습니다.
이 워크플로우에서는 다음과 같은 작업을 수행하는 방법을 설명합니다.
리스트를 작성, 관리 및 편집합니다.
직접 조작을 사용하여 3D 미리보기에서 점을 이동합니다.
실행 모드를 변경합니다.
이 연습에서는 반지름 입력이 근처 점까지의 거리(관계)로 정의되는 원(목표)을 작성하려고 합니다.
거리 기반 관계를 정의하는 점을 일반적으로 “어트랙터”라고 합니다. 여기서 어트랙터 점까지의 거리가 원의 크기를 지정하는 데 사용됩니다.
아래 링크를 클릭하여 예제 파일을 다운로드하십시오.
전체 예시 파일 리스트는 부록에서 확인할 수 있습니다.
목표와 관계를 스케치했으므로 그래프 작성을 시작할 수 있습니다. Dynamo에서 실행할 작업의 순서를 나타내는 노드가 필요합니다. 먼저, Number, Number Slider, Point.ByCoordinates, Geometry.DistanceTo, Circle.ByCenterPointRadius 노드를 추가해 보겠습니다.
입력 > 기본 > Number
입력 > 기본 > Number Slider
형상 > 점 > 점 > By Coordinates(x,y,z)
형상 > 수정자 > 형상 > DistanceTo
형상 > 곡선 > 원 > ByCenterPointRadius
몇 개의 노드가 있으므로 노드의 포트를 와이어로 연결해야 합니다. 이러한 연결은 데이터의 흐름을 정의합니다.
Number - Point.ByCoordinates
Number Sliders - Point.ByCoordinates
Point.ByCoordinates(2) - DistanceTo
Point.ByCoordinates 및 DistanceTo - Circle.ByCenterPointRadius
프로그램 흐름이 정의되었으므로 Dynamo에 프로그램을 실행하도록 지시하기만 하면 됩니다. 프로그램이 자동으로 또는 수동 모드에서 실행을 클릭하여 실행되면 데이터가 와이어를 통과하게 되며 3D 미리보기에서 결과를 확인할 수 있습니다.
(실행 클릭) - 실행 막대가 수동 모드인 경우 실행을 클릭하여 그래프를 실행해야 합니다.
노드 미리보기 - 노드의 오른쪽 하단에 있는 상자 위로 마우스를 가져가면 결과 팝업이 표시됩니다.
3D 미리보기 - 노드에서 형상을 작성하면 3D 미리보기에서 확인할 수 있습니다.
작성 노드의 출력 형상입니다.
프로그램이 작동 중인 경우 어트랙터 점을 통과하는 원이 3D 미리보기에 표시됩니다. 만족스러운 결과이지만, 상세 정보와 컨트롤을 더 추가할 수도 있습니다. 반지름에 미치는 영향을 교정할 수 있도록 원 노드에 대한 입력을 조정해 보겠습니다. 다른 Number Slider를 작업공간에 추가한 다음, 작업공간의 빈 영역을 두 번 클릭하여 Code Block 노드를 추가합니다. Code Block에서 필드를 편집하고 X/Y
를 지정합니다.
Code Block
DistanceTo 및 Number Slider - Code Block
Code Block - Circle.ByCenterPointRadius
단순하게 시작해서 복잡성을 더하는 것은 프로그램을 점진적으로 개발하는 효과적인 방법입니다. 프로그램이 원 1개에 작동하면 2개 이상의 원에 프로그램의 기능을 적용해 보겠습니다. 1개의 중심점 대신, 점 그리드를 사용하고 결과 데이터 구조에서 변경 사항을 적용하면 프로그램에서는 이제 각각 어트랙터 점까지의 교정된 거리로 정의되는 고유한 반지름 값을 갖는 원을 많이 작성합니다.
Number Sequence 노드를 추가하고 Point.ByCoordinates의 입력을 대치합니다. Point.ByCoordinates를 마우스 오른쪽 버튼으로 클릭하고 레이싱 > 교차 참조를 선택합니다.
Point.ByCoordinates 다음으로 Flatten 노드를 추가합니다. 리스트를 완전히 단순화하려면
amt
입력을 기본값인-1
로 둡니다.3D 미리보기가 원의 그리드로 업데이트됩니다.
숫자 조작이 적절한 방법이 아닌 경우도 있습니다. 이제 배경 3D 미리보기에서 탐색할 때 점 형상을 수동으로 밀어 넣고 끌어올 수 있습니다. 또한 점으로 구성된 다른 형상을 제어할 수도 있습니다. 예를 들어, Sphere.ByCenterPointRadius는 직접 조작도 수행할 수 있습니다. Point.ByCoordinates로 일련의 X, Y 및 Z 값에서 점의 위치를 제어할 수 있습니다. 그러나 직접 조작 방법을 사용하면 3D 미리보기 탐색 모드에서 점을 수동으로 이동하여 슬라이더 값을 업데이트할 수 있습니다. 이렇게 하면 점의 위치를 식별하는 개별 값 세트를 보다 간단하게 제어할 수 있습니다.
직접 조작을 사용하려면 이동할 점의 패널을 선택합니다. 그러면 선택한 점 위에 화살표가 나타납니다.
3D 미리보기 탐색 모드로 전환합니다.
점 위로 마우스를 가져가면 X, Y 및 Z축이 나타납니다.
색상 화살표를 클릭하고 끌어 해당 축을 이동하면 Number Slider 값이 수동으로 이동한 점으로 실시간 업데이트됩니다.
직접 조작 이전에는 하나의 슬라이더만 Point.ByCoordinates 구성요소에 연결되어 있었습니다. 점을 X 방향으로 수동으로 이동하면 Dynamo에서는 X 입력에 대해 새 Number Slider를 자동으로 생성합니다.