> For the complete documentation index, see [llms.txt](https://primer2.dynamobim.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://primer2.dynamobim.org/pl/7_dynamo_for_revit/6-documenting.md).

# Dokumentowanie

Edytowanie parametrów na potrzeby dokumentacji odbywa się zgodnie z informacjami przedstawionymi w poprzednich sekcjach. W tej części omówione zostanie edytowanie parametrów, które nie mają wpływu na właściwości geometryczne elementu, lecz pozwalają przygotować plik programu Revit do dokumentacji.

### Odchyłka

W poniższym ćwiczeniu użyjemy podstawowego odchylenia od węzła płaszczyzny, aby utworzyć arkusz programu Revit do dokumentacji. Każdy panel w konstrukcji dachu zdefiniowanej parametrycznie ma inną wartość odchylenia. Chcemy odwoływać się do zakresu wartości za pomocą koloru i zestawiając punkty adaptacyjne w celu przekazania ich konsultantowi, inżynierowi lub wykonawcy fasady.

![odchylenie](https://2069116583-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT8P36P8hlroW5MOSGuXc%2Fuploads%2Fgit-blob-444f291045067937eb21192c655ff6213b21e44c%2Fdeviation.jpg?alt=media)

> Odchylenie od węzła płaszczyzny spowoduje obliczenie odległości, o jaką zestaw czterech punktów odbiega od najlepiej dopasowanej płaszczyzny między nimi. Jest to szybki i łatwy sposób na zbadanie możliwości realizacji projektu.

## Ćwiczenie

### Część I. Ustawianie współczynnika apertury paneli na podstawie odchylenia od węzła płaszczyzny

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

Rozpocznij od pliku programu Revit dla tej sekcji (lub kontynuuj pracę z plikiem z poprzedniej sekcji). Ten plik zawiera szyk paneli ETFE na dachu. W ramach tego ćwiczenia będziemy odwoływać się do tych paneli.

!

> 1. Dodaj węzeł *Family Types* do obszaru rysunku i wybierz opcję *„ROOF-PANEL-4PT”*.
> 2. Podłącz ten węzeł do węzła *Select All Elements of Family Type*, aby pobrać wszystkie elementy z programu Revit do dodatku Dynamo.

!

> 1. Za pomocą węzła *AdaptiveComponent.Locations* sprawdź położenie poszczególnych punktów adaptacyjnych dla każdego elementu.
> 2. Utwórz wielobok z tych czterech punktów za pomocą węzła *Polygon.ByPoints*. Zwróć uwagę, że obecnie w dodatku Dynamo jest dostępna abstrakcyjna wersja systemu panelowanego bez konieczności importowania pełnej geometrii elementu programu Revit.
> 3. Oblicz odchylenie od płaszczyzny za pomocą węzła *Polygon.PlaneDeviation*.

Podobnie jak w poprzednim ćwiczeniu, w celu przeprowadzenia testu ustawmy współczynnik apertury każdego panelu na podstawie jego odchylenia od płaszczyzny.

!

> 1. Dodaj węzeł *Element.SetParameterByName* do obszaru rysunku i połącz komponenty adaptacyjne z wejściem *element*. Węzeł *Code Block* z ciągiem *„Aperture Ratio”* połącz z wejściem *parameterName*.
> 2. Nie można bezpośrednio połączyć wyników odchylenia z wejściem wartości, ponieważ należy ponownie odwzorować te wartości na zakres parametrów.

!

> 1. Za pomocą węzła *Math.RemapRange* ponownie odwzoruj wartości odchylenia na domenę o zakresie od 0,15 do 0\_,\_45, wprowadzając `0.15; 0.45;` w węźle *Code Block*.
> 2. Podłącz te wyniki do wejścia value węzła *Element.SetParameterByName*.

W programie Revit można *w pewnym sensie* zinterpretować zmianę apertury na całej powierzchni.

![Ćwiczenie](https://2069116583-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT8P36P8hlroW5MOSGuXc%2Fuploads%2Fgit-blob-e4a4c50c8938d78c8ddf81a2854f63b2f688b79d%2F13.jpg?alt=media)

Po powiększeniu staje się jasne, że panele zamknięte przeważają bliżej narożników powierzchni. Otwarte narożniki przeważają u góry. Narożniki reprezentują obszary o większym odchyleniu, podczas gdy wypukłość ma minimalną krzywiznę, więc ma to sens.

![Ćwiczenie](https://2069116583-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT8P36P8hlroW5MOSGuXc%2Fuploads%2Fgit-blob-2bb9dbdb2f09418531bc7a5a3cb2d12cb6fa6667%2F13a.jpg?alt=media)

### Część II. Kolor i dokumentacja

Ustawienie współczynnika apertury nie wykazuje wyraźnie odchylenia paneli na dachu, a zmieniamy również geometrię rzeczywistego elementu. Załóżmy, że chcemy tylko zbadać odchylenie z punktu widzenia wykonalności elementów produkcyjnych. Pomocne byłoby nadanie kolorów panelom na podstawie zakresu odchylenia dla dokumentacji. Możemy to zrobić za pomocą serii kroków poniżej i w bardzo podobnym procesie do przedstawionego w krokach powyżej.

!

> 1. Usuń węzeł *Element.SetParameterByName* i jego węzły wejściowe, a następnie dodaj węzeł *Element.OverrideColorInView*.
> 2. Dodaj węzeł *Color Range* do obszaru rysunku. Następnie podłącz go do wejścia color węzła *Element.OverrideColorInView*. Nadal musimy połączyć wartości odchyleń z zakresem kolorów, aby utworzyć gradient.
> 3. Po ustawieniu kursora na wejściu *value* można zauważyć, że wartości dla tego wejścia muszą zawierać się między *0* a *1*, aby można było odwzorować kolor na każdą z wartości. Musimy ponownie odwzorować wartości odchylenia na ten zakres.

!

> 1. Używając węzła *Math.RemapRange*, ponownie odwzoruj wartości odchylenia od płaszczyzny na zakres od\* 0\* do *1* (uwaga: można również użyć węzła *„MapTo”*, aby zdefiniować domenę źródłową).
> 2. Podłącz wyniki do węzła *Color Range*.
> 3. Zauważ, że wyjście stanowi zakres kolorów, a nie zakres liczb.
> 4. Jeśli ustawiono opcję uruchamiania ręcznego, kliknij przycisk *Uruchom*. Od tego momentu powinno być możliwe bezproblemowe korzystanie z opcji uruchamiania automatycznego.

W programie Revit widzimy znacznie czytelniejszy gradient, który reprezentuje odchylenie od płaszczyzny za pomocą zakresu kolorów. Jak jednak można dostosować te kolory? Minimalne wartości odchylenia są reprezentowane kolorem czerwonym, a więc odwrotnie do oczekiwań. Chcemy, aby maksymalne odchylenie miało kolor czerwony, a minimalne — kolor spokojniejszy. Wróćmy do dodatku Dynamo i poprawmy to.

![](https://2069116583-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT8P36P8hlroW5MOSGuXc%2Fuploads%2Fgit-blob-76ea170335478e299e67efa12c4b5ebc5c702e8e%2F09.jpg?alt=media)

!

> 1. Używając węzła *Code Block*, dodaj dwie liczby w dwóch różnych wierszach: `0;` i `255;`.
> 2. Utwórz kolor czerwony i niebieski, podłączając odpowiednie wartości do dwóch węzłów *Color.ByARGB*.
> 3. Utwórz z tych dwóch kolorów listę.
> 4. Podłącz tę listę do wejścia *colors* węzła *Color Range* i obserwuj aktualizację niestandardowego zakresu kolorów.

W programie Revit łatwiej jest teraz zrozumieć obszary maksymalnego odchylenia w narożnikach. Ten węzeł służy do nadpisywania koloru w widoku, więc dobrym rozwiązaniem jest używanie w zestawie rysunków określonych arkuszy poświęconych konkretnym typom analiz.

![Ćwiczenie](https://2069116583-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT8P36P8hlroW5MOSGuXc%2Fuploads%2Fgit-blob-ffe7685cc4ec50db6e650fe6db2bdbb70cd941ab%2F07.jpg?alt=media)

### Część III. Zestawienia

Po wybraniu jednego panelu ETFE w programie Revit widoczne są cztery parametry wystąpienia: XYZ1, XYZ2, XYZ3 i XYZ4. Po utworzeniu wszystkie są puste. Są to parametry tekstowe i wymagają wartości. Użyjemy dodatku Dynamo do zapisania położeń punktów adaptacyjnych dla każdego parametru. Ułatwia to współdziałanie, jeśli geometrię trzeba wysłać do inżyniera na potrzeby doradztwa w sprawie fasady.

!

W przykładowym arkuszu mamy duże, puste zestawienie. Parametry XYZ są współdzielone w pliku programu Revit, co pozwala dodać je do zestawienia.

![Ćwiczenie](https://2069116583-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT8P36P8hlroW5MOSGuXc%2Fuploads%2Fgit-blob-7d690e2acbc05afa5f8ee6300835cf8d67a77a53%2F03.jpg?alt=media)

Po powiększeniu widzimy, że parametry XYZ nie są jeszcze wypełnione. Pierwsze dwa parametry są obsługiwane przez program Revit.

![Ćwiczenie](https://2069116583-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT8P36P8hlroW5MOSGuXc%2Fuploads%2Fgit-blob-e8b6f4d2d1625ba1cb5a700945938929ce1589ae%2F02.jpg?alt=media)

Aby zapisać te wartości, wykonamy złożoną operację na liście. Sam wykres jest prosty, ale używane koncepcje opierają się w znacznym stopniu na odwzorowaniu listy omówionym w rozdziale poświęconym listom.

!

> 1. Wybierz wszystkie komponenty adaptacyjne z dwoma węzłami.
> 2. Wyodrębnij położenie każdego punktu za pomocą węzła *AdaptiveComponent.Locations*.
> 3. Przekształć te punkty w ciągi. Pamiętaj, że parametr jest oparty na tekście, dlatego trzeba wprowadzić poprawny typ danych.
> 4. Utwórz listę czterech ciągów definiujących parametry do zmiany: *XYZ1, XYZ2, XYZ3* i *XYZ4*.
> 5. Podłącz tę listę do wejścia *parameterName* węzła *Element.SetParameterByName*.
> 6. Połącz węzeł *Element.SetParameterByName* z wejściem *combinator* węzła *List.Combine*. Połącz *komponenty adaptacyjne* z wejściem *list1*. Połącz węzeł *String from Object* z wejściem *list2*.

Tworzymy w tym miejscu odwzorowanie listy, ponieważ zapisujemy cztery wartości dla każdego elementu, co powoduje utworzenie złożonej struktury danych. Węzeł *List.Combine* definiuje operację o jeden krok w dół w hierarchii danych. Dlatego właśnie wejścia element i value węzła *Element.SetParameterByName* są pozostawione puste. Węzeł *List.Combine* łączy listy podrzędne na swoich wejściach z pustymi wejściami węzła *Element.SetParameterByName* na podstawie kolejności, w jakiej są one połączone.

Po wybraniu panelu w programie Revit widać teraz, że dla każdego parametru istnieją wartości ciągów. W rzeczywistości utworzylibyśmy prostszy format do zapisania punktu (X, Y, Z). Można to zrobić za pomocą operacji na ciągach w dodatku Dynamo, ale pominiemy to tutaj, aby nie wykraczać poza zakres niniejszego rozdziału.

![](https://2069116583-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT8P36P8hlroW5MOSGuXc%2Fuploads%2Fgit-blob-62d621abdc8fa003f30782c2cec53f1bd555136e%2F04.jpg?alt=media)

Widok przykładowego zestawienia z wypełnionymi parametrami.

![](https://2069116583-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT8P36P8hlroW5MOSGuXc%2Fuploads%2Fgit-blob-c969bcdef699f1d1d380f73737e0878b60475160%2F01.jpg?alt=media)

Każdy panel ETFE ma teraz współrzędne XYZ zapisane dla każdego punktu adaptacyjnego, co reprezentuje narożniki każdego panelu na potrzeby produkcji.

![Ćwiczenie](https://2069116583-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT8P36P8hlroW5MOSGuXc%2Fuploads%2Fgit-blob-2e74c56559d8656b38cf4f6ac37d348dd31d3c9b%2F00%20\(8\).jpg?alt=media)
