|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
18.05.2016, 04:03 | #1 | |
Перевод формата STL в твердотельную геометрию (Rhino, Salome и другие программы)
Регистрация: 09.12.2008
Сообщений: 4,649
|
||
Просмотров: 26920
|
|
||||
YngIngKllr Регистрация: 29.03.2005
СПб
Сообщений: 12,968
|
Salome-Platfrom
ТО что надо... Скорее всего в пайтоне тоже есть какой то модуль который работает с сетками, он скорее всего тоже может преобразовывать.... Там в принципе алгоритм для плоских фигур довольно простой...
__________________
Работаю за еду. Working for food. Für Essen arbeiten. العمل من أجل الغذاء Працую за їжу. |
|||
|
||||
Регистрация: 18.12.2010
Сообщений: 5,057
|
Цитата:
|
|||
|
||||
YngIngKllr Регистрация: 29.03.2005
СПб
Сообщений: 12,968
|
Цитата:
__________________
Работаю за еду. Working for food. Für Essen arbeiten. العمل من أجل الغذاء Працую за їжу. |
|||
|
||||
Регистрация: 09.12.2008
Сообщений: 4,649
|
Все открытое что есть, типа freecad и occ (и все что появится в будущем) - основано на том же Salome, то есть на открытой библиотеке opencascade
В Salome тоже есть интерфейс к пайтон и поддерживаются скрипты с включением любой функции которая есть в интерфейсе. Также есть генератор макросов из процесса интерактивной работы DEM можете выложить модель stl из скада чтобы попробовать ее преобразовать и размешировать (например из треугольной сетки в структурированную) Естественно все данные кроме геометрии будут утеряны. И колонны тоже я подозреваю будут утеряны после перевода в stl Еще таким образом можно получить тела из оболочек. То есть после преобразования оболочек ограничивающих замкнутую полость можно получить уже тела.
__________________
мой блог по некоторым вопросам |
|||
|
||||
Регистрация: 09.12.2008
Сообщений: 4,649
|
Форматы геометрии есть сеточные (представление всего треугольниками) и нативные (условно точные) как STEP/IGES. Первые сравнительно просто программируются но могут терять точность в процессе преобразований. Самые мощные программы для работы с сеточной геометрией - это Blender3d и 3dMax. Это не CAD программы - их назначение это арт и визульное представление объектов.
Opencascade единственная в своем роде открытая библиотека которая работает с нативными форматами. То есть их и закрытых библиотек во всем мире по пальцам можно пересчитать, потому что это программы с очень сложной математикой, требующие долгой профессиональной разработки большими коллективами и длительного тестирования. Естественно, большинство открытых решений просто берет opencascade за основу. Хотя есть мелкие программки типа SolveSpace и gcad3d которые сами чего то делают, но там очень бедная функциональность как правило и они на многое не претендуют. dxf это по сути сеточный формат в 3д, для 3д не удобный. msh это формат сетки в GMSH, но там речь идет о конечно-элементной сетке. Для работы с твердотельной геометрией в GMSH также встроен Opencascade Выложите пожалуйста какой нибудь практический stl модели из скада - я попробую преобразовать его в твердотельную геометрию с возможностью последующей доработки в CAD
__________________
мой блог по некоторым вопросам Последний раз редактировалось ETCartman, 18.05.2016 в 10:26. |
|||
|
||||
Регистрация: 18.12.2010
Сообщений: 5,057
|
Цитата:
http://quaoar.su/blog/page/topologija-dlja-sapr http://quaoar.su/blog/page/bulevy-op...b-rep-vvedenie в dxf тела хранятся как бинарный объекты |
|||
|
||||
YngIngKllr Регистрация: 29.03.2005
СПб
Сообщений: 12,968
|
ETCartman
Вот два файла.... В Salome-Platfrom к сожалению не нашел возможности, преобразования сетки в суфрайсы(у меня под винду версия). Думаю наверное все таки будет самым оптимальным установить python и pythonocc Потом с помощью библиотеки работать с данными... Можно будет и отображать результаты расчетов и сетку делать, т.к. для python и интерфейс GMSH есть.
__________________
Работаю за еду. Working for food. Für Essen arbeiten. العمل من أجل الغذاء Працую за їжу. Последний раз редактировалось DEM, 18.05.2016 в 14:39. |
|||
|
||||
Регистрация: 09.12.2008
Сообщений: 4,649
|
И под винду и под линукс работает одинаково. Сетка автоматом переводится в поверхности при импорте (рисунок 1 в топ посте) далее задача - сделать их плоскими просто (убрать треугольники)
PS после объединения поверхностей нужно выделить фичу в дереве и выбрать ПКМ Show Only (иначе показывается все - в том числе и сетка) Вот скрины для выложенного файла 1.stl К загруженному stl применяется Remove Extra Edges с опцией Union Faces (чтобы видеть результат надо применить к этой фиче show only) Полученная поверхность может быть перемеширована под другую сетку (показано на рисунке - алгоритм Netgen1D-2D с рекомбайном треугольников в квадраты) Также выкладываю zip с файлом HDF
__________________
мой блог по некоторым вопросам Последний раз редактировалось ETCartman, 18.05.2016 в 15:45. |
|||
|
||||
YngIngKllr Регистрация: 29.03.2005
СПб
Сообщений: 12,968
|
ETCartman
А msh может подгрузить Salome-Platfrom... И еще там по сложнее файл был, его уже по этапам надо будет конвертить??
__________________
Работаю за еду. Working for food. Für Essen arbeiten. العمل من أجل الغذاء Працую за їжу. |
|||
|
||||
Регистрация: 09.12.2008
Сообщений: 4,649
|
msh 1 и 2 (3 планируется) - внутренний сеточный КЭ формат GMSH и больше нигде не поддерживается.
Для модели номер 2 разница в том что загрузка stl выполняется долго. Такие вещи в Salome (как и в GMSH) лучше делать скриптами в BATCH режиме (в этом случае программа не подвисает и можно оперировать очень большими сетками) Хотя в данном случае я делал все интерактивно (просто свернул окно программы и оно грузилось само по себе полчаса). Программа забрала примерно 1,5 ГБ оперативки (64 бит версия). Операция слития сурфайсов заняла несколько секунд. Меширование лучше делать с крупной сеткой сначала (если много элементов надо в настройках поменять предельное количество отображаемых элементов). Netgen не очень скоростной мешер (примерно раз в 5 медленнее коммерческих) Где то я читал что его можно приблизить по скорости к коммерческим (просто отключить какие то опции типа всяких проверок, но я не в курсе как)
__________________
мой блог по некоторым вопросам Последний раз редактировалось ETCartman, 18.05.2016 в 18:07. |
|||
|
||||
YngIngKllr Регистрация: 29.03.2005
СПб
Сообщений: 12,968
|
Блин круто...
Надоть подумать, что все таки лучше использовать. Либо Salome-Platfrom либо FreeCad. Еще надо придумать как сохранять информацию о стержнях. В общем то похоже создание своего препроцессора вполне возможно.
__________________
Работаю за еду. Working for food. Für Essen arbeiten. العمل من أجل الغذاء Працую за їжу. |
|||
|
||||
Регистрация: 09.12.2008
Сообщений: 4,649
|
На самом деле такое преобразование работает хорошо только для простых плоских сеток. Использовать конечно перспективней Salome потому что это оригинальная программа от производителей открытой библиотеки (французско - нижегородской компании), а Freecad всего лишь попытка одиночек-любителей на основе той же самой библиотеки получить некий универсальный CAD.
Функциональность Salome намного выше и она заточена как раз на построение сеток для профессиональных расчетов. На самом деле сложная сеточная геометрия транслируется в твердотельную с множеством артефактов и дефектов. И ее приходится дорабатывать много вручную перед тем как построить сетку. В Salome есть целое семество функций Repair для этой цели - но оно тоже помогает не всегда. То же самое верно для Rhino, который предназначен для архитекторов и модели выдает не очень корректные с точки зрения автоматической генерации сетки (например много дублирующихся линий, дыры в поверхностях и тд). Я пробовал считать на основе райновских моделей - получается очень со скрипом и тоже надо вручную дорабатывать (что сложнее чем построить с нуля иногда). Мне смысл передачи stl из SCAD не очень понятен. Тогда уж логичней строить все в Salome или в каком то другом профессиональном твердотельном CAD с последующим мешированием в Salome и передачей сетки (с группами узлов и элементов) в SCAD (либо автоматическим формированием текстового файла SCAD на основе данных Salome) Так чтобы свободно гонять сетки туда сюда - это сложно и граничные условия будут каждый раз теряться. Salome идет в паре с расчетной программой Code-Aster, для сквозного проектирования и расчета. Можете изучить этот механизм (на основе именованных групп) и приметь то же к SCAD. Получится как бы интерфейс к SCADу Кроме того сам Salome поддерживает создание пользовательского интерфейса, так что все операции можно встроить прямо в его окна. Там есть примеры такого рода. Второй вариант работы с STL сеткой в Salome - это импортировать ее сразу в mesh модуль. В этом случае импорт происходит почти мгновенно (так как не требуется распознание и перевод сетки в твердотельные треугольные поверхности). В mesh модуле есть свои операции - например можно автоматом объединить треугольники для получения структурированной сетки. Можно задать группы, проверить всевозможные параметры качества и так далее (перекинуть в другие программы)
__________________
мой блог по некоторым вопросам Последний раз редактировалось ETCartman, 19.05.2016 в 01:07. |
|||
|
||||
YngIngKllr Регистрация: 29.03.2005
СПб
Сообщений: 12,968
|
Что то не получается через Salome получить суфрайсы...
Последовательность у меня следующая... 1. Запускаю программу Salome. 2. Захожу в модуль MESH 3. Файл импорт stl 4. Захожу в модуль Geom 5. Выбираю Repair>Union Faces И выскакивает окошко....
__________________
Работаю за еду. Working for food. Für Essen arbeiten. العمل من أجل الغذاء Працую за їжу. |
|||
|
||||
Регистрация: 09.12.2008
Сообщений: 4,649
|
логично не получается. потому что что union faces команда geom модуля для геометрии. а если вы загрузили сетку в mesh модуле - то у вас геометрии нет (потому что сетка геометрией не является сама по себе). чтобы применять команды geom модуля нужно импортировать stl в нем же
__________________
мой блог по некоторым вопросам |
|||
|
||||
YngIngKllr Регистрация: 29.03.2005
СПб
Сообщений: 12,968
|
Цитата:
А то получается что стержни теряются....
__________________
Работаю за еду. Working for food. Für Essen arbeiten. العمل من أجل الغذاء Працую за їжу. Последний раз редактировалось DEM, 19.05.2016 в 17:40. |
|||
|
||||
Регистрация: 09.12.2008
Сообщений: 4,649
|
все в одной программе, только модули разные. в первом случае из геом модуля грузится сеточный формат stl и распознается как геометрия (занимает некоторе время)
После чего выполняются преобразования полученной геометрии в geom модуле (можно достроить модель, добавить убавить - работать будете как в CAD с геом примитивами типа сурфайсов) После преобразований в геом модуле можно перейти в меш модуль и автоматически разбить нужную сетку на сурфайсах. во втором случае сетка импортируется в mesh модуле как сетка и с ней можно выполнять любые преобразования из тех, что есть в mesh модуле (например рекомбинировать, сглаживать сетку, объединять ее с другой сеткой, создавать группы и тд) При этом естественно геом модуль сетку не видит, потому как это сеточная геометрия а не nurbs Также во freecad есть модуль сеточный и есть твердотельный (на основе библиотек Salome) и они не пересекаются. вот 1 мин видео первого способа во вложении
__________________
мой блог по некоторым вопросам Последний раз редактировалось ETCartman, 19.05.2016 в 17:56. |
|||
|
||||
Я правильно понял задачу - нужно из скадовской сетки получить один полигон с отверстиями и сохранить это в dxf?
__________________
Archicad, Smath, VBA |
||||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Конвертация файлов | Admin | Прочее. Программное обеспечение | 7515 | 19.03.2024 14:27 |