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

Получить уравнение поверхности по 3D модели поверхности


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

Добрый день.

 

Есть ли возможность построить поверхность в CAD системе (например в NX) и получить математическую функцию, которая ее описывает?

 

Если судить по аналогии с 2d графиками, то можно построить многочлен, который будет описывать эту кривую. Соотвественно я думаю есть возможность сделать это и для многомерного случая.

 

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


Наставить точек, сделать аппроксимацию.

Если судить по аналогии с 2d графиками, то можно построить многочлен, который будет описывать эту кривую.

С какой-то точностью...

 

Ради чего вся затея?

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

это будет либо функция, которая задается алгоритмически (неявно)

либо система уравнений, количество которых равно n-1 узловых точек тем более в трех координатах

 

что-то типа такого https://www.ram.ewi.utwente.nl/aigaion/attachments/single/190

 

но как вы собираетесь получить исходную регулярную сетку для интерполяци??? 

треугольники в виде stl-формат не прокатят

 

если это просто лоскут поверхности, то еще можно что-то попытаться

а если сложнее -- то трудоемкость задачки резко возрастает

 

 

еще как вариант -- не восстанавливать исходную поверхность,

а попробовать прочитать их из файлов (типа stp, sat,...)

 

тут с периодичностью в месяц задаются вопросы по поводу форматов этих файлов

возможно у кого-то есть готовые скрипты

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

https://reference.wolfram.com/language/ref/Fit.htmlможно попробовать поподбирать из некоторого множества функций... :)

https://reference.wolfram.com/language/ref/NonlinearModelFit.html

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

Добрый день.

 

Есть ли возможность построить поверхность в CAD системе (например в NX) и получить математическую функцию, которая ее описывает?

 

Запишите в нейтральный формат (STEP) и посмотрите глазом на геометрическую подложку граней. STEP -- очень читабельный формат, Вы без труда обнаружите там все базовые типы поверхностей (плоскости, цилиндры, сферы, конусы и торы). С поверхностями свободной формы дело немного тоньше. Так, в файле STEP Вы можете найти B-поверхность (NURBS), но это еще не значит, что в оригинальной САПР данная поверхность формировалась именно как сплайн. В случае с CAD-ами на ядре Parasolid это может быть процедурно заданная поверхность типа rolling ball blend, напимер. Процедурные поверхности аппроксимируются для записи в нейтральные форматы, поэтому изначальная форма их задания останется нам неизвестной.

 

Если нет желания просматривать STEP-файлы вручную, загрузите их в консоли OpenCascade (open source геометрическое ядро) и проинспектируйте средствами этой библиотеки. Для себя я писал небольшое приложение, которое читает нейтральные форматы и позволяет интерактивно узнать тип поверхности для любой грани. Если есть нужда, могу поделиться.

Ссылка на сообщение
Поделиться на других сайтах
  • 5 недель спустя...
Для себя я писал небольшое приложение, которое читает нейтральные форматы и позволяет интерактивно узнать тип поверхности для любой грани.

 

На днях реанимировал это небольшое приложение. Можете скачать его отсюда: http://quaoar.su/files/asitus/asitus-0.1.0.exe

Кликаете грань (или ребро), и приложение показывает поверхность (кривую), ее тип и ребра в пространстве криволинейных координат. Умеет читать формат STEP.

 

asitus0.1.0.png

 

Приложение поддерживаю в основном для отладки геометрических алгоритмов.
 

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

Если кто-то заинтересовался, указанное приложение оформлено в виде open source проекта здесь: https://bitbucket.org/Quaoar/analysissitus/overview

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

@Quaoar Здравствуйте! Очень заинтересовала Ваша, работа, можете поделиться еще раз, ежели это возможно конечно?

Спасибо!

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

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

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • gudstartup
      @karlf 530 считывает ключ по специальному протоколу при помощи plc и получает его серийный номер а из него определяет возможные режимы доступа. там нет драйвера а есть plc модуль или несколько эти модули написаны на питоне  надпись smartkey исчезает с экрана при запуске чпу??
    • ДОБРЯК
      Для того, чтобы получить правильные высшие) формы при виртуальном эксперименте, нужно сделать грамотную КЭ модель. От разговора на эту тему вы постоянно уклоняетесь.  То нет компьютера под рукой, сделать простейший тест, то теряете интерес. :=) Сходимости энергии деформации при расчетах статики, недостаточно для точного определения высших собственных форм и частот.  Для того, чтобы грамотно использовать метод конечных элементов, нужно сделать много-много тестов в статике, динамике и ... Одной кнопки и двух конечных элементов в 3Д программе недостаточно для определения высших собственных форм...  У вас в качестве инструмента всего два конечных элемента, шести узловая несовместная оболочка Тимошенко и десяти узловой тетраэдр. И еще контакты при решении задачи на собственные числа. Вам ли говорить про правильность определения высших собственных форм для сложных изделий... :=)    
    • vad0000
      Покажите схему с разрешением на движение
    • vad0000
      Вход, а не выход Вытащить Аналоговый вход и все, как будто туда ничего не подключено И если мы подключим сигнал к энкодеру оси Х, то он стнтет одинаковый с аналоговым входом, который не подключен?
    • Snake 60
      @waze4534  Посмотрите вверх и прочитайте текст на красной полоске...
    • kkk
      Я так понимаю, что предупреждение про "касательные" не просто так выскакивает. Если скруглить прямую стыковку отрезков эскиза (минимальным радиусом) то все работает даже без объединенной кривой, достаточно эскиза.
    • karlf
      Подскажите пожалуйста, может кто сталкивался. Станок DMU-50 на стойке TNC 530, перестал определяться ключ доступа. Сам ключ вроде работает, если переключать на нём режимы, то в шкафу на соответствующих блоках лампочки тоже переключаются. Но изначально был уровень доступа 4, а теперь уровни доступа не активны. Ключ только один, запасных нет. Есть какой-то старый бэкап, пробовал его накатить, но какой-то он непонятный - станок грузится, но почти в конце загрузки выдаёт какую-то ошибку по параметрам. Может кто знает в каком из разделов и в какой папке искать установленные драйверы ключа?
    • YuriySt54
      В данной конструкции можно сразу одним телом делать и обрезать. Но меня интересовало, можно ли сразу при построении массива ограничить лишнее.
    • Ветерок
      Сделать основание одним телом, массив другим телом. Тело массива обрезать как надо, потом объединить тела.
    • YuriySt54
      Можно ли при построении массива лишнее отсечь, как к примеру отсечено по длинной стороне. Делал начальный элемент бобышкой по траектории с выбранной функцией "выровнять с торцевыми поверхностями". Можно ли так сделать при построении массива? Или отдельно потом обрезать лишнее только?
×
×
  • Создать...