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
    • Odtwarzacz Dynamo (Dynamo Player)
    • Przydatne pakiety
    • Zasoby
  • 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
  • Generowanie geometrii a mozaikowanie
  • Wykorzystanie pamięci
  • interfejs API programu Revit
Edit on GitHub
Export as PDF
  1. Wzorce postępowania

Wydajna praca z dużymi zestawami danych w dodatku Dynamo

PreviousZarządzanie programemNextPrzykładowe procesy robocze

Last updated 1 month ago

Na tej stronie przedstawiono pewne praktyczne zasady wydajnej pracy z dużymi zestawami danych w dodatku Dynamo. Mamy nadzieję, że za pomocą tych wskazówek zidentyfikujesz wąskie gardła na wykresach, dzięki czemu wykres będzie wykonywany w ciągu kilku minut, a nie godzin.

Zawartość:

  • Generowanie geometrii a mozaikowanie

  • Wykorzystanie pamięci

  • interfejs API programu Revit

Generowanie geometrii a mozaikowanie

W dodatku Dynamo utworzenie fragmentu geometrii i rysowanie to dwa zupełnie różne zdarzenia. Na ogół tworzenie geometrii jest znacznie szybsze i zużywa mniej pamięci niż rysowanie obiektu. Możesz myśleć o geometrii jako o liście pomiarów potrzebnych do wykonania garnituru, podczas gdy mozaikowanie to sam garnitur. O garniturze można powiedzieć całkiem sporo na podstawie jego wymiarów: jak długie są rękawy, ile będzie kosztować itp. Jednak prawie zawsze trzeba zobaczyć i przymierzyć gotowy garnitur, aby ustalić, czy jest dobry, czy nie. Podobnie jest z geometrią niemozaikową, można określić jej ramkę ograniczającą, powierzchnię, objętość, przeciąć ją z inną geometrią i wyeksportować do pliku SAT lub do programu Revit. Jednak prawie zawsze trzeba mozaikować geometrię, aby przekonać się, czy jest poprawna, czy nie.

Jeśli wykres Dynamo zawiera wiele obiektów, a jego działanie jest spowolnione, można usunąć z niego kroki mozaikowania, aby go przyspieszyć.

Węzły geometrii w dodatku Dynamo są zawsze mozaikowane*. Pozostawia to dwie opcje pracy z geometrią niemozaikowaną: węzły Python i węzły ZeroTouch. Dopóki nie zostanie zwrócony obiekt geometrii z węzła Python lub ZeroTouch, geometria nie będzie mozaikowana. Jeśli na przykład wykres zawiera kilka węzłów punktów połączonych z kilkoma węzłami linii połączonych z kilkoma węzłami wyciągnięcia złożonego połączonych z kilkoma węzłami pogrubienia, geometria będzie mozaikowana na każdym z tych kroków. Zamiast tego można połączyć tę logikę z węzłem Python lub ZeroTouch i zwrócić tylko końcowy obiekt z węzła.

Więcej informacji na temat korzystania z węzłów ZeroTouch można znaleźć w sekcji tego przewodnika Primer.

Wykorzystanie pamięci

Jeśli geometria nie jest już mozaikowana, mogą występować wąskie gardła pamięci z powodu nadmiernego nagromadzenia geometrii. Obiekty geometrii tworzone w dodatku Dynamo zużywają niewielką, ale niezerową ilość pamięci. W przypadku pracy z setkami tysięcy lub milionami obiektów może się to sumować i powodować awarię dodatku Dynamo lub programu Revit. W dodatku Dynamo w wersji 2.5 i w nowszych wersjach jest to obsługiwane niejawnie przez usuwanie nieużywanych obiektów, ale w przypadku korzystania z wersji starszej niż 2.5 jednym ze sposobów uniknięcia tworzenia dużej ilości geometrii jest pozbywanie się obiektów po zakończeniu pracy nad nimi. Załóżmy na przykład, że tworzone są setki tysięcy krzywych NurbsCurve, z których każda wymaga kilkudziesięciu punktów (Point). Jednym ze sposobów na ich utworzenie jest przekazanie listy 2-wymiarowej w dodatku Dynamo do węzła NurbsCurve.ByPoints. Wymaga to jednak utworzenia milionów punktów. Innym sposobem jest użycie węzła Python lub ZeroTouch. W tym węźle można utworzyć kilkanaście punktów, wprowadzić je do węzła NurbsCurve.ByPoints, a następnie usunąć te kilkanaście punktów za pomocą wywołania metody .Dispose(). Więcej informacji na temat korzystania z węzłów ZeroTouch można znaleźć w sekcji tego przewodnika Primer. W pewnych okolicznościach pozbywanie się obiektów geometrii po ich utworzeniu może znacznie zmniejszyć ilość używanej pamięci. Mimo że jest to obsługiwane automatycznie w przypadku użytkowników korzystających z dodatku Dynamo 2.5 lub nowszego, zaleca się, aby użytkownik nadal usuwał geometrię jawnie, jeśli przypadek użycia wymaga zmniejszenia ilości pamięci w określonym z góry czasie. Aby dowiedzieć się więcej na temat nowych funkcji zwiększających stabilność wprowadzonych w dodatku Dynamo 2.5, zobacz .

interfejs API programu Revit

Jeśli agresywnie usuwasz obiekty w węźle ZeroTouch lub Python i nadal występują problemy z pamięcią lub wydajnością, może być konieczne całkowite pominięcie dodatku Dynamo i utworzenie obiektów programu Revit bezpośrednio za pomocą interfejsu API. Można na przykład przeanalizować plik programu Excel pod kątem informacji o punkcie i użyć tych informacji do utworzenia zestawu współrzędnych XYZ oraz innych elementów programu Revit za pomocą odpowiedniego interfejsu API. W tym momencie to program Revit stanie się ostatecznym wąskim gardłem, którego nie da się ominąć.

Opracowywanie rozwiązań dla dodatku Dynamo
Opracowywanie rozwiązań dla dodatku Dynamo
Ulepszenia stabilności geometrii w dodatku Dynamo