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

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

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




  • Сообщения

    • mactepnew
      Вот я тоже так думал, пока не столкнулся с обратным) Как еще столкнусь, пришлю скриншот. Хаос еще в том, что порядок в дереве построения весьма условный. операция, которая стоит перед групой, имеет бОльший timestamp(пардон, не знаю как это в переводе), чем эта группа, и выполняется позже. При этом все операции в группе имеют timestamp на пару сотен меньше и выполняются раньше, чем две группы, стоящие перед ней. Логика?  Если в эскизе все элементы определены, то можно поставить еще один размер (хочешь переопределить эскиз - да пожалста!), изменить его - и NX самостоятельно выберет, какой размер или ограничение отпустить и весь эскиз летит к чертям. Это ли не хаос?   Назовете хоть один CAD, которым можно пользоваться так? Любой из встреченных мной имеет много неочевидных нюансов, которые конечно не проявляются при выполнении университетского или базового курса. В Creo я на протяжении 5 лет находил всё новые фишки, которые не прописаны в документации. Огромная благодарность Ruslan за пояснения тонкостей. Даже Компас и Solidworks, которые считаются самыми дружественными, оказалось непросто обуздать, когда проходил собеседования и делал тестовые. А ведь университетский курс знал на отлично!   Возвращаясь к NX - вот сегодняшний пример. Утром деталь была оранжевая, единая. Изменил пару уклонов и толщин, стала желтая с элементами оранжевого и частично твердотельной, частично листовой. Я даже не знаю, как сформулировать вопрос в поддержку. 
    • Mikhail_Podgornyj
      Добрый день, кто может поделиться SKF Bearing V1.6 (ANSYS App)? Заранее благодарен!
    • kkk
      Короче, как сделать автоматом не нашел. Раскрасил нужные грани нужными цветами. Затем на вкладке с цветом модели можно выбирать нужный цвет, тогда в модели выбираются грани, покрашенные этим цветом. Можно еще сохранить выбор этих граней, но смысла не вижу, т.к. все легко выбирается по цвету. Затем либо в инструменте Измерить смотрим площадь и как-то ее используем, либо можно макросом (что выкладывал Kir95 ) внести площадь в свойства (на вкладку Конфигурации). Можно еще внести выбранные грани в датчики, но как использовать их в свойствах не нашел.    Макрос прикрепляю.     Площадь выбранных граней в свойства.swp
    • IgnatvKudrin
      Для нашего производства требуются постоянно инструментальные пружины для штампов. Сейчас заказы обрабатываются довольно долго - до 2-х месяцев. А у нас сроки на штампы 1-2 месяца с испытанием, доработкой и т.п. Хотелось бы найти поставщика, у которого уже есть склад с данными пружинами или кто может доставить за 1 месяц.   Пружины стандартные по ISO, но на всякий случай приложил каталог. Вот список пружин, которые нужны очень срочно:   LR 32 x 44 - 1 шт. LR 25 x 51 - 2 шт. LB 63 x 89 - 7 шт. LB 32 x 102 - 10 шт. LB 32 x 89 - 20 шт. LB 32 x 76 - 12 шт. LB 32 x 51 - 6 шт. LB 25 x 127 - 9 шт.   Готов выслушать все предложения. Возможно даже есть те, кто сможет изготовить подобные пружины с такими же параметрами. 20231101.pdf
    • bubblyk
      Знатоки форума, подскажите, как смоделировать простую (на первый взгляд) задачу термомеханики в упругой постановке.   Есть брусок правильный формы ака кирпич, в котором генерируется НЕРАВНОМЕРНОЕ удельное тепловыделение (HGEN). Задняя и передняя поверхности конвективно охлаждаются с известными (но различными) коэффициентами теплоотдачи и температурами жидкости/газа. Свойства кирпича (теплофизика + механика) принимаются зависящими от температуры. Постановка - стационарная Собственно вопрос : как грамотно смоделировать температурное поле в кирпиче с учетом температурного расширения?   Исходный код приложил.     Надеюсь на коллективный разум и опыт! EPTH2D.mac p.s.   Если есть опыт решения этой задачи в Ansys WB, тоже можно сюда приложить командные вставки.
    • OutXL
      Это было давно использовал NC-Link  и данную инструкцию. The Maho.docx
    • Mikhail_Podgornyj
      Добрый день, кто может поделиться SKF Bearing V1.6 (ANSYS App)? Заранее благодарен!
    • alexqwq10
      В данных корпусах ничего лишнего быть не должно. Максимум шпильки заземления, в количестве предусмотренном для конкретного корпуса. Рассматривал очень много подобных корпусов разных производителей и данная проблема актуальна для подавляющего большинства.
    • MFS
      Коллеги, приветствую, нужно штамповать на горячую из алюминиевого сплава (АК6 или около того) заготовки размером 280*180*12. Подскажите, пожалуйста, параметры пресса для такой заготовки - размеры, усилия. А есл дадите пример такой марки и модели, более менее подходящей для этой работы (нашего или импортного), то будет и еще лучше. Заранее спасибо!
    • Elbaro
      Добрый день. Уже несколько дней пытаюсь найти на просторах инета макрос, позволяющий менять материал выделенных деталей в сборке. У меня есть макрос это делающий, но только в открытой детали, заставить его работать в сборке не получается. Может кто поделится ссылкой или часть кода? Спасибо.
×
×
  • Создать...