Komut Dosyası Mesh Oluşturma Yazılımı


17

Kafes oluşturma yazılımı arıyorum

  • özgür ve açık kaynaklıdır,
  • alan adı belirtimi için aklı başında bir komut dosyası arabirimi sağlar,
  • karmaşık geometriler için çalışır,
  • 2D ve 3D kafes üretebilir,

Hangi seçeneklerim var?

Yanıtlar:


10

Gmsh'ye bakmanızı tavsiye ederim . Hem metin hem de CAD benzeri girişe sahiptir, 2D ve 3D, daha yüksek düzeyli kafeslere sahiptir. GPL kapsamında lisanslanmıştır, bu nedenle kapalı kaynak yazılımına entegre edilmesinde bazı kısıtlamalar vardır, ancak aksi takdirde tamamen ücretsiz / açık kaynaklıdır.


Ne yazık ki, senaryo dili delilik. ;)
Nico Schlömer

Ne şekilde? Metin dosyası girişlerinden mi yoksa başka bir arayüzden mi bahsediyorsunuz?
Godric Seer

2
Sorunlarım neredeyse her zaman geometri dışındaki faktörlerle karmaşık olduğundan, basit basit geometrilerde sadece gmsh kullandım. Ben sadece bu daha basit geometriler üzerinde çalışırken, kesinlikle en sezgisel ve öğrenmesi en kolay gmsh buldum. Bununla birlikte daha karmaşık prosedürler yapmaya çalışmak konusunda sizinle tartışmayacağım çünkü onlarla deneyimim yok.
Godric Seer

5
Komut dosyalarınızı her zaman istediğiniz dilde yazabilir ve komut dosyanızın sonucunda gmsh'ye girdi olarak beslenen dosyalar oluşturabilirsiniz.
Wolfgang Bangerth

1
@WolfgangBangerth Aslında Python'da github.com/nschloe/python4gmsh adresinde küçük bir oyuncak projesi başlattım .
Nico Schlömer

4

Genellikle 3D için tetgen (araştırma / ticari olmayan için MIT lisansı) ve 2D için (ticari olmayanlar için ücretsiz özel lisans ) üçgen kullanıyorum . Bunları kodlamak için bir girdi dosyası yazar ve komut satırını çağırırsınız.


2
"Lütfen TetGen'in araştırma ve ticari olmayan kullanımlar için ücretsiz olduğunu unutmayın. Herhangi bir ticari kullanım için ticari bir lisans talep üzerine temin edilebilir." - Bu bir MIT lisansı değil, ücretsiz veya açık kaynaklı bir yazılım lisansı değildir (OSI veya FSF tanımı altında).
Jed Brown

Evet, Lisans dosyasının ilk bitini okudum. Çoğu insan, OSI veya FSF kadar Özgür anlamında katı değildir.
aterrel

Benzer bir soru sormak üzereydim. Tetgen FEniCS ile uyumlu mu?
seb

@aterrel LICENSE dosyasını okuyun: "Bu, TetGen'in özgür bir yazılım olmadığı anlamına gelir, ancak özel, araştırma ve eğitim amaçlı olarak kesinlikle ücretsiz olarak ve başka düzenlemeler olmadan kullanılabilir."
Jed Brown

1
Evet, @JedBrown, sizinle aynı fikirdeydim ve yanıtı düzenledim. Ancak, sıradan kişiler için, serbest RMS yasallaştırmak değil genellikle "bunun için ödemek zorunda değilim" anlamına gelir. Ayrıca GPL'nin "ücretsiz" olmadığını, ancak bu forum için muhtemelen uygun bir tartışma olmadığını da iddia ediyorum.
aterrel

3

MeshPy , üçgen ve dört yüzlü ağlar elde etmek için kullanılabilir. Komut dosyası oluşturulmuş mesh üretimi için kolay bir yol sağlar.

MeshPy, aterrelin bahsettiği Triangle ve TetGen'e Python arabirimleri sağlar .


1

Bulduğum Salome Gmsh çok daha iyi bir çevre ile, çok esnek olması. Çok daha profesyonel bir his var IMHO. Ayrıca, altı yüzlü ağlar da üretebilir. Gerçekten denemeye değer!


Geometri modelindeki hiçbir şeyin UI veya Python konsolundan düzenlenebilir olmaması gerçeğini sevmiyorum. Temel olarak değişiklik yapmak istiyorsanız silmeniz ve yeniden oluşturmanız gerekir. Bu tasarım sırasında ek yük
getirir

Bu, örneğin bir STEP dosyasında size verilen bir geometriyi içe aktarırsanız geçerlidir. Ama yanılmıyorsam, burada belirtilen diğer programlar için de geçerlidir! Dahası, HDF dosyanız veya python dökümü komut dosyanız varsa, kesinlikle herhangi bir şeyi değiştirebilirsiniz.
FlatronL1917

1

OpenSCAD, hacim ağı oluşturma dışındaki tüm noktalara uyar. Giriş betiklerine dayanır ve STL yüzey ağları oluşturur.


1

Bu arada ben yarattım

  • gmsh için Python ön ucu olarak pygmsh ve
  • CGAL'ın 3D ağ oluşturma özellikleri için Python ön ucu olarak pygalmesh.

Her ikisi de oldukça iyi karşılandı, bu yüzden başkalarına da yararlı olduğunu tahmin ediyorum.


1

Neden Blender olmasın ? Python komut dosyası desteği ile güçlü, ücretsiz ve açık kaynaklı bir yazılımdır.

In Blender 2.79 seçtiğiniz gerekir Scriptingolarak Screen layout.

Sol üstte Text Editoryeni bir metin veri bloğu oluşturmak için + tuşuna basın; ile başlaimport bpy ve sonra farenizi GUI öğesinin üzerine getirerek ilgili komutu okuyarak GUI'den yapabileceğiniz her işleme göre python komutlarını ekleyin.

Ekli ekran görüntüsünde, bir küp ile varsayılan sahneden başlayarak bir daireyi üçgenleme komutları gösterilir:

resim açıklamasını buraya girin

Bu şekilde, Blender'ı komut dosyası modunda, GUI'siz olmadan, örneğin bir çıktı dosyasını dışarı aktarmak için python komut dosyanızı bir terminalde çalıştırarak kullanabilirsiniz:

blender --background --python myscript.py

İşte YouTube'da bir videotutorial.

Şerefe


Blender bunu yapabilir mi? Asla bilmiyordum. Örneğin bir daireyi nasıl üçgenlerim?
Nico Schlömer

@ChristianClason: Bu nasıl bir cevap değil? Soruyu ele alıyor. Ayrıntıdan yoksun veya hatta yanlış olduğundan şikayet edebilirsiniz, ancak aşağı oylar bunun içindir. Kesinlikle bir yorum değil.
Wrzlprmft

@Wrzlprmft Çok teşekkürler. Burada önemli bir kod yazarak Nico Schlömer'e detaylı bir videotutorial sunacak olursam bunun iyi olabileceğini düşünüyorum. Ancak bu arada, kendim tarafından yazılan bir konuyu İtalyanca dilinde, Blender'ın komut dosyalarını (bu web sitesi güncellendi, bazı kaynakların daha fazla mevcut olmadığı) kullanarak bir ağın dışa aktarılması için yardım isteyebilirim: blender. it / forumlar / topic / difetto-texture-file-obj-da-wrl İşte YouTube'daki videotutorial örneği: youtube.com/watch?v=K0yb4sZ7B4g
Riccardo Volpe

Sorunuza eklemek istediğiniz bir şey varsa, lütfen düzenleyin .
Wrzlprmft
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.