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

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

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




  • Сообщения

    • maxx2000
      Причина того - Кроилово. Кроилово всегда приводит к попадалову. Месяц простоял сколько мильонов деревянных потеряли? Вопрос риторический. И ещё будет стоять. Как памятник человеческой глупости и жадности.
    • AlexKaz
      "9 июля 1968 года на мышах был проведен самый знаменитый эксперимент американского ученого-этолога Джона Кэлхуна «Вселенная-25». Суть опыта заключалась в создании идеальных условий, где мыши могли бы жить и размножаться, не ведая никаких забот, вдали от хищников и в отсутствие эпидемий и заболеваний. Для этих целей ученый построил специальный загон, куда были помещены четыре пары белых мышей (самцов и самок). В распоряжении мышей всегда была чистая вода и еда в изобилии, специальные гнезда, где можно обустроить себе жилище ― гнезд в загоне хватало для проживания нескольких тысяч мышей. Температура в загоне в среднем составляла около 20 ℃ и была комфортной для мышей. Животные не подвергались никаким влияниям извне и жили в идеальных условиях в свое удовольствие. А дальше началось самое интересное. На первом этапе эксперимента мыши хорошо размножались, вели активный образ жизни, охотно играли. На следующей фазе эксперимента мыши стали есть меньше, перестали наедаться до отвала. На третьей фазе эксперимента, когда в загоне были уже сотни мышей, произошло распределение социальных ролей, стала ярко выраженной иерархия, клановость. Появились так называемые отверженные ― молодые особи, которых другие, взрослые мыши сгоняли в центр загона, не давали им вести нормальный образ жизни, причиняли физический вред. В природе такое, наверное, было бы невозможно, ведь эти мыши-агрессоры просто не дожили бы до старости: их бы съели хищники. Но в загоне Кэлхуна хищников не было, и взрослые мыши начали попросту издеваться над молодняком. Образовались две большие группировки: самцы-одиночки и самки-одиночки. При этом самки-одиночки отказывались спариваться <с менее статусными многочисленными молодыми самцами и с оставшимися старыми статусными> и отвергали ухаживания самцов. У мышей стал проявляться тотальный индивидуализм, мыши не стремились создать семью. На последней, четвертой стадии мышиная популяция стала сокращаться. Появились самцы, которых сам Кэлхун назвал «красивыми» (англ. beautiful ones), из-за отсутствия ран и рубцов. <В оригинале: They never engaged in sexual approaches toward females, and they never engaged in fighting, and so they had no wound or scar tissue. Thus their pelage remained in excellent condition. - Дословный перевод: Они никогда не прибегали к сексуальным подходам к самкам, и они никогда не участвовали в боях, и поэтому у них не было ран или рубцовой ткани. Таким образом, их шерсть сохранилась в отличном состоянии.> Эти мыши не вступали в борьбу за самок и территорию, не проявляли активности к размножению и только питались, спали и чистили шёрстку. У мышей стали проявляться различные формы девиантного поведения, вспышки агрессии. Самки стали проявлять агрессию, защищать себя сами, стали умерщвлять своих детенышей, а затем окончательно отказались размножаться. На пике эксперимента в загоне одновременно проживало чуть более двух тыс. мышей. Еды и гнезд было достаточно для дальнейшего роста популяции, но через четыре года после начала эксперимента Кэлхун остановил свой опыт, потому что в загоне осталось чуть более сотни мышей, и все они уже вышли из репродуктивного возраста. По итогам эксперимента Кэлхун пришел к выводу, что достижение определенной плотности населения и заполнение социальных ролей в популяции приводит к распаду общества" https://physicsoflife.pl/dict/pic/calhoun/calhoun.. https://scientificrussia.ru/articles/utopiya-dlya-mys.. https://ru.wikipedia.org/wiki/Кэлхун,_Джон_(этолог)
    • gudstartup
      @Koels вот в чем дело пока ds609 это предупреждение поэтому F может и не появится если sv601 это значит ошибка. возможно при нагреве радиатора серво определяет это как предупреждение или ваш вентилятор крутиться медленнее чем оригинальный и серва думает что он встал хотяпри этом обычно на экране в строке состояния FAN.мигает больше у меня вариантов нет....  
    • ДОБРЯК
      Решите любым алгоритмом. Тогда будет конструктивный разговор. :=)
    • Fedor
      https://en.wikipedia.org/wiki/List_of_numerical_analysis_topics#Eigenvalue_algorithms     :) 
    • Юрий К.Ф.
      Добрый день. Не нашёл тут тему по стойке Китайско Китайской)) Lynuc N3ME. Видать мне так повезло с её наличием)) Приобрели 5-ти осевой Китаец. В б/у состоянии после удара по оси Z. Отремонтировали по механике, заменили батареи на драйверах, выставили лимиты. Всё Ок. Пригласили со стороны людей которые бы разобрались по операторской части. Те два выходных ковырялись, после сказали покажут расскажут, но за огромные деньги. Не сошлись. После месяц станок простоял, когда включили перестал реагировать на регулировку скорости шпинделя. То есть в режиме Jog, включаем обороты, которые стандартно 2140-2149 об/мин. При регулировке процетности не меняются (сама процентность показывает на мониторе). Так же при включении оборотов через команду M03S300 или другое значение, скорость так же показывает 2140-2149 об/мин. Грешить на тех товарищей с которыми не сошлись по деньгам для обучения, как то не хочется. Поковырялся в настройках шпинделя, вроде всё в норме. Проводку на шпинделе прозвонил, целая. В чём причина, не понятна. Кто нибудь сталкивался с подобным, или с подобной стойкой? Может подсказать варианты причины подобного?
    • ДОБРЯК
    • Fedor
      https://en.wikipedia.org/wiki/Eigenvalue_algorithm   Вот , кстати, важное свойство которое раньше встречал у Стренга. :)    http://elibrary.bsu.edu.az/files/kitablar/1022.pdf   
    • ДОБРЯК
      Вы ысё чаще напоминаете телевизор, который случайным образом переключает программы...:=)
    • sssdos
      сочувствую бедности(Дома на ноуте стоит Windows XP С PM 6.). Или другие причины?
×
×
  • Создать...