# Wazon parametryczny

Utworzenie wazonu parametrycznego to doskonały sposób na rozpoczęcie nauki korzystania z dodatku Dynamo.

Ten proces roboczy ilustruje:

* Sterowanie zmiennymi w projekcie za pomocą suwaków liczb.
* Tworzenie i modyfikowanie elementów geometrycznych za pomocą węzłów.
* Wizualizowanie wyników projektu w czasie rzeczywistym.

![](/files/t4ETuegoTqm2bBwGwXtx)

## Definiowanie celów

Zanim przejdziemy do dodatku Dynamo, zaprojektujmy wazon koncepcyjnie.

Załóżmy, że zaprojektujemy wazon gliniany z uwzględnieniem praktyk wytwarzania stosowanych przez garncarzy. Garncarze zwykle używają koła garncarskiego do produkcji wazonów walcowych. Naciskając na różnych wysokościach wazonu, mogą zmienić jego kształt i tworzyć różne wzory.

Do zdefiniowania wazonu użyjemy podobnej metodologii. Utworzymy 4 okręgi na różnych wysokościach i o różnych promieniach, a następnie utworzymy powierzchnię przez wyciągnięcie tych okręgów.

## Pierwsze kroki

> Pobierz plik przykładowy, klikając poniższe łącze.
>
> Pełna lista plików przykładowych znajduje się w załączniku.

Potrzebne są węzły reprezentujące sekwencję operacji wykonywanych przez dodatek Dynamo. Ponieważ wiemy, że chcemy utworzyć okrąg, zacznijmy od zlokalizowania węzła, który do tego służy. Użyj **pola wyszukiwania** lub przejdź do **biblioteki**, aby znaleźć węzeł **Circle.ByCenterPointRadius**, i dodaj go do obszaru roboczego

> 1. Wyszukaj > „Circle...”
> 2. Wybierz > „ByCenterPointRadius”
> 3. Węzeł pojawi się w obszarze roboczym

Przyjrzyjmy się bliżej temu węzłowi. Po lewej stronie znajdują się dane wejściowe węzła (*centerPoint* i *radius*), a po prawej stronie znajdują się dane wyjściowe węzła (Circle). Zwróć uwagę, że dane wyjściowe mają jasnoniebieską linię. Oznacza to, że dane wejściowe mają wartość domyślną. Aby uzyskać więcej informacji na temat danych wejściowych, ustaw kursor na nazwie odpowiedniego wejścia. Dane wejściowe *radius* wymagają wprowadzenia liczby o podwójnej precyzji (double) i mają wartość domyślną 1.

Zostawimy wartość domyślną *centerPoint*, ale dodamy suwak liczb, **Number Slider**, aby sterować promieniem. Podobnie jak w przypadku węzła **Circle.ByCenterPointRadius**, użyj biblioteki, aby wyszukać **Number Slider**, i dodaj go do wykresu.

Ten węzeł jest nieco inny niż poprzedni węzeł, ponieważ zawiera suwak. Interfejs umożliwia zmianę wartości wyjściowej suwaka.

!

Suwak można skonfigurować za pomocą przycisku listy rozwijanej po lewej stronie węzła. Ograniczmy suwak do maksymalnej wartości 15.

Umieśćmy go po lewej stronie węzła **Circle.ByCenterPointRadius** i połączmy oba węzły, wybierając wyjście **Number Slider** oraz łącząc je z wejściem Radius.

Zmieńmy również nazwę suwaka Number Slider na „Top Radius”, klikając dwukrotnie nazwę węzła.

## Następne kroki

Kontynuujmy dodawanie węzłów i połączeń do logiki w celu zdefiniowania wazonu.

### Tworzenie okręgów o różnych promieniach

Skopiujmy te węzły 4 razy, aby uzyskać okręgi definiujące powierzchnię. Zmień nazwy suwaków Number Slider, jak pokazano poniżej.

!

> 1. Okręgi są tworzone za pomocą punktu środkowego i promienia

### Przesuwanie okręgów na wysokości wazonu

Brakuje nam kluczowego parametru wazonu: jego wysokości. Aby sterować wysokością wazonu, należy utworzyć kolejny suwak liczb. Dodamy również węzeł bloku kodu: **Code Block**. Bloki kodu ułatwiają dodawanie do procesu roboczego spersonalizowanych fragmentów kodu. Użyjemy bloku kodu do pomnożenia suwaka wysokości przez różne współczynniki, co pozwoli nam rozmieścić okręgi wzdłuż wysokości wazonu.

!

Następnie za pomocą węzła **Geometry.Translate** umieścimy okręgi na żądanej wysokości. Ponieważ chcemy rozmieścić okręgi w wazonie, użyjemy bloków kodu do pomnożenia parametru wysokości przez współczynnik.

> 2\. Okręgi są przesuwane (przekształcane) o zmienną na osi Z.

### Tworzenie powierzchni

Aby utworzyć powierzchnię za pomocą węzła **Surface.ByLoft**, należy połączyć wszystkie przekształcone okręgi w listę. Użyjemy węzła **List.Create**, aby połączyć wszystkie okręgi w jedną listę, a następnie wyprowadzimy tę listę do węzła **Surface.ByLoft**, aby wyświetlić wyniki.

Wyłączmy również podgląd w innych węzłach, aby wyświetlić tylko wyświetlanie Surface.ByLoft.

> 3\. Przez wyciągnięcie przekształconych okręgów zostanie utworzona powierzchnia.

## Wyniki

Nasz proces roboczy jest gotowy. Teraz możemy użyć węzła **Number Slider** zdefiniowanego w skrypcie, aby utworzyć różne projekty wazonów.

![](/files/t4ETuegoTqm2bBwGwXtx)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://primer2.dynamobim.org/pl/10_sample_workflow/10-1_getting-started-workflows/1-parametric-vase.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
