Перейти к публикации

Снова про импорт STL (OBJ) в NX..


Ug_user

Рекомендованные сообщения

В 100500-й раз про эту тему.  Может быть чуть-чуть новый подход к решению этой задачки, может быть - кому-то это будет интересным и полезным.
 
STL - сеточный файл, в котором вся геометрия объекта описана в виде последовательности треугольничков и нормалей этих треугольничков. Попытка решить задачу конвертации в лоб, передавая описание этих треугольничков в STEP, IGES - обречена на провал. Может быть даже будет создан выходной файл, но при импорте этого файла в NX (да и в любую другую систему) - будет клинч.
Понятное дело, если треугольничков в исходном файле не больше десятка - это вполне решаемая задачка. Интерес представляют STL-файлы из 100 000 и более элементов.
 
Меня эта тема давно свербила, прежде всего из-за необходимости обрабатывать STL-модели (результаты сканирования, медицинские изделия после томографа и т.п.) на станке с применением многоосевой обработки. Лет 10 назад была написана User Defined стратегия NX для обработки в 5-ти осях, пользуюсь ей до сих пор.
 
Но вот задачка затащить большой STL в NX в виде Solid body или Sheet body - как-то в фоновом режиме не отпускала.
Не так давно написал DLL для тупого построения каждого треугольничка в виде Bounded PLane c последующим Sew в твердое тело. Импорт начинается ОООЧЕНЬ резво, но после примерно 1000-2000 треугольничков скорость построения падает до черепашьей, и замедляется с каждым новым треугольником. Дело в том, что после построения любого нового элемента NX делает update всему дереву построения, и чем раскидистей это дерево - тем медленнее он это делает.
Для небольших файликов это прокатывало, ряд моделей станочков для CSE-симуляции я выдрал с реальных станков и импортировал в NX, но всегда ж хочется большего...
 
Пришла идея писать все треугольнички сразу в базу Parasolid (BREP). В конце концов - живет же в NX сеточная модель, нормально вертится-крутится...
Сделал очередную DLL.
В качестве подопытного кролика выбрал вот этого греческого воина:

post-8361-0-21594500-1475837973_thumb.jpg

189286 треугольничков.

Когда я подсунул этого воина на импорт - он закачался на пару минут(!), нужно сказать - я отключил отображение элементов, отключил update. Соответственно - в дереве ничего нет. Делаю команду FIT - ничего.. А вот когда нажал кнопочку Save - тут началось самое интересное - вылетело сообщение даже не NX, к сожалению - я его не сохранил, сообщение от OpenGL о том, что требуемый набор геометрических примитивов не может быть разом выведен на экран!!

Перегруз. Тогда я сделал следующее - пересортировал треугольнички в STL так, чтобы каждый следующий имел с одним из предыдущих общее ребро.
Сделал последовательную закачку по 10000 треугольничков, с последующим объединением в sheet body, и так - до конца файла.

NX поскрипел пару часов - но сделал!
Вот результат.
post-8361-0-96462600-1475837686_thumb.jpg

Пока это Sheet Body - "донышка" в исходной модели не было, я его добавил средствами NX и склеил все в Solid Body.

 

NX великолепно работает с этой моделью, размер файла 200 МБ. (Размер сеточного файла был 54 Мб).

 

Как-то так...

Ссылка на сообщение
Поделиться на других сайтах


@@Ug_user, а обработку не попробовал запускать? Ну пусть будет до фрезы ф1 :smile:  

Ссылка на сообщение
Поделиться на других сайтах

А плавность поверхностей при обработке сохраняется? Тот же шлем, например? Или тупо обрабатывает каждую плоскость как плоскость?

Ссылка на сообщение
Поделиться на других сайтах

тоже как то пробовал плоскостями строить.
Прога отработала неделю и так все не обработала, я ее вырубил. деталь была не очень сложная но с большим количеством скруглений.
Также вначале резво а потом скорость падает
 

Ссылка на сообщение
Поделиться на других сайтах
Нормально работает. На реальном станке покажу.
Ух ты... 
Ссылка на сообщение
Поделиться на других сайтах

NX поскрипел пару часов - но сделал!

Не более чем "совет/размышление по поводу" уважаемому Ug_user.

Я думаю, что можно эти два часа значительно сократить ...

Есть подозрение, что львиную долю из этих 2-х часов времени,

уходило на отрисовку геометрии на экране ...

построили новый треугольничек - перерисовка и т.д. и т.п.

Если строить на невидимом слое д.б. значительно быстрее ...

Или перед построением задать очень маленький масштаб изображения ...

Ссылка на сообщение
Поделиться на других сайтах

Спасибо за совет, но - перед построением я НАМЕРТВО заморозил любую отрисовку в графическом окне, и в дереве примитивов. После импорта - ни на экране, ни в дереве - НИЧЕГО. Но вот при нажатии кнопочки Save треугольники частично материализуются (они есть в дереве проекта, НЕ ПОГАШЕНЫ), но на экране их нет.

И вот только после закрытия файла и открытия его вновь они "оживают". Я пока не до конца в этом разобрался - разберусь!


Про плавность. Обработает каждую плоскость как плоскость. Другой информации о геометрии у NX нет...

Ссылка на сообщение
Поделиться на других сайтах

точно такой же подход можно использовать в rhino | grasshopper

там втягивается stl и для каждого треугольника выполняется операция выталкивания

в конце попарно для каждой призмы булево сложение 

 

если интересно,  могу подогнать исходники

делали модель мультяшного "фиксика"

 

треугольников было несколько тысяч (сейчас уже не помню, но точно меньше 10 000)

grasshopper считал менее 10 минут (+ ноут был слабый),

но солидворкс потом скушал твердое тело без проблем и ошибок

Ссылка на сообщение
Поделиться на других сайтах
Обработает каждую плоскость как плоскость.

"После станка доработать напильником."

Ссылка на сообщение
Поделиться на других сайтах

Похожую тему отправил на форум SIEMENS. Мне там отвечают: "Классная работа! Только ты ужаснешься, когда узнаешь, что в NX11.0.1 все это будет штатно!"... Технология Convergent Modeling. Правда, честно говорят, что для обработки в 5-осях эти Convergent Models пока не пригодны. Поживем - увидим!

Ссылка на сообщение
Поделиться на других сайтах
Convergent Modeling.

 

Ого, а я как-то просмотрел мимо этого видео. Очень интересная штука получается.

 

 

Ссылка на сообщение
Поделиться на других сайтах
Перегруз. Тогда я сделал следующее - пересортировал треугольнички в STL так, чтобы каждый следующий имел с одним из предыдущих общее ребро.

 

Посмотрел описание формата STL.

Стало интересно.

А время сортировки треугольников в Вашем алгоритме в зависимости от количества треугольников линейное?

Изменено пользователем Ленивый
Ссылка на сообщение
Поделиться на других сайтах

Я маленько схитрил. Из STL выбросил в OBJ, он выводит уже связанные треугольники. Но - вершинами.

Ссылка на сообщение
Поделиться на других сайтах
  • 3 недели спустя...

Прикольная тема - бородатых STL дядек в NX втрамбовывать.

Тоже рискнул 300К осилить

0_d888c_2b5698f0_S.png

 

0_d888d_f8971268_S.png

 

0_d888e_bed478b2_S.png

Ссылка на сообщение
Поделиться на других сайтах
А кромсать можно ?

GS, так с чего и началось-то? Почитай самый конец топика

и склеил все в Solid Body.
  Изменено пользователем Bully
Ссылка на сообщение
Поделиться на других сайтах

Body(1), из сообщения #16...а что в нем ....теперь буду знать, Спасибо !  

Изменено пользователем GS
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.



  • Сообщения

    • Snake 60
      Скорее всего исправляли в конкретной сборке, для конкретных тел. Насколько я помню, надо в самом эскизе профиля заполнить свойство Description
    • Snake 60
      Делаете дырку в свае - вставляете в нее трубу и 2 человеко-силы крутят сваю ) Дёшево и сердито и не нужен никакой планетарный редуктор ))
    • gudstartup
      вы всегда ищите свой путь или будете делать то что вам советуют? с самого начала прежде чем приступать к экспериментам вам нужно было вынуть носитель и сделать образ. diskcopy делает копию гибкого диска на другой а вам надо сделать образ жесткого диска или карты памяти. делайте как советует @Viktor2004 иначе еще чего нибудь сломаете или вам станок не нужен и вы его приобрели для экспериментов ? вот а печатной машинке из прошлого нельзя а вот на синумерике можно - удивительные вещи в настоящем происходят!! на 100 % уверен что там не модуль а либо писимиси ай либо жд @mircomax81 хотите работать в дос почитайте помощь по командам 
    • PuKoLLleT
      Доброго дня всем. Поделитесь опытом,раньше такое не доводилось делать. На торце фланца нужно сделать  восемь отверстий ф17H7 на токарно-фрезерном станке с осью Y ,имеется ManualGuide.В моем понимании нужно просверлить,а затем торцевой фрезой расточить нужный диаметр.Получится такой фокус,или надо разверткой доводить нужный размер?  Стойка Fanuc 0i-Tf.
    • Snake 60
      Всё верно, я даже русификатор делал для него (ушло на это где-то около года). Хороший софт был, я всех знакомых на него подсадил в свое время :) У меня даже где-то образ на виртуалке лежит с SW2014+MechSoft, Жаль, что автодеск его поглотил, а не DS :( А по сути вопроса, проектировал двухступенчатый планетарный редуктор в свое время. Что было нужно: Справочник по планетаркам (автора не помню, если надо поищу), из софта MathCAD + GearTeq (софтина идет вместе с GearTrax, только рассчитывает и моделирует несколько зацеплений согласно выбранной схеме, в том числе планетарки) Ой и ошибаетесь. Звездочки - не равно зубчатые колеса в планетарке) Мы намучились с малой точностью изготовления на эл.эрозии, а Вы лазером ))) Был собран опытный образец редуктора с незакаленными деталями, чисто проверить геометрию, отладить сборку. Так потом начальство этот редуктор сказало испытать в бою, как я не противился)) Помер за пару дней интенсивных нагрузок ))) Материал, термообработка и точности изготовления решают )
    • Snake 60
      @Тихоход  Ещё один вариант - изучать программирование и писать свою программу/макрос. Вот пример конфигуратора двери: https://www.youtube.com/watch?v=wv4HryWQBSk
    • mircomax81
      Посредством Diskcopy можно сделать адекватную копию на флоппи диск?
    • Andrey_kzn
      Да, ведь советовали автору вытащить жёсткий диск и сделать образ. Неужели самому не интересно, как устроен этот старый промкомпьютер? Там может стоять как жёсткий диск, так и CF-карта, или же Disc-on-chip или Disc-on-module.  Как-то очень давно, на подобном промышленном оборудовании (большая печатная машина) я не смог перенести  ПО с родной CF - карты на другую, такого же размера но другой фирмы. Была также станочная оболочка под досом.  Образ я делал Нортон гостом, развернул его на другую CF-карту без проблем. Машина загрузилась нормально и работала ровно 2 дня, на неродной CF-карте,  потом зависла, и отказалась загружаться. Пришлось вызывать сервисника. От него мы узнали, что нельзя просто так взять и заменить карту  - носитель системного ПО, на другую. А полезли мы туда, так как руководство захотело печатать отчёты по работе машины. В станочном ПО такая функция была. Вот только принтер надо было купить у фирмы - производителя этой самой машины. В попытках заставить работать другой принтер мы редактировали файл  AUTOEXEС.BAT, на предмет загрузки драйвера принтера, ничего не получилось, зато перестали открываться некоторые страницы станочного ПО.  Образ у нас был давно снят, и мы развернули его на другую карту памяти. Родную карту я трогать не стал (как чувствовал, что нельзя ). Сервисник восстановил ПО с архивной дискеты на родную карту памяти, и всё заработало. Дискеты с архивами ПО шли вместе с документацией к машине.  Там были дискеты с Досом, станочной оболочкой, параметрами приводов, программой ПЛК. Он же и предупредил нас о предельно аккуратном обращении с родной картой памяти, и посоветовал немедленно сделать образы с архивных дискет, что мы сразу и проделали.. Вот такой сюрприз от машины эпохи Дос.
    • Борман
    • gudstartup
      а ведь все работало...
×
×
  • Создать...