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

Программное создание STEP-файла со сплайном


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

Сейчас я занимаюсь программной генерацией stp-файлов содержащих набор сплайнов. Но к своему удивлению обнаружил что форматом step передаются только B-Spline-ы. Неделю копал документацию и интернет. Генерировать b-spline получается, но b-spline строится по узлам, а задача построить сплайн, проходящий через заданные точки. Нашел книгу Springer The NURBS Book вроде бы там есть алгоритм описывающий нахождение узлов b-spline по набору точек. Но он описан не достаточно подробно. И поэтому возник вопрос, быть может в формате step есть инструкции описывающие сплайн, проходящий через заданные точки.

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


UnPinned posts
18 минут назад, ETEMA сказал:

Но к своему удивлению обнаружил что форматом step передаются только B-Spline-ы.

Я вот прямо сейчас создал новый файл (в Крео, если имеет значение). Нарисовал в нем один сплайн. Сохранил в СТЕП. Открыл этот Степ - там этот сплайн.
СТЕП-файл прилагаю.

 

18 минут назад, ETEMA сказал:

Сейчас я занимаюсь программной генерацией stp-файлов содержащих набор сплайнов.

ЗАЧЕМ?

qethqej.stp

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

Да всё верно, файл генерируется. Но он использует описание сплайна по узлам B_SPLINE_CURVE_WITH_KNOTS. И найти узлы b-сплайна проходящего через заданные точки не является тривиальной задачей. И да такое действие я проделал уже много раз и в разных системах моделирования. Все системы при генерации stp используют именно B_SPLINE_CURVE_WITH_KNOTS. Хотя в спецификации step существует такие инструкции как b_spline_curve. Но почему-то не получается создать рабочий файл.

1 час назад, Ветерок сказал:

Я вот прямо сейчас создал новый файл (в Крео, если имеет значение). Нарисовал в нем один сплайн. Сохранил в СТЕП. Открыл этот Степ - там этот сплайн.
СТЕП-файл прилагаю.

 

ЗАЧЕМ?

qethqej.stp 5 \u041a\u0431 · 0 скачиваний

Конечная цель - большая красная кнопка). Текущая задача - автоматизированное построение поверхности на основании расчетов в программном модуле.

Ссылка на сообщение
Поделиться на других сайтах
19 минут назад, ETEMA сказал:

Текущая задача - автоматизированное построение поверхности на основании расчетов в программном модуле.

По-моему, вы пытаетесь решить задачу "в лоб".

Что является результатом расчета?

В каком софте будет использоваться (или строиться) полученная поверхность?

 

Может быть, озадачиться не построением сплайнов или точек, а построением сразу рассчитанной поверхности?

 

Более того, иногда имеет очень существенное значение - даже принципиальное значение - метод построения поверхности. Если это кинематически изменяемое по определенному закону сечение, то достаточно описания этой кривой и закона её изменения.

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

Но многие автоматизаторы не понимают таких элементарных вещей. Просто потому что они думают совсем о другом.

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

результат расчета - набор точек, через которую должна проходить поверхность. Ну или хотя бы сплайн.

Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, ETEMA сказал:

результат расчета - набор точек, через которую должна проходить поверхность

Жуть, конечно, но, если так хочется, то стройте стразу поверхность через эти точки. Без всяких сплайнов. Разберитесь как это построить без участия человека.

 

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

Ссылка на сообщение
Поделиться на других сайтах
18 минут назад, ETEMA сказал:

результат расчета - набор точек

Раньше я говорил, что надо разобраться в методе. Откуда взялись эти точки. Скорее всего, их координаты взяты с вычисленного сечения. И надо разобраться что лежит в основе того сечения - произвольная кривулина, или вполне конкретная линия типа параболы, дуги или даже прямой. Тогда воссоздание таких сечений станет элементарной задачей.

А если выяснится, что и метод построения поверхности достаточно простой (типа поверхности вращения), то всё станет ещё на порядок проще.

 

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

 

Какого рода поверхности? Лопатки турбин? Крыло самолета?

 

И ещё. Задание поверхности по набору точек - это тянется со времен кульмана. Когда только огромной таблицей с координатами точек можно было описать форму поверхности.

Сейчас, если поверхность "рассчитана", значит есть математическое описание этой поверхности. И лучше всего получить воплощение этой поверхности, используя именно это исходное математическое описание, а не таблицу с точкам, как сто лет назад.

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

Сложная кривая произвольной формы или "произвольная кривулина" . Можно сказать в общем виде.

И еще раз: по узлам сплайн получается строить, но он проходит только через первую и последнюю точки, а необходимо чтобы походил через все заданные. Поэтому и обратился на форум. Здесь должны быть люди, которые со step-ом на ты. И смогли бы мне подсказать куда копать. А так-то да - сейчас копаю во всех направлениях и построение поверхностей, и рассматриваю другие форматы обмена данных. Но пока дальше всего в stp продвинулся.

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

@ETEMA т.е. ты пишешь свой интерпретатор облака точек в поверхность?

Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, ETEMA сказал:

по узлам сплайн получается строить

Ну так надо чтобы в той мученической таблице были координаты узлов, а не самих точек. Ведь есть математическое описание поверхности. Пусть его преобразуют в узлы, а не в точки.

Но выше я добавил абзац.

Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, maxx2000 сказал:

@ETEMA т.е. ты пишешь свой интерпретатор облака точек в поверхность?

Да, всё верно

Согласен. Это было одной из первых мыслей. И в теме я про это написал. Сложный алгоритм какой-то. Вот думаю может проще можно сделать.

всё в одну кучу написал. Ну вы поняли..)

Ссылка на сообщение
Поделиться на других сайтах
4 минуты назад, ETEMA сказал:

Сложный алгоритм какой-то.

Так ведь и поверхности сложные. Или простые, типа конуса?

Ссылка на сообщение
Поделиться на других сайтах
7 минут назад, ETEMA сказал:

сложная крученая аэродинамическая поверхность с постоянно меняющимся профилем

Думается, Туполв, Сухой и прочие уже давно решили эту задачу. Ещё на ЭВМ с перфокартами. Причем, даже с учетом деформации крыла в воздухе.

 

Разжую ещё. Даже если по сечениям. Каждое сечение лучше строить не по точкам, а по уравнению. Ведь можно получить уравнение каждого сечения.

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

Согласен. Это было одной из первых мыслей. И в теме я про это написал. Сложный алгоритм какой-то. Вот думаю может проще можно сделать.

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

 

Думается, что алгоритмы преореобразования облака точек в поверхности ещё не достигло нужных высот, что бы программа сама всё делала хорошо, обычно САПР предлагают такой вариант взаимодействия с участием человека:

Overview_Flowchart.gif

https://help.solidworks.com/2023/russian/solidworks/scanto3d/c_scanto3d_overview.htm

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

Стандарт STEP 203 -  он же -

ISO 10303-203:2011

Industrial automation systems and integration — Product data representation and exchange — Part 203: Application protocol: Configuration controlled 3D design of mechanical parts and assemblies

на сайте ISO.org - https://www.iso.org/standard/44305.html  имхо далее в - магазин там же за швейц франки (STORE) 

-----

Российский стандарт - ГОСТ Р ИСО 10303-203-2003

Скачать - https://files.stroyinf.ru/Data2/1/4294814/4294814830.pdf

+ на сайте фонда https://docs.cntd.ru/document/1200034272 - в виде текста и таблицы, более читабельно 

-----

+ сопутствующий 242-й

ISO 10303-242:2020

Industrial automation systems and integration — Product data representation and exchange — Part 242: Application protocol: Managed model-based 3D engineering

на сайте ISO.org - https://www.iso.org/standard/66654.html    +магазин

------

Российский стандарт - ГОСТ Р ИСО 10303-242-2019 

Скачать - https://files.stroyinf.ru/Data2/1/4294814/4294814830.pdf

===

Скрытый текст

IGES-ом интересуетесь ? Есть 5.3 и 6?? 

:dirol:

 

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

Спасибо. Да, построение поверхности по облаку точек в cad  системе - это уже пройденный этап. Хочется же чтобы Большая Красная Кнопка была.) 

Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, ETEMA сказал:

Да, построение поверхности по облаку точек в cad  системе - это уже пройденный этап. Хочется же чтобы Большая Красная Кнопка была.) 

Ну тогда осталось дело за малым и просто СОЗДАТЬ СВОЙ САПР, который будет в том числе создавать STEP файлы из рассчитанной математической модели.

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • EnKlL
      Станок Samsung Pl1600m, такарно-фрезерный, проблема с револьверной головой выдаёт ошибку "EX22831 SERVO TURRET AMP ALARM!" что это такое и что с ней делать? Невозможно сменить инструмент, не в ручную, не через MDA
    • Eng.Destructor
      Сделал так: Добавил новый формат fs2 25 0 4 0 3t #No decimal, absolute, 3 поменял  result = newfs (25, thddepth$) # изменил 16 на 25 result = newfs (25, thdfirst$) # изменил 16 на 25 result = newfs (25, thdlast$) # изменил 16 на 25 result = newfs (25, thdfinish$) # изменил 16 на 25 Спасибо за наводку
    • arsenev
    • teqn1c
      Есть динозавр stratos plus на io mb -  В нем всего 256 КБ памяти  есть ли возможность через режим rtm подгружать программу с ПК через rs 232 ? В шкафу ещё есть разъем под карту но с нее получается только считать и опять таки сохранить на память станка. Соединение ПК-станок настроил ,есть возможность отправлять на него через альфакам программы ,но они сохраняются в память станка. В альфакам есть непрерывная отправка - она отправляет - но в режиме rtm ничего не происходит 
    • Metal_Cutter
      @arsenev В FC такого нет.
    • Bot
      HCL CAMWorks 2024, новая версия программного обеспечения CAM, полностью интегрированного с SOLIDWORKS и Solid Edge включает в себя передовые технологии, позволяющие сократить время программирования, уменьшить время цикла обработки и увеличить срок службы инструмента. Смотреть полностью
    • Александр1979
      Руководство для дусь взял здесь: https://www.cnczone.com/forums/daewoo-doosan/413426-every-doosan-service-manual-currently-auto-updated.html
    • ss_162
      Может есть у кого оригинальные резцы на продажу? Нужен резец SFCC 50 - это маркировка D`Andrea, или Искаровский, он такой же, только маркировка у него другая.
    • Aveovar
      Подскажи, как ты сделал несколько экранов с разных ракурсов
    • Kaktusito
      Всем доброго времени суток! Только начал заниматься редактированием постпроцессоров и сразу же столкнулся с проблемой. Суть в том что я нашел по форумам постпроцессоры с SolidCAM 2015 года, ибо у меня в версии 2022 года их почти нет, а мне нужен был более менее адекватный пост под токарку.  Закинул все файлы Gpptool 2015 года в свою папку, выбрал подходящий мне станок и начал генерировать УП.  Как вы поняли ничего мне не сгенерировало. Пишет ошибку "please change the name "Bore" in the VMID. This name is reserved for use in the GPP"  Сделал то что просит ошибка и был уверен что это не поможет, так оно и вышло. По итогу начало долбить другие ошибки. Очень еще не понятно с файлами которые я кидал в папку Gpptool потому что вместо стандартных двух у меня их аж 4 штуки.: gpp с циклами, gpp обычный, PRP и vmid. Хотя я знаю что в версиях вроде после 2017 уже идет по 2 файла. Что я только не пробовал кидал только 2 файла, кидал все 4, кидал содержимое файла с циклами в основной gpp, шёл по пути ошибок и исправлял что меня просили. В общем ничего не помогает  От безисходности пишу сюда, вы моя последняя надежда понять что происходит и почему ничего не работает. Заранее благодарю за ответы!
×
×
  • Создать...