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

Снова про импорт 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 пользователей

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




  • Сообщения

    • vad0000
      Если Вы курсор поставите на OUTPUT 0, и колесом начнёте увеличивать напряжение на аналоговом выходе, то ось Х поедет, или нет? Сфоткайте машинные параметры для оси Х
    • lexa345
      Если фрезерный, то спросите у @andrev  возможно поделиться   
    • Bot
      Семинары «BIM-Практикум 2024» пройдут весной и летом этого года в четырнадцати городах в России и Беларуси. На мероприятии представители строительной отрасли расскажут об опыте применения технологии информационного моделирования в регионе. Российские разработчики представят новые возможности цифровых решений для проектирования и управления строительством. У участников будет возможность обменяться мнением и опытом, проконсультироваться с экспертами отрасли и установить полезные контакты. Зачем Сегодня на развитие строительной отрасли влияют как внутренние факторы, включая небольшой опыт ведения проектов с использованием технологии информационного моделирования, недостаток квалифицированных специалистов, высокую стоимость ошибок, так и внешние обстоятельства: новые государственные требования, риски, связанные с информационной безопасностью, и уход западных вендоров. Участники семинара узнают, как справиться с этими вызовами, в том числе на примере компаний, которые [...] View the full article
    • MOPKOBKA555
      А есть ли возможность в cnckad разделить программу на части? Например сразу обрабатываем 9-ю инструментами, а с новой программы еще недостающими?
    • coolparty
      Привет. Задача - расположить массив отверстий по кривой. Сделал модель из нескольких кривых, не понимаю, как их объединить в одну, пробовал сделать через "объединенная кривая", но при выборе ее в качестве пути, все равно выбирается по сегментно. Всю голову уже сломал.  
    • Bot
      3 и 4 апреля в Екатеринбурге и Челябинске состоялась конференция «Российский программный комплекс T-FLEX PLM: современные методы и подходы к проектированию изделий», организатором которой выступила компания «Топ Системы». Во время мероприятия представители компании «Топ Системы» — генеральный директор Сергей Кураксин и заместитель генерального директора по развитию PLM-технологий Игорь Кочан — представили текущие итоги реализации проектов у заказчиков из различных отраслей машиностроения, поделились перспективами развития программного комплекса T-FLEX PLM, продемонстрировали функциональные возможности перспективных разработок САПР T-FLEX CAD и платформы T-FLEX DOCs по управлению данными и жизненным циклом изделия. В Челябинске вызвал живой интерес доклад Романа Ткачука, начальника отдела САПР, АЗ УРАЛ, во время которого представитель заказчика рассказал о проектном опыте перехода с иностранных систем на комплекс T-FLEX PLM. Цель проекта заключалась в переводе [...] View the full article
    • roiman
      Не одно и тоже, нет?     Не одно и тоже, нет?   Я про это и писал, что вместо того, чтобы решать реальную производственную задачу, мы занимаемся словесной казуистикой. Задача не поставлена, но решение её требуется. А может и не требуется. Начальник сказал попробовать спросить. А может что-то другое. Ценится только своё время, а не чужое...   Ещё раз. Если сложить пазл из данных статьи и вашу картинку, то профиль не может никак участвовать в уравнениях. У вас идёт контакт зуба с роликом цепи. И их положение относительно друг друга не меняется в зависимости от угла поворота "кулачка". И всё натяжение цепи передаётся на пантограф через этот контакт зуба с роликом. Задача профиля - обеспечить натяжение цепи.   Но это, опять же догадки. Потому что непонятно, что это за 2-а других отверстия. Может там не просто поворот этого "кулачка", а его плоское движение.     P.S. Вы зря удалили статью. Я никакого отношение не имею ни к УКВЗ, ни ПК ТС. Опасаться нечего.
    • Александр1979
      На первый взгляд параметры конфигурации осей B, C корректные. У вас станочный ноль осей X, Y находится по центру поворотной оси C?
    • lem_on
    • gudstartup
      какая величина отклонения при развороте плоскости оси b ? кинематику станка проверяли прямолинейность перпендикулярность осей xyz точность поворота осей b и с? 
×
×
  • Создать...