Dynamo
Primer for v2.0
Polski
Polski
  • Informacje
  • Wprowadzenie
    • Co to jest dodatek Dynamo i jak działa?
    • Podręcznik użytkownika Primer, społeczność i platforma dodatku Dynamo
  • Ustawienia dla dodatku Dynamo
  • Interfejs użytkownika
    • Obszar roboczy
    • Biblioteka
  • Węzły i przewody
  • Podstawowe węzły i pojęcia
    • Indeks węzłów
    • Geometria do projektowania obliczeniowego
      • Geometria — przegląd
      • Wektor, płaszczyzna i układ współrzędnych
      • Punkty
      • Krzywe
      • Powierzchnie
      • Bryły
      • Siatki
    • Składniki programów
      • Dane
      • Matematyka
      • Logika
      • Ciągi
      • Kolor
    • Projektowanie z użyciem list
      • Co to jest lista
      • Praca z listami
      • Listy list
      • Listy n-wymiarowe
    • Słowniki w dodatku Dynamo
      • Co to jest słownik
      • Węzły słownika
      • Słowniki w blokach kodu
      • Przypadki zastosowań w programie Revit
  • Węzły i pakiety niestandardowe
    • Węzły niestandardowe
      • Węzeł niestandardowy — wprowadzenie
      • Tworzenie węzła niestandardowego
      • Publikowanie w bibliotece użytkownika
    • Pakiety
      • Pakiet — wprowadzenie
      • Analiza przypadku pakietu — zestaw Mesh Toolkit
      • Opracowywanie pakietu
      • Publikowanie pakietu
      • Zero-Touch — importowanie
  • Dynamo dla programu Revit
    • Połączenie programu Revit
    • Wybieranie
    • Edytowanie
    • Tworzenie
    • Dostosowywanie
    • Dokumentowanie
  • Dynamo for Civil 3D
    • Połączenie z programem Civil 3D
    • Pierwsze kroki
    • Biblioteka węzłów
    • Przykładowe procesy robocze
      • Drogi
        • Umieszczanie słupa oświetleniowego
      • Teren
        • Umieszczanie doprowadzeń usług komunalnych
      • Narzędzia
        • Zmienianie nazw konstrukcji
      • Kolej
        • Obwiednia prześwitu
      • Pomiary
        • Zarządzanie grupami punktów
    • Tematy zaawansowane
      • Wiązanie obiektów
      • Język Python i program Civil 3D
    • Dynamo Player
    • Przydatne pakiety
    • Zasoby
  • Dodatek Dynamo w programie Forma w wersji beta
    • Konfigurowanie programu Dynamo Player w programie Forma
    • Dodawanie i udostępnianie wykresów w programie Dynamo Player
    • Uruchamianie wykresów w programie Dynamo Player
    • Różnice między usługami obliczeniowymi dodatku Dynamo a dodatkiem Dynamo na komputerze
  • Kodowanie w dodatku Dynamo
    • Bloki kodu i język DesignScript
      • Co to jest blok kodu
      • Składnia języka DesignScript
      • Krótka składnia
      • Funkcje
    • Geometria przy użyciu języka DesignScript
      • Geometria DesignScript — podstawy
      • Geometryczne obiekty elementarne
      • Matematyka wektorowa
      • Krzywe: interpolowane i punkty kontrolne
      • Przekształcenie, obrót i inne transformacje
      • Powierzchnie: interpolowane, punkty kontrolne, wyciągnięcie złożone, obrót
      • Parametryzacja geometryczna
      • Przecięcie i ucinanie
      • Geometryczne wartości logiczne
      • Generatory punktów w języku Python
    • Python
      • Węzły języka Python
      • Python i Revit
      • Konfigurowanie własnego szablonu w języku Python
    • Zmiany języka
  • Wzorce postępowania
    • Strategie dotyczące wykresów
    • Strategie dotyczące skryptów
    • Dokumentacja obsługi skryptów
    • Zarządzanie programem
    • Wydajna praca z dużymi zestawami danych w dodatku Dynamo
  • Przykładowe procesy robocze
    • Procesy robocze — pierwsze kroki
      • Wazon parametryczny
      • Punkty przyciągania
    • Indeks pojęć
  • Przewodnik Primer programisty
    • Kompilowanie dodatku Dynamo ze źródła
      • Kompilowanie dodatku DynamoRevit ze źródła
      • Zarządzanie zależnościami i ich aktualizowanie w dodatku Dynamo
    • Opracowywanie rozwiązań dla dodatku Dynamo
      • Pierwsze kroki
      • Analiza przypadku Zero-Touch — węzeł siatki
      • Wykonywanie skryptów w języku Python w węzłach Zero-Touch (C#)
      • Dalsze kroki z Zero-Touch
      • Zaawansowane dostosowywanie węzłów dodatku Dynamo
      • Używanie typów COM (międzyoperacyjnych) w pakietach dodatku Dynamo
      • Analiza przypadku NodeModel — niestandardowy interfejs użytkownika
      • Aktualizowanie pakietów i bibliotek dodatku Dynamo dla dodatku Dynamo 2.x
      • Aktualizowanie pakietów i bibliotek dodatku Dynamo dla dodatku Dynamo 3.x
      • Rozszerzenia
      • Definiowanie niestandardowej organizacji pakietów dla dodatku Dynamo 2.0+
      • Interfejs wiersza polecenia dodatku Dynamo
      • Integracja z dodatkiem Dynamo
      • Opracowywanie rozwiązań dla dodatku Dynamo dla programu Revit
      • Publikowanie pakietu
      • Kompilowanie pakietu z programu Visual Studio
      • Rozszerzenia jako pakiety
    • Prośby o ściągnięcie (pull)
    • Oczekiwania dotyczące testowania
    • Przykłady
  • Dodatek
    • Często zadawane pytania
    • Programowanie wizualne i dodatek Dynamo
    • Zasoby
    • Uwagi do wydania
    • Przydatne pakiety
    • Pliki przykładowe
    • Mapa integracji hosta
    • Pobierz plik PDF
    • Skróty klawiaturowe dodatku Dynamo
Powered by GitBook
On this page
  • Jakie mam opcje?
  • Dla dodatku Dynamo
  • W dodatku Dynamo
  • Jakie są zalety/wady poszczególnych opcji?
  • Omówienie obsługi wersji dodatku Dynamo i zmian w interfejsie API (z wersji 1.x do wersji 2.x)
  • Uprawnienia do dystrybucji plików binarnych w pakiecie
  • Zagadnienia dotyczące wydajności interfejsu użytkownika dodatku Dynamo
Edit on GitHub
Export as PDF
  1. Przewodnik Primer programisty

Opracowywanie rozwiązań dla dodatku Dynamo

PreviousZarządzanie zależnościami i ich aktualizowanie w dodatku DynamoNextPierwsze kroki

Last updated 2 months ago

Platformę Dynamo zaprojektowano tak, aby umożliwić współtworzenie wszystkim użytkownikom, niezależnie od poziomu doświadczenia. Dostępnych jest kilka opcji programowania odpowiednich do różnych rodzajów i poziomów umiejętności, z których każda ma zalety i wady w zależności od zamierzonego celu. Poniżej omówimy te różne opcje i sposób wyboru między nimi.

Trzy środowiska programistyczne: program Visual Studio, Edytor języka Python i język Code Block DesignScript

Jakie mam opcje?

Opcje programowania rozwiązań dla dodatku Dynamo należą przede wszystkim do dwóch kategorii: dla dodatku Dynamo i w dodatku Dynamo. Te dwie kategorie należy rozumieć tak: „w” dodatku Dynamo oznacza zawartość tworzoną za pomocą środowiska IDE dodatku Dynamo, która ma być używana w dodatku Dynamo; natomiast „dla” dodatku Dynamo oznacza tworzenie za pomocą narzędzi zewnętrznych zawartości, która ma być importowana do dodatku Dynamo w celu jej używania. W tym podręczniku skoncentrowano się na programowaniu dla dodatku Dynamo, ale poniżej opisano zasoby dotyczące wszystkich procesów.

Dla dodatku Dynamo

Te węzły umożliwiają najwyższy stopień dostosowania. Wiele pakietów jest kompilowanych za pomocą tej metody i jest ona niezbędna do współtworzenia źródła dodatku Dynamo. Proces ich kompilowania zostanie omówiony w tym podręczniku.

  • Węzły Zero-Touch

  • Węzły pochodne od klasy NodeModel

  • Rozszerzenia

W poniższym omówieniu jako środowisko programistyczne dla węzłów Zero-Touch i NodeModel jest używany program Visual Studio.

Interfejs programu Visual Studio z projektem, który będziemy opracowywać

W dodatku Dynamo

  • Węzły z bokami kodu, Code Block, uwidaczniają kod DesignScript w środowisku programowania wizualnego, umożliwiając używanie elastycznych procesów roboczych węzłów i skryptów tekstowych. Funkcję w węźle Code Block może wywołać dowolny element w obszarze roboczym.

  • Węzły niestandardowe są kontenerami dla kolekcji węzłów, a nawet całych wykresów. Są one skutecznym sposobem gromadzenia często używanych procedur i udostępniania ich społeczności.

  • Węzły w języku Python są interfejsem skryptowym w obszarze roboczym programowania wizualnego, podobnie jak węzły Code Block. W bibliotekach Autodesk.DesignScript używa się zapisu kropkowego podobnego do tego używanego w języku DesignScript.

Programowanie w obszarze roboczym dodatku Dynamo to wydajne rozwiązanie umożliwiające natychmiastowe uzyskanie informacji zwrotnych.

Programowanie w obszarze roboczym dodatku Dynamo za pomocą węzła w języku Python

Jakie są zalety/wady poszczególnych opcji?

Opcje programowania dla dodatku Dynamo zaprojektowano z uwzględnieniem złożoności wymagań dotyczących dostosowywania. Niezależnie od tego, czy celem jest napisanie skryptu cyklicznego w języku Python, czy opracowanie całkowicie niestandardowego interfejsu użytkownika węzła, dostępne są opcje implementowania kodu obejmujące tylko czynności niezbędne do przygotowania działającego rozwiązania.

Węzły Code Block, węzeł w języku Python i węzły niestandardowe w dodatku Dynamo

Są to proste opcje pisania kodu w środowisku programowania wizualnego dodatku Dynamo. Obszar roboczy programowania wizualnego dodatku Dynamo zapewnia dostęp do języka Python i języka DesignScript oraz możliwość umieszczania wielu węzłów wewnątrz węzła niestandardowego.

Te metody zapewniają następujące możliwości:

  • Rozpoczęcie pisania w języku Python lub DesignScript przy niewielkiej konfiguracji lub w ogóle bez niej.

  • Importowanie bibliotek języka Python do dodatku Dynamo.

  • Udostępnianie społeczności węzłów Code Block, węzłów w języku Python i węzłów niestandardowych dodatku Dynamo w ramach pakietu.

Węzły Zero-Touch

Zero-Touch to prosta metoda importowania bibliotek C# przez wskazanie i kliknięcie. Dodatek Dynamo odczyta publiczne metody z pliku .dll i przekonwertuje je na węzły Dynamo. Za pomocą metody Zero-Touch można tworzyć własne pakiety i węzły niestandardowe.

Co można zrobić za pomocą tej metody:

  • Pisanie metod w języku C# i łatwe używanie ich jako węzłów w dodatku Dynamo

  • Udostępnianie społeczności dodatku Dynamo biblioteki C# jako węzłów w pakiecie

Węzły pochodne od klasy NodeModel

Te węzły są osadzone nieco głębiej w strukturze dodatku Dynamo. Są one oparte na klasie NodeModel i napisane w języku C#. Mimo że ta metoda zapewnia największą elastyczność i największe możliwości, wymaga jednak wyraźnego zdefiniowania większości aspektów węzła i umieszczenia funkcji w osobnym zespole.

Co można zrobić za pomocą tej metody:

  • Tworzenie w pełni konfigurowalnego interfejsu użytkownika węzła z suwakami, obrazami, kolorem itp. (np. węzeł ColorRange)

  • Uzyskiwanie dostępu do informacji o tym, co się dzieje w obszarze rysunku dodatku Dynamo, i wpływanie na to

  • Dostosowywanie skratowania

  • Wczytywanie do dodatku Dynamo w postaci pakietu

Omówienie obsługi wersji dodatku Dynamo i zmian w interfejsie API (z wersji 1.x do wersji 2.x)

Ponieważ dodatek Dynamo jest regularnie aktualizowany, w części interfejsu API używanej przez pakiet mogą być wprowadzane zmiany. Śledzenie tych zmian jest ważne na potrzeby zapewnienia dalszego poprawnego działania istniejących pakietów.

Uprawnienia do dystrybucji plików binarnych w pakiecie

Należy nadzorować pliki .dll zawarte w pakiecie przekazywanym do Menedżera pakietów. Jeśli autor pakietu nie utworzył danego pliku .dll, musi mieć uprawnienia do jego udostępniania.

Jeśli pakiet zawiera pliki binarne, użytkownicy muszą być monitowani podczas pobierania z informacją o tym, że pakiet zawiera pliki binarne.

Zagadnienia dotyczące wydajności interfejsu użytkownika dodatku Dynamo

W chwili pisania tego tekstu dodatek Dynamo używa do renderowania interfejsu użytkownika głównie platformy WPF (Windows Presentation Foundation). Platforma WPF jest złożonym i zaawansowanym systemem opartym na XAML/powiązaniach. Ponieważ dodatek Dynamo ma złożony interfejs użytkownika, łatwo jest wytworzyć zawieszenia interfejsu użytkownika, przecieki pamięci lub zawinięcia wykonywania wykresu i aktualizacji interfejsu użytkownika w sposób, który obniża wydajność.

Przewodnik Primer zawiera podręcznik dotyczący .

Mimo że te procesy istnieją w obszarze roboczym programowania wizualnego i są stosunkowo proste, wszystkie umożliwiają dostosowanie dodatku Dynamo. W przewodniku Primer opisano je szczegółowo i podano wskazówki dotyczące skryptów oraz wzorce postępowania — w rozdziale .

Pobierz przykład węzła Code Block (kliknij prawym przyciskiem myszy i zapisz jako) lub zobacz szczegółowe omówienie w .

Pobierz przykład węzła niestandardowego (kliknij prawym przyciskiem myszy i zapisz jako) lub zobacz szczegółowe omówienie w .

Pobierz przykład węzła w języku Python (kliknij prawym przyciskiem myszy i zapisz jako) lub zobacz szczegółowe omówienie w

Importowanie biblioteki, która nie została opracowana dla dodatku Dynamo, i automatyczne tworzenie pakietu nowych węzłów, jak w z przewodnika Primer

Zmiany interfejsu API są śledzone na . Obejmuje to zmiany wprowadzone w pakiecie DynamoCore, bibliotekach i obszarach roboczych.

Przykładem nadchodzącej istotnej zmiany jest przejście z formatu pliku XML na format pliku JSON w wersji 2.0. Węzły pochodne od klasy NodeModel będą teraz wymagać . W przeciwnym razie nie będą otwierane w dodatku Dynamo 2.0.

Dokumentacja interfejsu API dodatku Dynamo obejmuje obecnie podstawowe funkcje:

Zapoznaj się ze , która pomoże Ci uniknąć kilku typowych pułapek podczas wprowadzania zmian w kodzie dodatku Dynamo.

importowania bibliotek Zero-Touch
Strategie dotyczące skryptów
przewodniku Primer
przewodniku Primer
przewodniku Primer
stronie wiki dodatku Dynamo w serwisie GitHub
konstruktora JSON
http://dynamods.github.io/DynamoAPI
stroną wiki poświęconą zagadnieniom związanym z wydajnością dodatku Dynamo
Trzy środowiska programistyczne
Interfejs programu Visual Studio
Programowanie w obszarze roboczym dodatku Dynamo za pomocą węzła w języku Python
Węzeł Code Block, skrypt w języku Python i węzeł niestandardowy
Węzły Zero-Touch
Węzły pochodne od klasy NodeModel
Dokument zmian w interfejsie API dodatku Dynamo
Dokumentacja interfejsu API
przykładzie A-Forge