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

Вернуться   Форум 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
Просмотров: 945
Размер:	85.7 Кб
ID:	170525  Нажмите на изображение для увеличения
Название: Repair-Union Faces.png
Просмотров: 741
Размер:	143.5 Кб
ID:	170526  Нажмите на изображение для увеличения
Название: show only union.png
Просмотров: 625
Размер:	79.3 Кб
ID:	170527  Нажмите на изображение для увеличения
Название: Repair-RemoveExtraEdges.png
Просмотров: 578
Размер:	154.0 Кб
ID:	170528  

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


Последний раз редактировалось ETCartman, 18.05.2016 в 04:09.
Просмотров: 26876
 
Непрочитано 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,051


Цитата:
Скорее всего в пайтоне тоже есть какой то модуль который работает с сетками
О, да - только это тот же 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,051


Нет, я вообще питоном мало занимался. Только поставил и запустил эту штуку
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,051


Цитата:
нативные (условно точные)
это называется 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
Просмотров: 504
Размер:	146.9 Кб
ID:	170592  Нажмите на изображение для увеличения
Название: dem2.png
Просмотров: 465
Размер:	109.9 Кб
ID:	170593  Нажмите на изображение для увеличения
Название: dem3-remove extra edges with union option checked.png
Просмотров: 349
Размер:	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
Просмотров: 315
Размер:	137.3 Кб
ID:	170604  Нажмите на изображение для увеличения
Название: 3333.png
Просмотров: 300
Размер:	125.3 Кб
ID:	170605  Нажмите на изображение для увеличения
Название: 44444.png
Просмотров: 364
Размер:	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
Просмотров: 212
Размер:	233.1 Кб
ID:	170618  Нажмите на изображение для увеличения
Название: 666.png
Просмотров: 185
Размер:	142.4 Кб
ID:	170619  Нажмите на изображение для увеличения
Название: 777.png
Просмотров: 212
Размер:	320.1 Кб
ID:	170620  Нажмите на изображение для увеличения
Название: 888.png
Просмотров: 177
Размер:	20.5 Кб
ID:	170621  Нажмите на изображение для увеличения
Название: 999.png
Просмотров: 215
Размер:	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 вне форума  
 
Непрочитано 20.05.2016, 06:05
#21
DEM

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


Brandashmыg
Из СКАДовской модели(полностью какое то здание), получить не сеточную модель, а геометрическую.
Чтобы потом было проще редактировать....
Грубо говоря создать препрроцессор для СКАДа.
Кстати можно сделать и просмотр результатов расчета....
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Автор темы   Непрочитано 20.05.2016, 06:25
#22
ETCartman


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


Цитата:
Сообщение от DEM Посмотреть сообщение
Грубо говоря создать препрроцессор для СКАДа.
.
Ну Salome является пре-постпроцессором для чего угодно. Чтобы оно было препроцессором для скада надо написать конвертер из формата UNV в формат txt который будет передавать в скад сетку и группы. Если вы хотите свободно обмениваться туда-сюда, то нужен также обратный конвертер TXT > UNV (с группами). Кстати такой конвертер работал бы и с GMSH тоже
Я бы написал такой сам для скада, но я использую его очень редко и в основном для простых стержневых конструкций (у меня есть лицензионный ключ на старую версию). А так он мне мало интересен, да и TXT там очень мудреный. Salome как программа достаточно необычная, но вполне осваиваемая и с массой функций типичных как раз для пре-постпроцессора. Допустим по возможностям оно превосходит многие платные пре-постпроцессоры (если не сказать что вообще все, кроме нормальных коммерческих CAD ов вроде солидворкса)
Передача через stl в геометрию может быть полезна иногда (когда например вы получили какую то модель извне и хотите с нуля переразбить сетку и все пересчитать). Но в целом это тупиковый путь, потому что stl содержит только геометрию и все. Даже стержней нет.

Последний раз редактировалось ETCartman, 20.05.2016 в 06:39.
ETCartman вне форума  
 
Непрочитано 20.05.2016, 09:29
#23
DEM

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


Я могу читать непосредственно файл СКАДа и сразу формировать группы, в зависимости от жесткостей, групп, нагрузок и т.д.
Ну и соответственно сразу создавать какой то текстовый файл.
Сохранять я так же могу сразу в файл СКАДа.
В принципе все инструменты почти есть, надо взяться и попытаться сделать...
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.

Последний раз редактировалось DEM, 20.05.2016 в 09:37.
DEM вне форума  
 
Непрочитано 20.05.2016, 10:25
#24
logik777


 
Регистрация: 24.02.2012
Сообщений: 11


Попробовал воспользоваться функцией Repair-->Remove extra edges (с установкой галок в положении как на видео). Подгрузил сеточную модель *stl как геометрию в Salome и не получил никакого эффекта от команд repair. ЧЯДНТ?
Файл *stl прилагаю.
Вложения
Тип файла: zip test.zip (490.6 Кб, 32 просмотров)
logik777 вне форума  
 
Автор темы   Непрочитано 20.05.2016, 20:38
#25
ETCartman


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


В данном случае сетка сохранена из GMSH судя по заголовку (Не из скада) и вероятней всего что либо поверхности в точности не планарны из за ошибьок округления, либо что то не так еще (в GMSH некоторые не родные форматы файлов неряшлово работают иногда). Поэтому способ 1 не работает в геом модуле. Вернее он может работать если поиграть с limit tolerance http://docs.salome-platform.org/7/gu...tion_page.html
Вообще операция перевода из сеточной геометрии в CAD сильно зависит от исходника. Это как автоматическое распознавание текста по плохому растровому изображению - бывает что относительно правильно, а бывает что распознанный текст полная ерунда. Поэтому я и не рекомендую заморачиваться с таким способом более чем из любопытства (пока ни одно мне известное открытое или коммерческое решение, включая Rhino или меш модуль солидворкс, данную задачу в совершенстве не решает, а данная проблема очень остро стоит на работе)
Но есть способ еще проще - построить чистую геометрию на сетке как на основе. В принципе если принимать во внимание необходимость всяких доработок после repair (для сложных моделей) то этот вариант проще
Вот видео выкладываю и заливаю на ютуб для удобства
https://youtu.be/0bVrfwimbig
https://youtu.be/GwZv6JFKeYU

DEM а какова ваша конечная цель? ну я понимаю - благородная цель чтобы увеличить производительность труда и точность расчетов. это ваш профессиональный и финансовый интерес. Конечно Salome как мешер и препроцессор того стоит и я например постоянно обращаюсь за его помощью даже при наличии ансиса и массы прочих программ. Равно геом модуль хорош для подготовки геометрии к мешу, хотя он конечно слабоват по сравнению с коммерческими cad-ами или rhino в части построения модели.
например чтобы перекинуть план из dxf вам придется скачать программку gcad3d, открыть dxf в ней а потом сохранить в iges и только тогда можно открыть в salome
Напрямую у них поддержки dxf нет. можно попробовать вытянуть эту процедуру и скомпилировать в виде отдельной программы (или сделать надстройку к Salome) но даже в этом случае сложные, насыщенные разными мелкими деталями модели будет не так просто строить (и главное - менять по надобности). Параметризация в Salome как и в GMSH Только через командные файлы (и совсем немного через переменные в Notebook)
Хотя вы можете для построения модели освоить Компас3Д или любой другой классический CAD типа солидворкса. там такой домик как у вас в stl2 строится минут за 10-15 а меняется какой нибудь размер секунд за 10. Из классических кадов легко перегнать в Salome Mesher - например через формат STEP/IGS.
Вложения
Тип файла: zip 22.zip (6.92 Мб, 30 просмотров)
Тип файла: zip 33.zip (3.96 Мб, 25 просмотров)

Последний раз редактировалось ETCartman, 21.05.2016 в 05:33.
ETCartman вне форума  
 
Непрочитано 21.05.2016, 08:48
#26
DEM

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


ETCartman
Моя конечная цель в данных изысканиях.
Создание препроцессора и постпроцессора для СКАДа.
Как известно в СКАДе очень сложно работать с геометрией, есть конечно у него свой геометрический модуль, но после разбивки файл еще доводится до ума и уже не соответствует изначальному.. Каждый раз это какое то мучение по сдвижке стенок и редактированию контуров.
Ещё формирование отчетов, это вообще песня делать рутинную работу по сохранению файлов... И опять же как только что то чутка поменялось, надо заново повторять эти глупые действия. У меня это уже было автоматизированно с помощью AutoIT, но хочется решения с помощью «волшебной кнопки».
Собсно это основное, если это получится, то потом можно ставить новые задачи в этом направлении.
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Автор темы   Непрочитано 21.05.2016, 18:51
#27
ETCartman


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


Цитата:
Сообщение от DEM Посмотреть сообщение
ETCartman
Как известно в СКАДе очень сложно работать с геометрией, есть конечно у него свой геометрический модуль, но после разбивки файл еще доводится до ума и уже не соответствует изначальному.. Каждый раз это какое то мучение по сдвижке стенок и редактированию контуров..
Я могу помочь вам с изысканиями, то есть сразу скажу что геометрический модуль Salome тоже от мучений не избавляет, но через него удобно пропускать nurbs геометрию взятую из какого нибудь CAD-а, и в этом случае все ограничится как раз несколькими автоматическими операциями типа partition и назначением групп. и если вам надо что то поменять и ваша модель не полностью параметризована изначально - то там все это придется повторять каждый раз - корректировать группы например. Хотя при этом сетка разбивается автоматически. И если написать конвертер для скада, да такой что назначает каждой именованной группе заданные граничные условия (например давление 250 кг/м2 на все элементы группы perekrytiya), то можно одной кнопкой получать обновленную модель после коррекции.
А что избавляет? ANSYS Wb вроде бы специально спроектирован для этого и под влиянием Salome, но он не намного более удобен для больших сложных моделей. Solidworks имеет интерфейс к своему расчетому модулю (CosmosM) - там более полная интеграция с CAD, и все более удобно конечно же
посмотрите например APM winmachine
http://apmwm.com/
http://apm.ru/produkti/programmnie_k...l_Engineering/
узнайте есть ли там конвертер в скад и можно ли его дописать
что то похожее есть у autodesk тоже

Последний раз редактировалось ETCartman, 21.05.2016 в 19:18.
ETCartman вне форума  
 
Непрочитано 22.05.2016, 07:48
#28
DEM

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


ETCartman
В АПМ апи нету, и файлы расчетные у них весят не потребно много.
По части того что вы показали, что можно обрисовывать модель.
Это мне сразу не очень нравится, заниматься рутинной работой.
Уж лучше заставить программу сразу это делать.
Учитывая, что можно в Питоне для этого скрипты делать.
К тому же тем есть сразу все объекты для этого.
Я уже пытался такое делать на vb.net 1.5 года назад.
Читал файл msh и преобразовывал его в geo.
Удалял грани у которых 2 смежных элемента и получался контур.
В итоге я забросил это дело т.к. пошли калымы и т.д. да еще и СКАД 21й должен был выйти....
Сейчас понимаю, что надо было сразу использовать какое то специализированное приложение и в нем пытыться это сделать.
Буду по всей видимости ковырять либо Salome либо FreeCad.
Вроде как Salome предпочтительнее.
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Автор темы   Непрочитано 22.05.2016, 19:18
#29
ETCartman


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


Зато в APM и подобных ему программах есть геометрические модули на основе feature based параметризации, нагрузки и прочие исходные данные относятся не к номерам узлов и элементов сетки а к твердотельной модели (которую очень легко править и дорабатывать), а сетка разбивается автоматически и меняется как угодно по желанию (на нее никакие данные не завязаны, для пользователя это такая же автоматическая процедура как формирование матрицы жесткости и решение СЛАУ МКЭ). Например построить модель вроде 2.stl вами выложенную можно будет за время порядка 10 минут. При этом если вам надо добавить проемы (на всех этажах или на каждом) - вам понадобится еще 1 минута. А поменять какой нибудь существующий размер в плане - менее минуты. Нагрузки как были приложены куда то - так они там и останутся. А переразбивка сетки после внесенных изменений - полностью автоматическая и вашего труда и внимания не требует вообще.
За счет этого и происходит ускорение внесения изменений - вы просто можете вернуться назад, добавить или убавить что то, а все предыдущие действия будут воспроизведены автоматом.
А то что вы пытаетесь сделать - превратить сетку обратно в модель, все равно что из вареников сделать творог а из пельменей - обратно фарш. Даже при 100% работающей программе утрачивается совершенно все (нагрузки, жесткости и т.д.) и надо задавать по новой. То есть это путь совершенно тупиковый в принципе на мой взгляд и пустая трата времени пытаться добиться что то таким путем..
А не пустая трата времени (например с использованием Salome) - это реализовать интерфейс к SCAD на основе именованных групп, так как это сделано в связке Salome - Code_Aster
То есть модель и сетка у вас отдельно от нагрузок-жесткостей и всего прочего, которое хранится в командном файле .comm и записано там по принципу
Параметр=толщина оболочек --> группа элементов "Perekrytia All"-->значение 0,2 м
Параметр=нагрузка на перекрытие (давление) =>группа элементов "Perekrytia2"=>8 кПа
При таком подходе вы можете взять командный файл для какого то старого объекта, и использовать вместе с новой моделью совершенно другого здания в котором вам надо будет всего лишь сохранить те же самые имена для групп перекрытий, стен и прочего.
Вот если вы научитесь генерировать txt файл на основе синтеза сетки (в UNV формате) и командного файла (с заданием комбинаций нагрузок, данных для сейсмики и прочего, так что ничего потом добавлять и изменять не надо) - то считайте что вы создали полноценный интерфейс к SCADу-Лире, и более того вам просто будет расширить его на любую другую программу
Правда остается риск что пока вы будете заняты программированием - массы проектировщиков освоят для себя APM или ему подобные решения от autodesk и пр. и будут делать ту работу на которую вы тратите неделю за несколько часов, так что бесполезно будет с ними конкурировать.

Последний раз редактировалось ETCartman, 22.05.2016 в 19:37.
ETCartman вне форума  
 
Непрочитано 22.05.2016, 19:48
#30
DEM

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


Ну то что успеют освоить и т.д.
Это все фигня, Робот точно так же работает с сетками.
Но до сих пор модуль армирования так до ума и не довели.
Я отношусь к этому как к хобби, не догоню так согреюсь.
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Автор темы   Непрочитано 22.05.2016, 20:32
#31
ETCartman


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


вот примерная схема-иллюстрация к посту 29
PS Выходные форматы сетки у Salome - UNV (текстовый) и MED (бинарный)
Оба формата поддерживаются GMSH, так что если есть поддержка msh формата (для скада есть конвертер, а в Лире она вроде как даже официальная)
то можно через GMSH перегонять сетку полученную в Salome даже без каких либо доп программ и конвертеров
Миниатюры
Нажмите на изображение для увеличения
Название: scheme.png
Просмотров: 87
Размер:	102.6 Кб
ID:	170833  

Последний раз редактировалось ETCartman, 23.05.2016 в 17:18.
ETCartman вне форума  
 
Непрочитано 24.05.2016, 11:53
#32
DEM

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


ETCartman
В общем то я вроде разобрался с тем почему сложные элементы не преобразовываются в полигоны.
Надо импортировать в Salome отдельные плиты на одной отметке, стены тоже надо отдельно импортировать.
Импортировать только замкнутые элементы каждый элемент по отдельности.
Я предполагаю, что лучше всего создавать файл UNV из СКАДа.
Потом с помощью скрипта на пайтоне разбивать объект на отдельные элементы.
После этого каждый объект уже преобразовывать в полигон.
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Автор темы   Непрочитано 28.05.2016, 19:13
#33
ETCartman


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


Можно использовать формат DXF для переброски моделей (в этом случае стержни тоже перебрасываются)
Вот тут на видео показан примерный процесс
https://youtu.be/7oS-wwEdv6A
Программу gcad3d (для конвертации DXF -> STEP) выложил в dnl и тут дублирую
Отельные плиты и стены не нужно импортировать, в смысле их разделение и комбинирование можно осуществлять в Salome (посредством команд explode и build)
Проблема конечно, что в любом случае и при любом формате отдельные конечные элементы распознаются как поверхности. Приходится склеивать (sewing) их по отдельности, потом разбивать на оболочки, а потом комбинировать с теми линиями, которые считаются у вас как балки-колонны (не являются границами между конечными элементами).
Одной умной кнопки тут нет, хотя конечно можно попробовать написать макрос в Salome, которые некоторые умные функции по распознаванию и преобразованию объектов будет осуществлять.
Вложения
Тип файла: zip gCAD3D-2.32-win32.zip (9.25 Мб, 26 просмотров)

Последний раз редактировалось ETCartman, 28.05.2016 в 19:24.
ETCartman вне форума  
 
Непрочитано 28.05.2016, 22:20
#34
DEM

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


Отлично вот будет еще один способ.
Но все таки мне похоже придется на пайтоне под Salome по программировать.
И для будущего понадобится и проще экспорт по проще хочется сделать.
Спасибо большое за такой вариант.
У меня почему то с форматом step из автокада не получилось...
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Автор темы   Непрочитано 30.05.2016, 19:21
#35
ETCartman


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


В порядке продолжения попыток работы со SCAD
1. сетка в формате UNV открывается в GMSH, но группы не передаются.
2. сетка, сохраненная из Salome в формате MED (бинарном) в GMSH открывается (по крайней мере версии 2,7) и группы передаются (правда, коверкаются имена, добавляется префикс типа FAM)
То есть таким образом наверно можно передать сетку с группами в SCAD, если на сегодняшний день существует конвертер из формата msh с группами.

Если попробовать написать конвертер из UNV прямо в SCAD непосредственно (c группами, опциями и прочим)
Для программы CalculiX существует такой конвертер и она работает неплохо. Открытый код выкладываю (одну из версий). По крайней мере можно использовать ту часть, где он читает unv формат и просто поменять ту часть, где записывается в INP файл CalculiX
Как расширение данной идеи, можно сделать вообще полноценный интерфейс к SCAD - то есть передавать не просто сетку с группами, а сразу сопоставлять этим группам нагрузки (по загружениям), толщины плит, сечения и прочее. При этом конечно же нужен какой то дополнительный интерфейс, где все это указывается и задается (к именам групп), потому что в самом Salome нет непосредственного задания такого типа информации.
Также есть конвертер, написанный на пайтон (выкладываю) - первый файл как раз выполняет чтение UNV формата и разнесение данных по массивам. Второй написан применительно к caclulix же (может быть изменен для записи SCAD TXT)
Миниатюры
Нажмите на изображение для увеличения
Название: Screenshot from 2016-05-30 11:17:11.png
Просмотров: 74
Размер:	82.4 Кб
ID:	171334  Нажмите на изображение для увеличения
Название: Screenshot from 2016-05-30 11:22:45.png
Просмотров: 65
Размер:	97.2 Кб
ID:	171335  
Вложения
Тип файла: zip unical1.c.zip (9.7 Кб, 20 просмотров)
Тип файла: zip py_files.zip (4.2 Кб, 19 просмотров)

Последний раз редактировалось ETCartman, 30.05.2016 в 19:54.
ETCartman вне форума  
 
Непрочитано 30.05.2016, 21:48
#36
DEM

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


ETCartman
На самом деле, там большая проблема, придется средствами Пайтона делать обработку файла и создание суфрайсов.
Когда модель большая, Саломе виснет в глухую.
Я уже 2 библиотеки необходимых установил, на Саломе.
Думаю программная обработка файла пройдет намного быстрее.
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Автор темы   Непрочитано 30.05.2016, 22:25
#37
ETCartman


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


не все операции затратны по времени. можете ли вы например выложить модель dxf из скада? ту что 2.stl только в dxf. у меня скад лимитирован по числу элементов - поэтому я не могу создать большую модель
1 salome не виснет напрочь а просто продолжает обрабатывать. зависит от компьютера - на рабочем, например некоторые операции занимают полчаса (при свернутом окне) но тем не менее - они делаются. консольный режим просто позволит видеть ход выполнения.
2. в последнем видео склейка не занимает много времени. после нее можно разбить всю модель уже не на мелкие треугольники а на крупные плоские куски. после чего исходную просто можно скрыть и забыть о ней - работать с кусками.
ETCartman вне форума  
 
Непрочитано 31.05.2016, 10:52
#38
DEM

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


Смысл в том, чтобы отрисовывать геометрию в последнюю очередь в самой программе.
Преобразования объединения/пересечения sufrac-ов делать в питоне, а потом уже показывать это в Salome.
Ведь вы сами писали, что лучше обходится батниками, что это ускорит работу.
Сейчас установил несколько библиотек под Python(Salome), буду разбираться с преобразованиями.
Думаю на поиск подходящих библиотек, потрачу еще пару дней, чтобы потом уже реализовывать.
Просто у меня уже есть готовые решения, но боюсь, что они не оптимальны...
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Непрочитано 01.06.2016, 12:22
#39
DEM

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


Собсно остановился на том, что лучше все таки будет использовать не Salome, а не посредственно Python.
С помощью библиотек Python-а формировать файл iges.
Его уже потом, можно будет править хоть в автокаде...
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Непрочитано 04.03.2023, 15:37
#40
crossing


 
Регистрация: 19.07.2018
Сообщений: 3,083


Добрый ден.
Как выделить сетчатую ПОВЕРХНОСТЬ вращения для экспорта из Автокада в формат .stl? С 3D телами проблем не возникает.
Спасибо.

Уточню - поверхность в виде гранёного стакана. Не замкнутая
crossing вне форума  
 
Непрочитано 04.03.2023, 20:06
#41
vl25


 
Регистрация: 02.03.2023
Сообщений: 43


есть неплохой конвертер datakit Crossmanager, имеющий в своей базе широкий перечень форматов преобразования
довольно прост в использовании, может кому-то поможет
vl25 вне форума  
 
Непрочитано 05.03.2023, 09:25
#42
crossing


 
Регистрация: 19.07.2018
Сообщений: 3,083


vl25, вчера в теме нашёл идеальный для себя вариант - через КОМПАС 3D.
crossing вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Другие CAD системы > Перевод формата STL в твердотельную геометрию (Rhino, Salome и другие программы)

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

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


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