Oprogramowanie do generowania skryptów


17

Szukam oprogramowania do generowania siatki

  • jest darmowy i open source,
  • zapewnia rozsądny interfejs skryptowy do specyfikacji domeny,
  • działa dla skomplikowanych geometrii,
  • potrafi generować siatki 2D i 3D,

Jakie mam opcje?

Odpowiedzi:


10

Polecam spojrzeć na gmsh . Ma zarówno wejście tekstowe, jak i CAD, obsługujące siatki 2D i 3D, wyższych rzędów. Jest licencjonowany na licencji GPL, więc istnieją pewne ograniczenia dotyczące integracji z oprogramowaniem zamkniętym, ale poza tym jest całkowicie darmowy / open-source.


Niestety, język skryptowy jest szalony. ;)
Nico Schlömer

W jaki sposób? Czy odnosisz się do danych wejściowych pliku tekstowego lub innego interfejsu?
Godric Seer

2
Użyłem gmsh tylko w kimś o prostej geometrii, ponieważ moje problemy prawie zawsze komplikują czynniki inne niż geometria. Chociaż pracowałem tylko nad tymi prostszymi geometriami, zdecydowanie uznałem gmsh za najbardziej intuicyjny i najłatwiejszy do nauczenia się. Nie będę się z tobą kłócił o próbę wykonania bardziej skomplikowanych procedur, ponieważ nie mam z nimi doświadczenia.
Godric Seer

5
Zawsze możesz pisać skrypty w dowolnym języku i po prostu tworzyć pliki w wyniku skryptu, które są następnie podawane jako dane wejściowe do gmsh.
Wolfgang Bangerth,

1
@WolfgangBangerth Właściwie rozpocząłem mały projekt zabawki w Pythonie na github.com/nschloe/python4gmsh .
Nico Schlömer,

4

Zwykle używam tetgen do 3D (licencja MIT na badania / niekomercyjne) i trójkąta do 2D (niestandardowa licencja bezpłatna na niekomercyjne). Aby je skryptować, piszesz plik wejściowy i wywołujesz wiersz poleceń.


2
„Należy pamiętać, że TetGen jest bezpłatny do celów badawczych i niekomercyjnych. Na każde komercyjne wykorzystanie dostępna jest licencja komercyjna na żądanie”. - To nie jest licencja na darmowe oprogramowanie typu open source (zgodnie z definicją OSI lub FSF), nie mówiąc już o licencji MIT.
Jed Brown

Tak, właśnie przeczytałem pierwszy bit pliku licencji. Większość ludzi nie jest tak surowa w znaczeniu Free jak OSI lub FSF.
aterrel

Już miałem zadać podobne pytanie. Czy tetgen jest kompatybilny z FEniCS?
SEB

@aterrel Przeczytaj plik LICENCJA: „Oznacza to, że TetGen nie jest wolnym oprogramowaniem, ale do celów prywatnych, badawczych i edukacyjnych można go używać całkowicie bezpłatnie i bez dalszych uzgodnień”.
Jed Brown

1
Tak, @JedBrown, zgodziłem się z tobą i zredagowałem odpowiedź. Ale dla laików bezpłatne oznacza zwykle „nie muszę za to płacić”, a nie zalegalizować RMS. Chciałbym również argumentować, że GPL nie jest „darmowa”, ale prawdopodobnie nie jest to odpowiednia dyskusja dla tego forum.
aterrel

3

MeshPy może być stosowany do otrzymywania siatek trójkątnych i czworościennych. Zapewnia łatwy sposób generowania skryptów siatki.

MeshPy zapewnia interfejsy Python do Triangle i TetGen wspomnianych przez aterrel.


1

Przekonałem się, że Salome jest bardzo elastyczny, ze znacznie lepszym środowiskiem niż gmsh. Ma znacznie bardziej profesjonalny charakter IMHO. Ponadto może generować siatki sześciościenne. Naprawdę warto spróbować!


Nie podoba mi się fakt, że nic w modelu geometrycznym nie jest edytowalne z poziomu interfejsu użytkownika ani konsoli Python. Zasadniczo, jeśli chcesz wprowadzić zmiany, musisz je usunąć i utworzyć ponownie. Dodaje to dużo kosztów ogólnych podczas projektowania
Lurscher

Dotyczy to na przykład importu geometrii podanej w pliku STEP. Ale jeśli się nie mylę, dotyczy to również innych programów wymienionych tutaj! Ponadto, jeśli masz plik HDF lub skrypt zrzutu Pythona, na pewno możesz zmienić wszystko.
FlatronL1917

1

OpenSCAD pasuje do wszystkich punktów z wyjątkiem tworzenia siatki woluminów. Opiera się na skryptach wejściowych i generuje siatki powierzchni STL.



1

Dlaczego nie Blender ? Jest to potężne, bezpłatne i otwarte oprogramowanie z obsługą skryptów Python.

W Blenderze 2.79 musisz wybrać Scriptingjako Screen layout.

W lewym górnym rogu Text Editornaciśnij +, aby utworzyć nowy blok danych tekstowych; zacznij od, import bpya następnie wstaw polecenia python odnoszące się do każdej operacji, którą możesz wykonać z GUI, odczytując odpowiednie polecenie, przesuwając kursor myszy na element GUI.

Na załączonym zrzucie ekranu pokazano polecenia triangulacji koła, zaczynając od domyślnej sceny z sześcianem:

wprowadź opis zdjęcia tutaj

W ten sposób możesz używać Blendera w trybie skryptowym, bez GUI do eksportowania, na przykład pliku wyjściowego, uruchamiania skryptu python w terminalu:

blender --background --python myscript.py

Oto samouczek wideo na YouTube.

Twoje zdrowie


Blender może to zrobić? Nigdy nie wiedziałem. Jak miałbym triangulować na przykład koło?
Nico Schlömer,

@ChristianClason: Jak to nie jest odpowiedź? Odpowiada na pytanie. Możesz narzekać, że brakuje mu szczegółów, a nawet że jest źle, ale po to są głosy negatywne. To z pewnością nie jest komentarz.
Wrzlprmft

@Wrzlprmft Wielkie dzięki. Myślę, że to może być dobre, jeśli dostarczę Nico Schlömerowi szczegółowy samouczek wideo, pisząc tutaj niezbędny kod. Ale tymczasem mogę połączyć temat napisany przeze mnie wcześniej w języku włoskim, prosząc o pomoc w wyeksportowaniu siatki za pomocą skryptów Blendera (strona została zaktualizowana, dla której niektóre zasoby nie są bardziej dostępne): blender. it / forums / topic / difetto-texture-file-obj-da-wrl Oto przykład samouczka wideo na YouTube: youtube.com/watch?v=K0yb4sZ7B4g
Riccardo Volpe

Jeśli masz coś do dodania do pytania, edytuj je.
Wrzlprmft
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.