правильный алгоритм построения анимации

Автор mengiz, 14.02.08, 10:20:10

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

mengiz

Добрый день всем! Подскажите пожалуйста как сделать анимацию в V9-SP1. Действую таким образом - создал сборку, создал разнесенный вид сборки, включаю библиотеку анимации. Создаю 1 шаг, и добавляю необходимые компоненты, находящиеся в разнесенном состоянии, и нажимаю запомнить начальное состояние. Далее включаю нормальный вид (не разнесенный), и перемещение - построить траекторию - считать положение.  На этом этапе Компас то считает положение, то не считает, я не могу найти закономерности, . Если не нажимаю запомнить начальное состояние, а пытаюсь просчитать положение сначала в разнесенном виде, а затем в нормальном, то где-то в 50% случаев Компас вылетает с ошибкой >:(. Самое большое, что смог сделать создал 1шаг - все двигается как надо, на втором шаге - траектория отображается правильно, но компонент не запоминает начальное состояние, и двигается неправильно. Пробовал всячески менять сопряжения, даже удалял их совсем, но так ничего и не добился. Если кто подскажет правильный алгоритм построения анимации, буду очень благодарен. Спасибо.

Leo

Разнесенный вид - только "условное" отображение компонентов, в этом состоянии команды КОМПАСа (и анимации) не работают или работают некорректно. Работать нужно только с неразнесенным видом, причем перед смещением компонентов (в начале создания нового шага) надо отключать мешающие сопряжения и запоминать состояние на шаге. 

mengiz

Спасибо за ответ, меня смутило что практически в половине случаев мне удавалось запомнить состояние/положение разнесенных деталей. Но при этом больше одного шага создать не удавалось. Спасибо, буду строить траектории вручную :%:

Дим

Опять попытался в компасе создать анимацию, но увы, наверно слишком сложное движение для библиотеки.
Пришлось снова скинуть все в СОЛИД и анимировать в нем. :o:
На создание анимации в СОЛИДЕ потратил 20мин(включая время на создание привязок).
Интересно, возможно ли в компасе создать подобное движение??? см. вложение.

Это движение с солиде я задал только одной командой "линейный двигатель" - а остальное -движение по копиру получилось автоматом.
Зачем в компасе накручено столько сложностей для создания анимации - не понимаю.

Leo

Ключевое слово - "по копиру". Пока в КОМПАС-3D нельзя такое сопряжение создать. Поэтому движение надо делить на несколько - прямолинейное, вращение вокруг оси виража, опять прямолинейное.

Дим

ТО что движение надо делить на несколько это понятно, вот только я никак не могу понять как это можно задать. Здесь же двойное движение

В справке есть такая фраза
"Примечание: При создании или при выборе осей необходимо учитывать следующее – если компонент вращается вокруг оси, которая будет перемещаться в пространстве, то возможна некорректная работа библиотеки анимации.  Это не относится к тому случаю, когда компонент вращается вокруг осей, созданных в нем самом."

так что наверно нельзя такого сделать.

HPJ

В своё время я создал анимация, в которой вращение проходило через 3 оси, 1 стационарная, 2 вращается вокруг 1ой, 3 вращается вокруг 2ой.
(Пример: Солнце-земля-луна)
Для корректной работы пришлось создавать целую кучу деталей, которые при записи были скрыты... (потратил 2-3 недели)
Или создал анимацию, в которой 2 кулачка распредвала двс толкают 2 клапана. Сложностей было много т.к. невозможно задать сопряжение "совпадение" на поверхность созданную кривой безье.

На основании своих опытов сделал вывод, что анимация в компасе пригодна либо для очень настойчивых, либо для соз 1, 2 движений, но не более!!!

Пробовал поработать в Универсальном механизме - мне так и не удалось понять алгоритма его работы.

HPJ

Цитата: Дим от 19.08.08, 09:08:46
Интересно, возможно ли в компасе создать подобное движение??? см. вложение.
Для созд такой анимаци в компасе придётся создать 3 шага, в каждом будет по 2 движения: вращательное, перемещение. И ещё столькоже, чтоб вернуть в исходное положение.
Не особо сложно, НО, долго и мучительно.

Дим

Цитата: HPJ от 22.08.08, 10:25:34
...
Для корректной работы пришлось создавать целую кучу деталей, которые при записи были скрыты... (потратил 2-3 недели)
Или создал анимацию, в которой 2 кулачка распредвала двс толкают 2 клапана. Сложностей было много т.к. невозможно задать сопряжение "совпадение" на поверхность созданную кривой безье.

На основании своих опытов сделал вывод, что анимация в компасе пригодна либо для очень настойчивых, либо для соз 1, 2 движений, но не более!!!

Пробовал поработать в Универсальном механизме - мне так и не удалось понять алгоритма его работы.
Вот и я просидел целый день - пытаясь анимировать в компасе сборку, на несколько раз перечитал справку, плюнул на все это - перегнал в солид и задав прямолинейное движение каретки получил нужный результат и потратил на все не более 20-30 минут.

А тратить 2-3 недели, на создание сложной анимации!!!!!! Извините!, зачем тогда она вообще нужна в таком виде?
Мое мнение, разработчики библиотеки анимации двинули не в том направлении.

HPJ

Цитата: Дим от 22.08.08, 10:48:05
Мое мнение, разработчики библиотеки анимации двинули не в том направлении.

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

Дим

Я тоже не разработчик, но на мой взгляд - построение траекторий и осей для анимации излишек.
Например: имеется механизм приводимый в движение двигателем - даем движение вращения (на вал) и дальше - просто работают привязки соосности/совпадения и др. Просто надо потратить время на удаление "лишних" тормозящих привязок.

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

Почему это нельзя сделать программно мне не понятно.

Leo

Если Вы можете нормально "крутить" вал вашего двигателя командой Повернуть компонент, то однозначно вы сможете это сделать и с помощью Библиотеки анимации. Надо и правда удалить сначала лишние сопряжения (точнее, исключить их из расчета), а потом задать "Вращение" компоненту Вал. Автоматически удалять "ненужные" сопряжения мы не можем, так как неизвестно,  какие мешают делать именно вашу задачу анимации. И еще замечание. Работать с сопряжениями (удалять или исключать) надо ДО того момента, когда запускается БА.
Кстати, для обратного движения достаточно лишь дублировать шаги "прямого" движения, поменяв в них направления на обратное (реверсивное). Это гораздо быстрее, чем создавать движения заново.

Дим