Angular - program do symulacji i obliczeń kratownic statycznie niewyznaczalnych

Stronę tą wyświetlono już: 3956 razy

Wstępny opis programu

Kratownice statycznie niewyznaczalne stanowią duży problem jeżeli chodzi o ręczne ich obliczanie. Dzieje się tak dlatego, że konieczne w takich układach jest uwzględnienie równań związanych z przemieszczeniem się węzłów kratownicy i powstawaniem w związku z tym przemieszczeniem naprężeń (sił) wewnątrz prętów takiej kratownicy. Bazując na takim modelu można jednak stworzyć program, który samodzielnie dojdzie do rozwiązania, w którym siły związane z przemieszczeniami węzłów po odpowiednim czasie zrównoważą się do wartości bliskich zeru.

Tak więc w podstawowej formie postanowiłem udostępnić wstępną wersję programu zdolnego do rozwiązywania takich układów, które nie tylko są przesztywnione, ale również mogą mieć wiele stopni swobody. Układy z wieloma stopniami swobody można powiedzieć, że wyszły "przy okazji" i można tutaj z powodzeniem tworzyć układy składające się z cięgien (pojedynczych prętów, na których zawieszony został np. układ kratownicy.

Zasada działania programu jest prosta. Rysujesz konstrukcję kratownicy lub układu cięgnowego. nadajesz mu stopnie swobody poprzez ustawienie podpór. Zadajesz mu obciążenia w postaci siły przyłożonej do danego węzła kratownicy lub układu cięgnowego i na koniec uruchamiasz tryb obliczeń.

Zmiany w projekcie

Przybliżona historia zmian wykonanych w projekcie:

  • dodanie przechwytywania uchwytu obiektu za pomocą myszki oraz dodanie znacznika pokazującego użytkownikowi, że taki uchwyt został przechwycony;
  • dodanie możliwości zaznaczania obiektów za pomocą myszki zarówno poprzez kliknięcie na obiekcie jak i poprzez zaznaczenie obszarem;
  • dodanie obsługi skrótów klawiaturowych związanych z zaznaczaniem;
  • dodanie filtrów zaznaczania umożliwiających kontrolowanie tego jakie obiekty mogą zostać zaznaczone za pomocą obszaru określonego przy użyciu myszki;
  • dodanie trybu obliczeniowego;
  • dodanie podziału rysowania trybu obliczeniowego na:
    • rysowanie wektorów sił;
    • wyświetlanie wartości sił występujących w prętach;
    • wyświetlanie współrzędnych kratownicy;
  • dodanie przyciągania do siatki;
  • dodanie globalnych skrótów klawiaturowych;
  • dodanie możliwości zapisu do pliku w formacie json;
  • dodanie możliwości odczytu z pliku w formacie json wraz z podstawową walidacją kodu;
  • dodanie możliwości zapisu do pliku w formacie SVG (grafika wektorowa);
  • dodanie możliwości przemieszczania obszaru rysowania za pomocą:
    • środkowego przycisku myszy;
    • strzałek na klawiaturze;
    • przycisków umieszczonych w prawym dolnym rogu obszaru rysowania
  • zapis rysunku kratownicy do pliku PDF
  • Upgrade do wersji Angulara 9;
  • Naprawienie działania programu pod przeglądarką Edge i być może i IE związanego z użyciem metod getTransform i setTransform;
  • Naprawienie pobierania plików na przeglądarce Edge

Zadania do zrobienia:

  • poprawienie eksportu do pliku SVG dotyczącego obliczania obszaru, w którym rysowany tekst się zawiera;
  • poprawienie eksportu do pliku SVG dotyczącego dodania możliwości wyboru sposobu wyrównywania tekstu (do środka, do prawej, do lewej w odniesieniu do punktu zaczepienia)

Przykład rozwiązania wygenerowanego przez program

Przykład obliczeń kratownicy wyeksportowanych do pliku SVG
Rys. 1
Przykład obliczeń kratownicy wyeksportowanych do pliku SVG
Propozycje książek

Komentarze