Perangkat Lunak Pembuatan Script Mesh

17

Saya mencari perangkat lunak generasi mesh itu

  • gratis dan open source,
  • menyediakan antarmuka scripting yang waras untuk spesifikasi domain,
  • bekerja untuk geometri yang kompleks,
  • dapat menghasilkan jerat 2D dan 3D,

Opsi apa yang saya miliki?

Nico Schlömer
sumber

Jawaban:

10

Saya akan merekomendasikan Anda melihat gmsh . Ini memiliki input teks dan seperti CAD, mampu 2D dan 3D, jerat rangka lebih tinggi. Ini dilisensikan di bawah GPL, jadi ada beberapa batasan untuk mengintegrasikannya ke perangkat lunak sumber tertutup, tetapi sebaliknya sepenuhnya bebas / sumber terbuka.

Pelihat Godric
sumber
Sayangnya, bahasa scripting tidak masuk akal. ;)
Nico Schlömer
Dengan cara apa? Apakah Anda merujuk pada input file teks, atau antarmuka lain?
Godric Seer
2
Saya hanya menggunakan gmsh dalam geometri sederhana karena masalah saya hampir selalu rumit oleh faktor selain geometri. Sementara saya hanya bekerja pada geometri sederhana ini, saya pasti menemukan gmsh menjadi yang paling intuitif dan termudah untuk dipelajari. Saya tidak akan berdebat dengan Anda tentang mencoba melakukan prosedur yang lebih rumit karena saya tidak memiliki pengalaman dengan mereka.
Godric Seer
5
Anda selalu dapat menulis skrip Anda dalam bahasa apa pun yang Anda suka dan cukup membuat file sebagai hasil dari skrip Anda yang kemudian dimasukkan sebagai input ke gmsh.
Wolfgang Bangerth
1
@ WolfgangBangerth Saya sebenarnya memulai proyek mainan kecil dengan Python di github.com/nschloe/python4gmsh .
Nico Schlömer
4

Saya biasanya menggunakan tetgen untuk 3D (lisensi MIT untuk penelitian / non-komersial) dan segitiga untuk 2D (Lisensi khusus gratis untuk non-komersial). Untuk skrip mereka, Anda menulis file input dan memanggil baris perintah.

aterrel
sumber
2
"Harap perhatikan bahwa TetGen gratis untuk penelitian dan penggunaan non-komersial. Untuk setiap pemanfaatan komersial, lisensi komersial tersedia atas permintaan." - Ini bukan lisensi perangkat lunak bebas atau sumber terbuka (di bawah definisi OSI atau FSF), apalagi lisensi MIT.
Jed Brown
Ya saya baru saja membaca bit pertama dari file Lisensi. Kebanyakan orang tidak seketat dalam arti mereka tentang Free seperti OSI atau FSF.
aterrel
Saya akan mengajukan pertanyaan serupa. Apakah tetgen kompatibel dengan FEniCS?
seb
@aterrel Baca file LICENSE: "Ini berarti bahwa TetGen bukan perangkat lunak bebas, tetapi untuk keperluan pribadi, penelitian, dan pendidikan, ia dapat digunakan tanpa biaya dan tanpa pengaturan lebih lanjut."
Jed Brown
1
Ya, @JedBrown, saya setuju dengan Anda dan mengedit jawabannya. Tetapi bagi orang awam, gratis biasanya berarti "Saya tidak perlu membayar untuk itu" bukan RMS yang disahkan. Saya juga berpendapat bahwa GPL tidak "gratis" tapi itu mungkin bukan diskusi yang sesuai untuk forum ini.
aterrel
3

MeshPy dapat digunakan untuk mendapatkan jerat segitiga dan tetrahedral. Ini menyediakan cara mudah pembuatan skrip mesh.

MeshPy menyediakan antarmuka Python ke Triangle dan TetGen yang disebutkan oleh aterrel.

Subodh
sumber
1

Saya menemukan Salome sangat fleksibel, dengan lingkungan yang jauh lebih baik daripada gmsh. Ini memiliki IMHO merasa jauh lebih profesional. Selain itu, dapat menghasilkan juga jerat heksahedral. Ini benar-benar patut dicoba!

FlatronL1917
sumber
Saya tidak suka fakta bahwa tidak ada dalam model geometri yang dapat diedit dari konsol UI atau Python. Pada dasarnya jika Anda ingin melakukan perubahan, Anda perlu menghapus dan membuat ulang. Itu menambah banyak overhead selama desain
lurscher
Ini benar jika Anda mengimpor geometri yang diberikan kepada Anda dalam file LANGKAH misalnya. Tetapi jika saya tidak salah, ini juga berlaku untuk program lain yang disebutkan di sini! Selain itu, jika Anda memiliki file HDF atau skrip python dump, Anda pasti dapat mengubah apa pun.
FlatronL1917
1

OpenSCAD cocok untuk semua titik kecuali penyatuan volume. Ini didasarkan pada skrip input dan menghasilkan jaring permukaan STL.

Dohn Joe
sumber
1

Sementara itu, saya buat

  • pygmsh sebagai ujung depan Python untuk gmsh dan
  • pygalmesh sebagai ujung depan Python untuk kemampuan meshing 3D CGAL.

Keduanya diterima dengan cukup baik, jadi saya kira mereka juga membantu orang lain.

Nico Schlömer
sumber
1

Kenapa tidak Blender ? Ini adalah perangkat lunak yang kuat, gratis dan open-source dengan dukungan skrip python juga.

Di Blender 2.79 Anda harus memilih Scriptingsebagai Screen layout.

Di kiri atas Text Editortekan + untuk membuat blok data teks baru; mulai dengan import bpydan kemudian masukkan perintah python relatif untuk setiap operasi yang dapat Anda lakukan dari GUI, baca perintah relatif meletakkan mouse Anda di atas item GUI.

Pada screenshot terlampir ditunjukkan perintah untuk melakukan triangulasi lingkaran, mulai dari adegan default dengan sebuah kubus:

masukkan deskripsi gambar di sini

Dengan cara ini, Anda dapat menggunakan Blender dalam mode scripting, tanpa GUI untuk mengekspor, misalnya, file output, menjalankan skrip python Anda di terminal:

blender --background --python myscript.py

Berikut videotutorial di YouTube.

Bersulang

Riccardo Volpe
sumber
Blender dapat melakukan ini? Tidak pernah tau. Bagaimana saya melakukan pelacakan, misalnya, lingkaran?
Nico Schlömer
@ChristianClason: Bagaimana ini bukan jawaban? Ini menjawab pertanyaan. Anda dapat mengeluh bahwa itu kurang detail atau bahkan itu salah, tapi itulah gunanya downvotes. Itu jelas bukan komentar.
Wrzlprmft
@Wrzlprmft Terima kasih banyak. Saya pikir itu bisa baik jika saya akan memberikan videotutorial terperinci kepada Nico Schlömer, menulis kode penting di sini. Tetapi sementara itu, saya dapat menautkan topik yang saya tulis sendiri beberapa waktu lalu dalam bahasa Italia, meminta bantuan untuk mengekspor mesh dengan menggunakan skrip Blender (situs web itu telah diperbarui, yang beberapa sumber dayanya tidak tersedia): blender. it / forum / topic / difetto-tekstur-file-obj-da-wrl Berikut ini contoh videotutorial di YouTube: youtube.com/watch?v=K0yb4sZ7B4g
Riccardo Volpe
Jika Anda memiliki sesuatu untuk ditambahkan ke pertanyaan Anda, harap edit di.
Wrzlprmft