Реклама i
Стань нашим партнером - зарабатывай с нами!
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Другие CAD системы > Перевод формата STL в твердотельную геометрию (Rhino, Salome и другие программы)

Перевод формата STL в твердотельную геометрию (Rhino, Salome и другие программы)

Ответ
Поиск в этой теме
Непрочитано 18.05.2016, 04:03 #1
Перевод формата STL в твердотельную геометрию (Rhino, Salome и другие программы)
ETCartman
 
Регистрация: 09.12.2008
Сообщений: 4,649

Данный вопрос очень часто возникает при переброске модели из сеточного формата в CAD
Сейчас он встал по переписке с пользователем DEM
Известные и опробованные мной варианты на сегодняшний день.
1) Распознавание сеточной геометрии средствами солидворкс. По моему работает оно довольно плохо, во всяком случае у меня никогда не получалось
2) Rhino - команды mesh to surface . Данная программа замечательна тем, что ориентирована одинаково неплохо на оба типа геометрии, то есть имеет наборы команд и для того и для другого, а также поддерживает пару десятков разнообразных форматов обеих типов. Пробовал - в целом хорошо на простой геометрии
3) Salome-Platfrom. В geom модуле File>Import>Выбрать stl, Затем Repair>Union Faces.
Получается нормально для плоских поверхностей без скруглений. После применения New Entity > explode возникает 2 Faces и куча Edges оставшихся от сетки. Далее можно попробовать выделить Faces с нажатым shift и применить New Entity > Build для получения общей Shell
Можно попробовать Repair >Remove extra edges с опциями. В общем данная программа по сути конструктор и дает доступ ко всем составным частям твердотельной модели, зависит только от знаний пользователя. Файл stl прикладываю в архиве
Какие есть еще варианты?

Миниатюры
Нажмите на изображение для увеличения
Название: File--Import-STL.png
Просмотров: 940
Размер:	85.7 Кб
ID:	170525  Нажмите на изображение для увеличения
Название: Repair-Union Faces.png
Просмотров: 738
Размер:	143.5 Кб
ID:	170526  Нажмите на изображение для увеличения
Название: show only union.png
Просмотров: 624
Размер:	79.3 Кб
ID:	170527  Нажмите на изображение для увеличения
Название: Repair-RemoveExtraEdges.png
Просмотров: 577
Размер:	154.0 Кб
ID:	170528  

Вложения
Тип файла: zip mesh-geometry.stl.zip (2.0 Кб, 303 просмотров)


Последний раз редактировалось ETCartman, 18.05.2016 в 04:09.
Просмотров: 26762
 
Непрочитано 18.05.2016, 06:27
#2
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


Salome-Platfrom
ТО что надо...
Скорее всего в пайтоне тоже есть какой то модуль который работает с сетками, он скорее всего тоже может преобразовывать....
Там в принципе алгоритм для плоских фигур довольно простой...
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Непрочитано 18.05.2016, 07:04
#3
trir


 
Регистрация: 18.12.2010
Сообщений: 5,047


Цитата:
Скорее всего в пайтоне тоже есть какой то модуль который работает с сетками
О, да - только это тот же OCC
trir вне форума  
 
Непрочитано 18.05.2016, 07:32
#4
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


Цитата:
Сообщение от trir Посмотреть сообщение
О, да - только это тот же OCC
А ты случаем не пробовал делать подобное?
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Непрочитано 18.05.2016, 08:04
#5
trir


 
Регистрация: 18.12.2010
Сообщений: 5,047


Нет, я вообще питоном мало занимался. Только поставил и запустил эту штуку
trir вне форума  
 
Автор темы   Непрочитано 18.05.2016, 08:09
#6
ETCartman


 
Регистрация: 09.12.2008
Сообщений: 4,649


Все открытое что есть, типа freecad и occ (и все что появится в будущем) - основано на том же Salome, то есть на открытой библиотеке opencascade
В Salome тоже есть интерфейс к пайтон и поддерживаются скрипты с включением любой функции которая есть в интерфейсе. Также есть генератор макросов из процесса интерактивной работы
DEM можете выложить модель stl из скада чтобы попробовать ее преобразовать и размешировать (например из треугольной сетки в структурированную)
Естественно все данные кроме геометрии будут утеряны. И колонны тоже я подозреваю будут утеряны после перевода в stl
Еще таким образом можно получить тела из оболочек. То есть после преобразования оболочек ограничивающих замкнутую полость можно получить уже тела.
ETCartman вне форума  
 
Непрочитано 18.05.2016, 09:29
#7
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


ETCartman
Но ведь существуют и другие форматы открытые, типа iges\dxf\msh
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Автор темы   Непрочитано 18.05.2016, 10:19
#8
ETCartman


 
Регистрация: 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.
ETCartman вне форума  
 
Непрочитано 18.05.2016, 10:56
#9
trir


 
Регистрация: 18.12.2010
Сообщений: 5,047


Цитата:
нативные (условно точные)
это называется Brep
http://quaoar.su/blog/page/topologija-dlja-sapr
http://quaoar.su/blog/page/bulevy-op...b-rep-vvedenie

в dxf тела хранятся как бинарный объекты
trir вне форума  
 
Непрочитано 18.05.2016, 11:24
#10
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


ETCartman
Вот два файла....
В Salome-Platfrom к сожалению не нашел возможности, преобразования сетки в суфрайсы(у меня под винду версия).
Думаю наверное все таки будет самым оптимальным установить python и pythonocc
Потом с помощью библиотеки работать с данными...
Можно будет и отображать результаты расчетов и сетку делать, т.к. для python и интерфейс GMSH есть.
Вложения
Тип файла: zip File.zip (3.04 Мб, 123 просмотров)
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.

Последний раз редактировалось DEM, 18.05.2016 в 14:39.
DEM вне форума  
 
Автор темы   Непрочитано 18.05.2016, 14:38
#11
ETCartman


 
Регистрация: 09.12.2008
Сообщений: 4,649


И под винду и под линукс работает одинаково. Сетка автоматом переводится в поверхности при импорте (рисунок 1 в топ посте) далее задача - сделать их плоскими просто (убрать треугольники)
PS после объединения поверхностей нужно выделить фичу в дереве и выбрать ПКМ Show Only (иначе показывается все - в том числе и сетка)
Вот скрины для выложенного файла 1.stl
К загруженному stl применяется Remove Extra Edges с опцией Union Faces (чтобы видеть результат надо применить к этой фиче show only)
Полученная поверхность может быть перемеширована под другую сетку (показано на рисунке - алгоритм Netgen1D-2D с рекомбайном треугольников в квадраты)
Также выкладываю zip с файлом HDF
Миниатюры
Нажмите на изображение для увеличения
Название: dem1.png
Просмотров: 503
Размер:	146.9 Кб
ID:	170592  Нажмите на изображение для увеличения
Название: dem2.png
Просмотров: 464
Размер:	109.9 Кб
ID:	170593  Нажмите на изображение для увеличения
Название: dem3-remove extra edges with union option checked.png
Просмотров: 348
Размер:	118.0 Кб
ID:	170595  
Вложения
Тип файла: zip dem-stl1.hdf.zip (4.31 Мб, 109 просмотров)

Последний раз редактировалось ETCartman, 18.05.2016 в 15:45.
ETCartman вне форума  
 
Непрочитано 18.05.2016, 16:13
#12
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


ETCartman
А msh может подгрузить Salome-Platfrom...
И еще там по сложнее файл был, его уже по этапам надо будет конвертить??
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Автор темы   Непрочитано 18.05.2016, 17:33
#13
ETCartman


 
Регистрация: 09.12.2008
Сообщений: 4,649


msh 1 и 2 (3 планируется) - внутренний сеточный КЭ формат GMSH и больше нигде не поддерживается.
Для модели номер 2 разница в том что загрузка stl выполняется долго. Такие вещи в Salome (как и в GMSH) лучше делать скриптами в BATCH режиме (в этом случае программа не подвисает и можно оперировать очень большими сетками)
Хотя в данном случае я делал все интерактивно (просто свернул окно программы и оно грузилось само по себе полчаса). Программа забрала примерно 1,5 ГБ оперативки (64 бит версия). Операция слития сурфайсов заняла несколько секунд.
Меширование лучше делать с крупной сеткой сначала (если много элементов надо в настройках поменять предельное количество отображаемых элементов).
Netgen не очень скоростной мешер (примерно раз в 5 медленнее коммерческих) Где то я читал что его можно приблизить по скорости к коммерческим (просто отключить какие то опции типа всяких проверок, но я не в курсе как)
Миниатюры
Нажмите на изображение для увеличения
Название: 11111111.png
Просмотров: 314
Размер:	137.3 Кб
ID:	170604  Нажмите на изображение для увеличения
Название: 3333.png
Просмотров: 299
Размер:	125.3 Кб
ID:	170605  Нажмите на изображение для увеличения
Название: 44444.png
Просмотров: 363
Размер:	99.6 Кб
ID:	170606  

Последний раз редактировалось ETCartman, 18.05.2016 в 18:07.
ETCartman вне форума  
 
Непрочитано 18.05.2016, 21:16
#14
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


Блин круто...
Надоть подумать, что все таки лучше использовать.
Либо Salome-Platfrom либо FreeCad.
Еще надо придумать как сохранять информацию о стержнях.
В общем то похоже создание своего препроцессора вполне возможно.
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Автор темы   Непрочитано 18.05.2016, 22:51
#15
ETCartman


 
Регистрация: 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 модуле есть свои операции - например можно автоматом объединить треугольники для получения структурированной сетки. Можно задать группы, проверить всевозможные параметры качества и так далее (перекинуть в другие программы)
Миниатюры
Нажмите на изображение для увеличения
Название: 555.png
Просмотров: 211
Размер:	233.1 Кб
ID:	170618  Нажмите на изображение для увеличения
Название: 666.png
Просмотров: 184
Размер:	142.4 Кб
ID:	170619  Нажмите на изображение для увеличения
Название: 777.png
Просмотров: 211
Размер:	320.1 Кб
ID:	170620  Нажмите на изображение для увеличения
Название: 888.png
Просмотров: 176
Размер:	20.5 Кб
ID:	170621  Нажмите на изображение для увеличения
Название: 999.png
Просмотров: 214
Размер:	195.3 Кб
ID:	170622  


Последний раз редактировалось ETCartman, 19.05.2016 в 01:07.
ETCartman вне форума  
 
Непрочитано 19.05.2016, 13:08
#16
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


Что то не получается через Salome получить суфрайсы...
Последовательность у меня следующая...
1. Запускаю программу Salome.
2. Захожу в модуль MESH
3. Файл импорт stl
4. Захожу в модуль Geom
5. Выбираю Repair>Union Faces
И выскакивает окошко....
Миниатюры
Нажмите на изображение для увеличения
Название: Безымянный.jpg
Просмотров: 173
Размер:	80.8 Кб
ID:	170675  
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Автор темы   Непрочитано 19.05.2016, 14:20
#17
ETCartman


 
Регистрация: 09.12.2008
Сообщений: 4,649


логично не получается. потому что что union faces команда geom модуля для геометрии. а если вы загрузили сетку в mesh модуле - то у вас геометрии нет (потому что сетка геометрией не является сама по себе). чтобы применять команды geom модуля нужно импортировать stl в нем же
ETCartman вне форума  
 
Непрочитано 19.05.2016, 17:13
#18
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


Цитата:
Сообщение от ETCartman Посмотреть сообщение
логично не получается. потому что что union faces команда geom модуля для геометрии. а если вы загрузили сетку в mesh модуле - то у вас геометрии нет (потому что сетка геометрией не является сама по себе). чтобы применять команды geom модуля нужно импортировать stl в нем же
А прям в программе нельзя это сделать????
А то получается что стержни теряются....
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.

Последний раз редактировалось DEM, 19.05.2016 в 17:40.
DEM вне форума  
 
Автор темы   Непрочитано 19.05.2016, 17:49
#19
ETCartman


 
Регистрация: 09.12.2008
Сообщений: 4,649


все в одной программе, только модули разные. в первом случае из геом модуля грузится сеточный формат stl и распознается как геометрия (занимает некоторе время)
После чего выполняются преобразования полученной геометрии в geom модуле (можно достроить модель, добавить убавить - работать будете как в CAD с геом примитивами типа сурфайсов) После преобразований в геом модуле можно перейти в меш модуль и автоматически разбить нужную сетку на сурфайсах.
во втором случае сетка импортируется в mesh модуле как сетка и с ней можно выполнять любые преобразования из тех, что есть в mesh модуле (например рекомбинировать, сглаживать сетку, объединять ее с другой сеткой, создавать группы и тд) При этом естественно геом модуль сетку не видит, потому как это сеточная геометрия а не nurbs
Также во freecad есть модуль сеточный и есть твердотельный (на основе библиотек Salome) и они не пересекаются.
вот 1 мин видео первого способа во вложении
Вложения
Тип файла: zip 11.zip (4.91 Мб, 136 просмотров)

Последний раз редактировалось ETCartman, 19.05.2016 в 17:56.
ETCartman вне форума  
 
Непрочитано 19.05.2016, 21:57
#20
Brandashmыg


 
Регистрация: 15.10.2008
Ростов-на-Дону
Сообщений: 370
Отправить сообщение для Brandashmыg с помощью Skype™


Я правильно понял задачу - нужно из скадовской сетки получить один полигон с отверстиями и сохранить это в dxf?
__________________
Archicad, Smath, VBA
Brandashmыg вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Другие CAD системы > Перевод формата STL в твердотельную геометрию (Rhino, Salome и другие программы)

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Конвертация файлов Admin Прочее. Программное обеспечение 7515 19.03.2024 14:27