Я шукаю програмне забезпечення для створення сітки, яке
- є безкоштовним та відкритим кодом,
- забезпечує розумний інтерфейс сценаріїв для специфікації домену,
- працює для складної геометрії,
- може генерувати 2D та 3D-сітки,
Які у мене варіанти?
Я шукаю програмне забезпечення для створення сітки, яке
Які у мене варіанти?
Відповіді:
Я б рекомендував вам поглянути на gmsh . Він має як текстовий, так і CAD-подібний вхід, здатний до 2D та 3D-мереж вищого порядку. Він ліцензований відповідно до GPL, тому існують деякі обмеження щодо його інтеграції у програмне забезпечення із закритим кодом, але в іншому випадку він є повністю безкоштовним / відкритим.
Зазвичай я використовую тетген для 3D (ліцензія MIT на дослідження / некомерційний) та трикутник для 2D (користувацька ліцензія, безкоштовна для некомерційних). Щоб їх скриптувати, ви пишете вхідний файл і викликаєте командний рядок.
MeshPy можна використовувати для отримання трикутних і чотиригранних сіток. Він забезпечує простий засіб створення сценаріїв сітки.
MeshPy надає інтерфейси Python для трикутника та TetGen, згаданих aterrel.
Я виявив, що Salome дуже гнучка, із значно кращим середовищем, ніж gmsh. Він має набагато більш професійне відчуття IMHO. Більше того, він може генерувати також шестигранні сітки. Справді варто спробувати!
Чому б не Блендер ? Це потужне, вільне та відкрите програмне забезпечення з підтримкою сценаріїв python.
У Blender 2.79 вам потрібно обрати Scripting
як Screen layout
.
У верхньому лівому куті Text Editor
натисніть +, щоб створити новий текстовий блок даних; почніть з цього, import bpy
а потім вставляйте команди python відносно кожної операції, яку ви можете виконати з GUI, читаючи відносну команду, що наводить курсор миші на елемент GUI.
На скріншоті зображені команди для тріангуляції кола, починаючи зі сцени за замовчуванням кубом:
Таким чином, ви можете використовувати Blender в режимі сценаріїв без його графічного інтерфейсу для експорту, наприклад, вихідного файлу, запускаючи ваш скрипт python в терміналі:
blender --background --python myscript.py
Ось відеоурок на YouTube.
Ура