Поворот стойки шасси вручную (не кинематика)

Поверхностное моделирование и дизайн.

Поворот стойки шасси вручную (не кинематика)

Сообщение browser1 » 21 июл 2011 20:00

Примитив стойки шасси. Предположим, она вращается по линии 1 (Синяя линия) в диапазоне от 0 до 180 грд. Управляется угол поворота стойки, вручную, через параметр «Угол поворота стойки» (кинематика пока не нужна). Все просто, только приблизительно в диапазоне 50-100 градусов, ось стойки (синяя линия 1) немного меняет положение. Она, осевая линия строилась под углом к оси X (Строится линия с условием Угол/Перпендикуляр к кривой). Вначале поворота стойки (желтое положение стойки), угол осевой (имя линия 1 в структуре) к оси Х равен 0, но при угле поворота стойки от50 до 100 грд, ось должна плавно менять угол от 0 до 15 грд (к оси Х). Это промежуточное положение стойки, зеленое положение). После прохождения стойки ~ 100 грд, угол оси должен обратно вернуться в 0 (синее положение стойки). Создал закон поворота оси «Угол поворота оси». Не могу сообразить, как сделать так, что бы меняя вручную параметр «Угол поворота стойки», менялось бы положение оси. Меняя угол, стойка крутится, но ось остается на месте. Иными словами, как прицепить закон «Угол поворота оси» к углу линии 1. Прошу прощения если непонятно. Файл с задачей прикрепил (Gear)
Спасибо за любую помощь.
Вложения
Gear.rar
(81.27 КБ) Скачиваний: 393
Аватара пользователя
browser1
Участник
Участник
 
Сообщения: 184
Зарегистрирован: 17 сен 2007 11:44

Re: Поворот стойки шасси вручную (не кинематика)

Сообщение keeper » 21 июл 2011 22:51

Не имею возможность открыть модель сейчас, предположу что нужно создать правило, т.е. пример:
если угол поворота стойки от 0 до 50 или от 100 до 150, то синия линия строится с углом к оси Х = 0
если угол поворота стойки от 50 до 100, то синия линия строится с углом к оси Х = формуле
С правилами знакомы? Завра открою Вашу модельку.
Аватара пользователя
keeper
Постоянный участник
Постоянный участник
 
Сообщения: 614
Зарегистрирован: 15 дек 2008 13:28
Откуда: Дд

Re: Поворот стойки шасси вручную (не кинематика)

Сообщение zerganalizer » 21 июл 2011 23:32

Второй закон будет от той же переменной, но в виде линии на нуле в диапазоне 0-50, при 50-100 подъем до нужного градуса и после обратный спуск в ноль.
Автоматизирую все, что логично.
Аватара пользователя
zerganalizer
Moderator
 
Сообщения: 901
Зарегистрирован: 20 май 2008 15:20

Re: Поворот стойки шасси вручную (не кинематика)

Сообщение Vovik » 22 июл 2011 11:02

У меня получилось так, без условий и тп.
Длина Line.3 завязана со Sweep.4 и ее длина равна 180, что соответствует максимальному углу поворота. Сделал так, чтоб увязать Параметр - УГОЛ ПОВОРОТА со свипом
Закон и длины подкорректировал. Думаю подогнать значения не проблема. Правда при значениях угла 1 и 180 глючит (((
Но я думаю суть должна быть понятна
Вложения
Gear.zip
(438.09 КБ) Скачиваний: 390
Vovik
Активный участник
Активный участник
 
Сообщения: 443
Зарегистрирован: 10 июл 2010 10:40

Re: Поворот стойки шасси вручную (не кинематика)

Сообщение browser1 » 22 июл 2011 18:30

keeper писал(а):Не имею возможность открыть модель сейчас, предположу что нужно создать правило, т.е. пример:
если угол поворота стойки от 0 до 50 или от 100 до 150, то синия линия строится с углом к оси Х = 0
если угол поворота стойки от 50 до 100, то синия линия строится с углом к оси Х = формуле
С правилами знакомы? Завра открою Вашу модельку.

Спасибо идея понятна. С правилами написания формулы в общем знаком. Но если Вы покажете пример написания, буду благодарен.
Аватара пользователя
browser1
Участник
Участник
 
Сообщения: 184
Зарегистрирован: 17 сен 2007 11:44

Re: Поворот стойки шасси вручную (не кинематика)

Сообщение browser1 » 22 июл 2011 19:03

Vovik писал(а):У меня получилось так, без условий и тп.
Длина Line.3 завязана со Sweep.4 и ее длина равна 180, что соответствует максимальному углу поворота. Сделал так, чтоб увязать Параметр - УГОЛ ПОВОРОТА со свипом
Закон и длины подкорректировал. Думаю подогнать значения не проблема. Правда при значениях угла 1 и 180 глючит (((
Но я думаю суть должна быть понятна


Хм довольно оригинальное решение. Мне многое не очень понятно, но сама суть ясна. Проблема в другом, при 0 и при 180 грд (в убраном и выпущенном положении), сама стойка должна иметь угол в 0 грд, т.е стоять в потоке а не "ерепенить" его. На картинке видно, что кромка (красная линия) не параллельна оси Х.
Вложения
Аватара пользователя
browser1
Участник
Участник
 
Сообщения: 184
Зарегистрирован: 17 сен 2007 11:44

Re: Поворот стойки шасси вручную (не кинематика)

Сообщение Vovik » 22 июл 2011 23:07

Прости, но у меня вроде все, ок!? что именно не так? Может в модели что-то "слетело"? Единственное что, это то, что 180 и 1 градус не работают, но это может и не нужно. Но уже при 179 все параллельно оси X. Может я чего недопонял?
Vovik
Активный участник
Активный участник
 
Сообщения: 443
Зарегистрирован: 10 июл 2010 10:40

Re: Поворот стойки шасси вручную (не кинематика)

Сообщение browser1 » 23 июл 2011 17:46

Точно, какой то косяк с моделькой. Сегодня открыл вроде все ОК, интересно а почему вчера у меня вышла такая картинка, какую я прикрепил.
И все же меня интересует возможность менять угол осевой через формулу. Я с этого и начинал. Есть ось стойки шасси построенная как кривая с 0 углом к оси Х. При уборке стойки необходимо, что бы ось стойки немного (13 грд) повернулась к оси Х. Иначе колесо встретится с элементом фюзеляжа. После прохождения опасного места, надо, что бы ось стойки, опять вернулась в начальное положение то есть в 0. Я построил приблизительный закон поворота оси, но не могу понять, как его прицепить к оси. Пытаюсь редактировать формулу угла для осевой, указываю, закон, и естественно выдается сообщение о синтаксической ошибке.
Вот почему я и задал этот вопрос, научите, покажите, как для такой (конкретной) задачи отредактировать формулу, а вернее как к ней "пришить" закон? Я никогда этого не видел (формулу с законом), но думаю, что это возможно или все таки нет? Очень прошу помочь.
Аватара пользователя
browser1
Участник
Участник
 
Сообщения: 184
Зарегистрирован: 17 сен 2007 11:44

Re: Поворот стойки шасси вручную (не кинематика)

Сообщение browser1 » 26 июл 2011 17:21

Я так понимаю, запутал я всех. У меня в общем простой вопрос. Как можно с помощью формул, построить закон изменения угла поворота оси. Стойка, крутится на оси в диапазоне от 0 до 180 грд. Ось в принципе неподвижная, но в положении ~ 90 градусов, ось стойки поворачивается на некий угол (13 градусов), а потом возвращается в 0. Угол поворота стойки я задаю через параметр, как к нему (к параметру) создать некую зависимость поворота оси стойки. Я так понимаю, что любую зависимость можно сделать через закон. Я построил закон (Law). Но я насколько понимаю сам по себе закон величина не имеющая единиц измерения, посему вопрос как его прицепить к углу оси. :wacko3: Может я что либо не так понимаю? Тогда разъясните где и в чем я ошибаюсь.
Аватара пользователя
browser1
Участник
Участник
 
Сообщения: 184
Зарегистрирован: 17 сен 2007 11:44

Re: Поворот стойки шасси вручную (не кинематика)

Сообщение [PTM] » 26 июл 2011 17:48

запиши это или в rule, а еще лучше в reaction.
там язык программирования на си похож) и результат можно сделать нужный... чем все это пихать в law.
PS результат law надо умножить на единицы измерения... или использовать вх и вых параметры,типа length, angle etc кажется)
Изображение
Аватара пользователя
[PTM]
Moderator
 
Сообщения: 2139
Images: 40
Зарегистрирован: 13 сен 2007 13:03
Откуда: Rzn
Blog: View Blog (15)

Re: Поворот стойки шасси вручную (не кинематика)

Сообщение browser1 » 26 июл 2011 18:33

[PTM] писал(а):там язык программирования на си похож)

Программинг, для меня не вариант. Кстати вопрос, а VBA не подойдет? Вообще давно собрался освоить, программирование, на курсы походить. Очень важно для меня боле менее освоится в модуле Knowlegeware, в частнос ти команда knowlege pattern. Какой язык программирования для этого нужен. Я считал, что стоит осваивать VBA, а Вы говорите, что си. :-( . Иными словами я понимаю, вопрос не по теме, но с чего начать осваивать программирование под Катию?
[PTM] писал(а):PS результат law надо умножить на единицы измерения... или использовать вх и вых параметры,типа length, angle etc кажется)

Нет, я давно пробовал, не получается. Например создал параметр типа угол, добавил формулу и попытался вставить закон, результат на картинке, т.е. ничего не получается.
Вложения
Аватара пользователя
browser1
Участник
Участник
 
Сообщения: 184
Зарегистрирован: 17 сен 2007 11:44

Re: Поворот стойки шасси вручную (не кинематика)

Сообщение [PTM] » 27 июл 2011 07:49

не соответствие типов... например одно из них real, а второе angle
пример с rule. только ось синяя у тебя построена не оч корректно) если перестроить то должно сработать.
GearRule.rar
(165.88 КБ) Скачиваний: 403

В rule специально вставлено несколько условий, чтобы было более понятно
Изображение
Аватара пользователя
[PTM]
Moderator
 
Сообщения: 2139
Images: 40
Зарегистрирован: 13 сен 2007 13:03
Откуда: Rzn
Blog: View Blog (15)

Re: Поворот стойки шасси вручную (не кинематика)

Сообщение browser1 » 27 июл 2011 12:51

Спасибо, обязательно посмотрю
Аватара пользователя
browser1
Участник
Участник
 
Сообщения: 184
Зарегистрирован: 17 сен 2007 11:44

Re: Поворот стойки шасси вручную (не кинематика)

Сообщение [PTM] » 27 июл 2011 18:10

Если у тебя не V5R20, Создай Rule и помести в него
Код: Выделить всё
if (`Угол поворота стойки` >=50deg) and (`Угол поворота стойки` <100deg)
{
   `Шасси\Line.1\Angle` =(15deg/(100deg-`Угол поворота стойки`))*1deg
}

if (`Угол поворота стойки`==100deg)
   `Шасси\Line.1\Angle`=15deg

if (`Угол поворота стойки`>100deg)or (`Угол поворота стойки` <50deg)
   `Шасси\Line.1\Angle`=0deg


1 условие меняет угол линии 1 0..15 в диапазоне [50,100)
2 условие задает угол линии 1 =15 при 100 градусах
и последнее условие обнуляет угол линии 1 при остальных значениях
Изображение
Аватара пользователя
[PTM]
Moderator
 
Сообщения: 2139
Images: 40
Зарегистрирован: 13 сен 2007 13:03
Откуда: Rzn
Blog: View Blog (15)

Re: Поворот стойки шасси вручную (не кинематика)

Сообщение browser1 » 27 июл 2011 19:28

Спасибо я посмотрел.
У меня R20, поэтому я смог открыть Вашу модель. Только в вашем правиле есть недочет, в диапазоне с 50 до 100 грд ось меняет угол с 0 до 15, но при 101 грд ось имеет угол опять 0 При угле поворота стойки 100 грд, ось повернута на 15, а при 101 ось резко поворачивает опять в 0. Я так понимаю, что механизм уборки и выпуска так не сработает, ось должна поворачиваться с 50 до 100 на 15 грд, а потом плавно (главное слово в моем сообщении :-) ) со 100 до 120-180 (не важно) вернуться в 0. Можно ли отредактировать Ваше правило под новые условия?
Огромное спасибо.
Аватара пользователя
browser1
Участник
Участник
 
Сообщения: 184
Зарегистрирован: 17 сен 2007 11:44

Re: Поворот стойки шасси вручную (не кинематика)

Сообщение [PTM] » 27 июл 2011 20:33

да можно) добавьте условие
Код: Выделить всё
if (`Угол поворота стойки` >100deg) and (`Угол поворота стойки` <120deg)
{
   `Шасси\Line.1\Angle` =(15-15deg/(120deg-`Угол поворота стойки`))*1deg
}
 а последнее условие замените
if (`Угол поворота стойки`>=120deg)or (`Угол поворота стойки` <50deg)
   `Шасси\Line.1\Angle`=0deg


для наглядности разношу в разные условия... а при правильном подходе кол-во обрашений к оператору if можно оптимизировать, тк логические операции как правило самые долгие)
Изображение
Аватара пользователя
[PTM]
Moderator
 
Сообщения: 2139
Images: 40
Зарегистрирован: 13 сен 2007 13:03
Откуда: Rzn
Blog: View Blog (15)

Re: Поворот стойки шасси вручную (не кинематика)

Сообщение browser1 » 28 июл 2011 12:53

Спасибо, попробую, и мне кажется, я начал понимать, как пишутся рулы.
Аватара пользователя
browser1
Участник
Участник
 
Сообщения: 184
Зарегистрирован: 17 сен 2007 11:44

Re: Поворот стойки шасси вручную (не кинематика)

Сообщение Vovik » 28 июл 2011 17:04

РТМ, хочу обратить внимание, что у тебя в модели при повороте шасси не учитывается, что при угле от 50 до 100 (и обратно в 0) шасси будет поворачиваться относительно 2х осей, т.е. не только синей, но и относительно продольной оси самого шасси. Поэтому необходимо вводить не одну, а 2 команды Rotate
Vovik
Активный участник
Активный участник
 
Сообщения: 443
Зарегистрирован: 10 июл 2010 10:40

Re: Поворот стойки шасси вручную (не кинематика)

Сообщение [PTM] » 28 июл 2011 20:57

да это понятно и я на это указывал.
Смысл был в том, что показать как можно использовать rule.
Изображение
Аватара пользователя
[PTM]
Moderator
 
Сообщения: 2139
Images: 40
Зарегистрирован: 13 сен 2007 13:03
Откуда: Rzn
Blog: View Blog (15)

Re: Поворот стойки шасси вручную (не кинематика)

Сообщение browser1 » 02 авг 2011 19:25

У меня вопрос к уважаемому PTM, после длительной проверки Вашего правила, обратил внимание, на то, что формула не совсем корректна
if (`Угол поворота стойки` >=50deg) and (`Угол поворота стойки` <100deg)
`Шасси\Line.1\Angle` =(15deg/(100deg-`Угол поворота стойки`))*1deg

Да, стойка крутится как надо, но угол поворота оси не совсем правильный. Я исхожу из постулата, что ось меняет свое положение плавно и с постоянной угловой скоростью. При угле в 50 грд ось повернулась на ,3 грд - это правильно, но при угле в 52 грд угол должен быть ,6 грд, а по Вашей формуле выходит .306 грд. При диапазоне поворота стойки в 50 грд (с 50 до 100 грд), и при максимальном угле поворота оси в 15 грд, получим 15/50=,03, т.е на каждый градус подъема стойки, ось поворачивается на 0,3 грд. По Вашей формуле выходит, что при повороте в 98 грд, ось повернута на 7,5 грд, (по моему разумению должно быть 14,4) а при 99 уже 15 грд. Как выполнить это условие (плавно менять угол поворота оси) я не могу сообразить, может Вы мне подскажите?

И ещё вопрос, что означает символ { я не очень разобрался :-( . Я откровенно говоря убрал эти символы из правила, но оно все равно работало , не очень корректно, но работало как у Вас.
Заранее спасибо
Аватара пользователя
browser1
Участник
Участник
 
Сообщения: 184
Зарегистрирован: 17 сен 2007 11:44

Re: Поворот стойки шасси вручную (не кинематика)

Сообщение [PTM] » 02 авг 2011 20:44

{}
символы множественного оператора, если в условии более 1-й строчки кода
попробуй
[code]`Шасси\Line.1\Angle` =(15*`Угол поворота стойки`/50)[code]
Изображение
Аватара пользователя
[PTM]
Moderator
 
Сообщения: 2139
Images: 40
Зарегистрирован: 13 сен 2007 13:03
Откуда: Rzn
Blog: View Blog (15)

Re: Поворот стойки шасси вручную (не кинематика)

Сообщение browser1 » 04 авг 2011 16:46

Вот после 3-4 часов возни с очень простой задачей, я немного модернизировал предложенное Вами правило и вот, что получил

Код: Выделить всё
if (`Угол поворота стойки` >=50deg) and (`Угол поворота стойки` <=100deg)
{   
   `Шасси\Линия.1\Угол` =(10*`Угол поворота стойки` /50-10deg)
}
if (`Угол поворота стойки` >=0deg) and (`Угол поворота стойки` <50 deg)
   `Шасси\Линия.1\Угол` =0 deg
if (`Угол поворота стойки` >100deg) and (`Угол поворота стойки` <=115deg)
{
   `Шасси\Линия.1\Угол`  =115deg-`Угол поворота стойки`
}
if (`Угол поворота стойки`>115deg)
   `Шасси\Линия.1\Угол` =0 deg


Там я уменьшил угол поворота оси с 15 до 10 грд, (15 слишком много). Но в любом случае, я доволен результатом, все таки первое мое правило. :-) , Спасибо большое за помощь.
Аватара пользователя
browser1
Участник
Участник
 
Сообщения: 184
Зарегистрирован: 17 сен 2007 11:44

Re: Поворот стойки шасси вручную (не кинематика)

Сообщение browser1 » 04 авг 2011 17:17

А вот я в свое время задавал вопрос по поводу поворота шасси с помощью закона.
Я разобрался с правилом в данном случае, но у меня все равно есть вопрос, можно ли использовать закон для задания угла поворота оси. Правило, дело хорошее, но закон может быть лучше. Я пробовал прикрепить закон к оси, не получилось, ось трубует параметр типа угол, Создать параметр типа угол и прикрепить закон, тоже не удалось. Ругается катия, говорит нельзя закон прикрепить. Подскажите пожалуйста, может это нельзя сделать в принципе?
Аватара пользователя
browser1
Участник
Участник
 
Сообщения: 184
Зарегистрирован: 17 сен 2007 11:44

Re: Поворот стойки шасси вручную (не кинематика)

Сообщение zerganalizer » 05 авг 2011 22:17

Delete
Последний раз редактировалось zerganalizer 07 авг 2011 18:20, всего редактировалось 1 раз.
Автоматизирую все, что логично.
Аватара пользователя
zerganalizer
Moderator
 
Сообщения: 901
Зарегистрирован: 20 май 2008 15:20

Re: Поворот стойки шасси вручную (не кинематика)

Сообщение browser1 » 06 авг 2011 16:07

Спасибо, просмотрел, вроде все ясно. Спасибо
Аватара пользователя
browser1
Участник
Участник
 
Сообщения: 184
Зарегистрирован: 17 сен 2007 11:44

След.

Вернуться в Shape Design & Freestyle

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3