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

Постоянство длины сплайна


ASW

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

Суть задачи такова: Необходимо в ProE 2001 создать функциональную модель радиокомпонента, имеющего контактный выход в виде гибкого шлейфа, свободное изменение положения которого нужно реализовать в 3D для удобства подбора вариантов размещения этого радиокомпонента в электронном устройстве.

Как вариант, можно, конечно, создать сборку, выполнив шлейф в SHEETMETAL и гнуть его, используя различные bend'ы, но это несколько неуклюже и громоздко. Гораздо удобней создать протягивание плоского сечения по некоей сплайновой траектории, моделирующей изгиб и которую легко и наглядно редактировать, но вопрос в том, как обеспечить постоянство длины этого, образующего сечение шлейфа, сплайна?

:wallbash::wallbash::wallbash:

Буду признателен за помощь.

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


Это реализуется за счет применения поведенческого моделирования (модуль BMX). Измеряете длину траеектории, задаете значение к которому система должна стремиться, а также указываете размеры, которыми система может оперировать.

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

Behavioral Part Modelling, без сомнения, хороший модуль, типа, но хотелось бы решить вопрос несколько проще, возможно, есть параметр, определяющего длину сплайна, просто укорачивающий/удлиняющий его при превышении/уменьшении длины после редактирования :rolleyes: - иначе нет смысла огород городить, SHEETMETAL с задачей неплохо справляется, тем более что там-то уж ухода размеров практически нет, точность, как в аптеке :smile: , недостаток только в некотором неудобстве редактивания и в том, что элемент представляет собой не деталь, а сборку.

Да, если решать проблему в BPM, то при редактировании окончательная геометрия может принять неожиданную форму.

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

Может быть это извращенный способ, но

1. Анализ - длина кривой.

2. Optimization/Feasibility: Константа - длина кривой, Переменные - нужные вам размеры. Хотя думаю, что не то получится, что надо. Возможно через Fam Table - если подключать параметр длины и вручную оценивать его отклонение - по изменению, опять же, прочих размеров :)

post-546-1102319076.gif

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

suslad

MaxAmin

Большое спасибо, коллеги, в BMX и с Fam Table, думаю, проблема, в принципе будет решена, но не совсем так, как хотелось бы. В этой связи уточню задачу:

Как создать в Scetcher'e сплайн постоянной длины с возможностью редактирования?

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

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

А может написать простенькую программку, типа:

Если длина кривой превышает/непревышает определенное число - то злое предупреждение и возврат к старому. Таким образом можно задать диапазон изменения и попытаться "попасть" в него - на глазок. Это просто извращение какое-то :)

В справке нашел только это, но это какая-то левая информация.

Example: Spline Data Format

The spline curve entity is a nonuniform cubic spline, defined by a series of three-dimensional points, tangent vectors at each point, and an array of un-normalized spline parameters at each point.

Data format:

params []

(dbl)

Array of spline parameters (t) at each point

points [][3]

(dbl)

Array of spline interpolant points

tangents[][3]

(dbl)

Array of tangent vectors at each point

Parameterization:

1. x, y, and z are a series of unique cubic functions, one per segment, fully determined by the start, endpoints, and tangents of each segment.

2. Let p_max be the parameter of the last spline point. Then, t', the un-normalized parameter, is t * p_max.

3. Locate the spline segment such that:

par_arr < t' < par_arr[i+1]

(if t < 0 or t > +1, use the first or last segment).

14. t0 = (t' - par_arr) / (par_arr[i+1] - par_arr)

t1 = (par_arr[i+1] - t') / (par_arr[i+1] - par_arr)

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

По поводу кабелей - их длну можно задавать и изменять в Cabling.

Modify>Length>Set

Затем можно Modify>Length>Change

А по поводу сплайна в в сеетчере- тоже можно.

Есть такой тип размера - называется Perimeter.

В скетчере рисуете сплайн.

Не выходя из скетчера, выделяете сплайн. Затем Edit>Convert To>Perimeter,

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

Теперь управляющим размером становится сама длина сплайна. То же можно жделать для дуг.

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

MaxAmin - большое спасибо, но, как оказалось, есть варианты проще :wink:

DIMA_M

Кабели - это несколько из иной области, а в остальном -

:beer::clap_1::rolleyes:

- мои респекты, это именно то, что было нужно: длина сплайна фиксируется созданным параметром и этого достаточно. Что интересно и очень ценно, кривая, если она имеет, кроме двух конечных, всего одну точку, то ведет себя подобно реальному гибкому шлейфу. Да-а, все нюансы охватить оченно сложно.

Всем очень благодарен.

Тема закрыта.

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

Уважаемый DIMA_M !

Спасибо большое за периметр. Сколько лет в прое, а такой феньки не знал. Хотя аналогичные по сути задачи возникали нередко.Век живи - век учись.

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

DIMA_M

Спасибо. В скетчере это действительно работает. А вот можно ли задать длину трхмерного сплайна? Я пока не придумал как.

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

что-то я туплю :)) ну, получу я параметр длины сплайна. Но этот параметр ведь является производной от сплайна. А надо наоборот - чтобы длина сплайна зависела от этого параметра (константы). Как заставить сплайн зависеть от собственной длины?

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

GOLF_stream

Как заставить сплайн зависеть от собственной длины?

Сорри...Не понял сразу вопроса.. :sad:

Через analysis feature параметры получаются только зависимыми. Это так.

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

GOLF_stream

Так она от него и зависит, т.е. в результате Edit>Convert To>Perimeter появляется новый размер, определяющий длину сплайна, этот размер в Relations делаем константой и длина сплайна уже теперь будет постоянна. Изменяй как хочешь форму сплайна - она станет только той, которая определится ее длиной, при этом положение конечной точки будет зависеть просто от его изгиба. В действительности получается очень реалистично, как будто это на самом деле гибкий шлейф.

SHARit

Можно, конечно, сделать, как разъяснил suslad (модуль BMX) - Ваше предложение и его разве не одно и то же? - , но с параметром длины задача решается намного проще и с применением анализа положение крайней точки, видимо, нельзя будет точно определить при изменении формы сплайна :wink:

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

я спрашивал про ТРЕХМЕРНЫЙ СПЛАЙН. С плоским скетчером всё понятно (кстати, там может меняться форма сплайна и при неизменных конечных точках).

Насколько я понимаю, "гибкий шлейф" тоже, как правило, изгибается в пространстве, а не только в одной плоскости. Вот и вопрос - как регулировать длину трёхмерного сплайна, а не плоского.

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

ASW

Analysis feature не обязательно подразумевает использование BMX.

Например просто нужно определенную величину, полученную измерением, вытащить как параметр.

Задача через периметр решается для плоского сплайна. Интересно бы было ее решить для трехмерного так же просто (через BMX :rolleyes: она решается....) :g:

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

Для трехмерного.....

Меня терзает смутное сомненье, что в раннем детстве я чт-то подобное делал...Но может это мне кажется.

Смею предположить, что В ОСНОВНОМ такие задачи требуются для прокладки шлейфов, кабелей, гибких трубопроводов.

Про то что в CABLING это делается, я уже писал.

В Piping - длина гибкого шланга также может задаваться или фиксироваться.

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

SHARit

O'k, въехал, спасибо.

Насчет трехмерного соглашусь с DIMA_M - все зависит от задачи, может и имеет смысл завязаться на CABLING или Piping, но если есть такая возможность для этих решений, то почему ее не может быть в системе именно для 3D сплайна? - логично предположить, что где-то должна быть возможность образмеривания его длины.

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

в Pro/E вообще плохо с 3D сплайнами. Возможности их построения весьма скудны. И возможности контролировать их форму (за исключением касательных на концах) тоже довольно убоги. При том всё это реализовано очень неудобно (как обычно в Pro/E). Приходится мучиться...

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

GOLF_stream

А чем Стайл Вам не угодил, разве не те же сплайны? - редактируйте, как хотите, хоть в 2D, хоть в 3D :rolleyes:

И насчет удобства в новой редакции, WF2 которая, все вроде в порядке

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Kelny
      В последних версиях Solidworks эта функция не заблокирована для обычных видеокарт (редактирование реестра не требуется), в том числе встроенных, и об этом написано выше:  
    • Fedor
      Насколько помню, надо в уравнениями Лагранжа-Максвелла разбираться в электромеханических  системах   https://elib.spbstu.ru/dl/059/CHAPTER1/Chapter1.html   
    • Foksmen
      Так вот и хотелось бы посмотреть методики, которые используются для пересчёта с использованием эмпирических формул. Пересчитать то смогу конечно, не проблема )
    • Катугин
      Практически ушел от подетальной разработки, если только не нужно с определенного чертежа повторить деталь. И дальше зачастую её использую для вставки в многотел. Многотел сохраняю сборкой. После чего открываю сборку из неё открываю каждую деталь, и убиваю внешние связи. 
    • maxx2000
      ничего умножать и делить не надо. достаточно в параметрах операции задать глубины нужного размера  
    • Orchestra2603
      Ну, предлагаю такой подход... Не знаю, может это все слишком очевидно, ну хотя бы это по полочкам разложить - тоже полезно.   Вот допустим, есть у вас электродинамический вибровозбудитель. Он как устроен? Есть генератор переменного тока. Он встроен в электрическую цепь, и там есть свои электрические элементы. Но главное, там есть катушка индутивности намонтанная на трубу, а внутри нее подвижная масса. На подвижной массе еще одна катушка, и у той по обмотке течет еще какой-то свой постоянный ток. Когда ток проходит по обмотке трубы, то внутри возникает магнитное поле, а оно действует на ток внутри трубы протекающий по подвижной катушке, и возникает сила Ампера, котоая приводит в движение массу. Сила эта пропорциональна магнитной индукция, а та в свою очередь силе тока (как в подвижной, таки неподвижной катушке, но нас интересует ток в конутре, который переменный). Т.е. ток в контуре, где стоит катушка, выступает в роли внешней возбуждающей силы для подвижной массы. Возможны конечно нюансы и некоторые вариации, но суть вроде как такая.   Если электрическая цепь сложная с кучей контуров, и там натыкано много конденсаторов, резисторов и инудктивностей в каждом контуре, то распределение токов по контурам находится через решение системы линенынх дифференциальных уравнений второго порядка.  Ну, т.е. там по сути тоже куча собственных частот, каждая из которых описывает свой электрический резонансов. Можно также решать задачу на СЗ, и будут собственные вектора, которые описывают соотношения амплитуд и фаз токов в раных контурах, и собственные значения, которые соотвтетсвуют каким-то резонансам. Тогда ЭДС на генераторе выступает в роли внешней силы. В зависимости от распределения элементов и контуров в цепи коэффициент усиления между ЭДС на генераторе и перемещением подвижной массы в трубе в определенном контуре будет меняться. Типа как АЧХ получается, только чисто "электрическая". Это АЧХ чистемы ЭМС, если в вашей терминологии. В параметры этой АЧХ будут входить только параметры электрических элементов схемы.   Можно дальше представить себе, что в каждом контуре цепи воткнут свой генератор, и у каждого своя амплитуда тока и фазовый сдвиг, но всех у всех одна частота. И пускай в каждом контуре есть своя подвижная масса внутри какой-то своей неподвижной катушки. Получается, что есть некоторый вектор правых частей, собранный из ЭДС генераторов в разных контурах, а перемещения подвижных масс в разных контурах - это вектор отклика. Т.е. будет уже матрица частотных харкатеристик (системы ЭМС, если в вашей терминологии), а отклик подвижных масс и внешние возбуждения, будет описываться соотвтетсвующими векторами. В зависимости от того, как распределены амплитуды и фазы ЭДС генераторов по контурам, и какая выбрана частота возбуждения, могут проявляться или не проявляться какие-то резонансы (точно также будет какой-то коэффициент участия, коэффициент динамичности и т.д.). Если в каком-то контуре проявляется резонанс, то в этом контуре на этой частоте будет большой коффициент динамичности по амплитуде тока в этом контуре, и будет пропорционально увеличиваться амплитуда отклика по перемещениям соотвтетсвующей подвижной массы.   Теперь представим, что каждая i-я из этих подвижных масс соединяется с контрукцией - системой МС. Тогда получается так, что да, ток в i-м контуре зависит от электрической АЧХ системы ЭМС, и это влияет на механическую силу, действующую на пожвижную массу в i-м контуре, но вместе с этим свойства механической системы МС могут быть такими, что на этой частоте даже такая увеличенная амплитуда силы в не возбуждает большого механичского оклика (перемещения) в этой конкртеной i-й точке крепления с конструкцией. Т.е. в данном случае, получается, что вы задаете вектор ЭДС генераторво на входе, это все дело умножается на электрическую АЧХ системы ЭМС, и получается вектор механических сил Ампера, действующих на каждую из точек крепления. А дальше этот вектор сил умножается на АЧХ системы МС, чтобы получить вектор отклика конструкции.   Т.е. получается так, что две системы вообще соединяются последвательно: выход из первой служит входом для второй, и их АЧХ разделяются спокойно. В итоге, выходит, что АЧХ можно просто переменожить, чтобы получить итоговую АЧХ суммарной системы ЭМС+МС. Так получается из-за того, что электромагнитное взаимодействие создает механическую силу и влияет на механическое движение, но механическое движение не влиет на электромагнитные взаимодействия в цепи. Так ведь?   Такие, вот, мысли. Сам вообше не спец ни разу по электромагнитизму, так что поправьте, если где-то ошибаюсь.
    • zedowl
      все, разобрался сам, просто поставил глубокое сверление, а не простое, поменял цикл, вместо 81 стал 83, и там Q добавилось, я так понял с размеров диаметра сверла(но это не точно), и в 83 цикле cld17 умножил на 1000
    • gudstartup
      @Malsev прежде чем куда то что то ставить сравнивайте даташит или maininf.txt чтобы понять насколько перед вами аналогичная система.
    • zedowl
      разобрался какой параметр должен поменяться, у меня 81 цикл, но мне нужен другой, как выбрать другой цикл? мне подсказали, что нужно его выбрать в настройках операции, но я не знаю где это  
    • zedowl
      нет, не новость я даже не знаю какой параметр в коде должен меняться, у меня задание, либо из мм в микроны, либо наоборот   как понять какой цикл у меня выводится в программе? я найду этот цикл в EXTCYCLE и добавлю умножение или деление на 1000
×
×
  • Создать...