Два вращательных движения на одном шаге

Автор NYX, 07.07.16, 16:32:52

« предыдущая - следующая »

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

NYX

Добрый день, уважаемые коллеги!
Есть вопрос. Компас 13. Бьюсь над анимацией. В ней один шаг, на этом шаге вал вращается одновременно вокруг двух осей. Вращение вокруг каждой из осей, вроде, настроено правильно (если удалить из шага любую из осей, то вращение вала вокруг оставшейся будет правильным). Проблема в том, что ось, вокруг которой вращается вал, сама вращается вокруг другой (неподвижной) оси. Читал в помощи по библиотеке, что из-за этого возможна некорректная работа библиотеки. Возможна ли такая анимация средствами КОМПАСа вообще?


semenkontorovskij

07.07.16, 17:03:54 #2 Последнее редактирование: 07.07.16, 17:16:01 от semenkontorovskij
ВЫ имеете в виду что то такое ?  https://youtu.be/JjdVHEtBJCA

Если, да, то тут не без хитростей. Введено скрытое водило, котрое вращает одно колесо вокруг оси второго. А между ними сопряжение - "вращение - вращение".

Т.е. по сути вращение именно в рамках анимации - одно - это вращение водила. . А второе реализовано за счет сопряжения соосности второго колеса с нужной осью водила и сопряжения со вторым колесом.

На прямую "организовать" два движения в рамках анимации не представилось возможным. Когда я задал вращение около одной оси, потом около второй, то начались какие то рывки и т.п. И пришлось это организовать обходным путем.


Лучше будет, если вы выложите проблемный файл сборки. Тогда ответить можно будет более предметно.

P.S. Естественно, "организовывать" водило именно в таких формах нет никакой необходимости. Это уже мои причуды, как автора ))))
Если еще и скрыть лежащее колесо, то будет полное представление вращения одного колеса около двух осей. Оси вращения самого колеса и второй перпендикулярной оси.

NYX

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

Цитата: semenkontorovskij от 07.07.16, 17:03:54
Лучше будет, если вы выложите проблемный файл сборки. Тогда ответить можно будет более предметно.

Я выложил файлы - они внизу моего первого сообщения, одним архивом (anim.rar)

NYX

Цитата: Ё от 07.07.16, 16:56:30
На "раз"!



Извините, это вообще не похоже на то, что мне надо. И я не вижу там два вращения.

semenkontorovskij

Цитата: NYX от 07.07.16, 23:02:04
У меня оба вращения происходят в одной плоскости. Я пробовал задавать и сопряжение вращение-вращение, и напрямую вращал вокруг осей, и пытался задать через переменную угол между плоскостью, в которой лежат обе оси вращения, и неподвижной плоскостью координат сборки.. Анимация или не получается вообще, или вращающаяся деталь улетает от неподвижной.
Я выложил файлы - они внизу моего первого сообщения, одним архивом (anim.rar)


Завтра посмотрю более внимательно. Пока несколько вопросов:

1. В какой версии Компаса это выполнено ?

2. Как я понял за один оборот "внешней" оси эллипс совершает ждва оборота вокруг своей оси или я не правильно понял ?

3. Как я понял вы хотите иметь анимацию ОБКАТКИ эллипса внутри неподвижной камеры ? Или просто соблюсти соотношение скоростей угловых ? Т.е. вопарос вот в чем : там обкатка или просто "перемешиватель" - эллипс вращается внутри камеры по заданному соотношению скоростей и имеет место проскальзывание эллипса относительно внутренней поверхности камеры ?

NYX

Цитировать1. В какой версии Компаса это выполнено ?


В 13-й версии.

Цитировать2. Как я понял за один оборот "внешней" оси эллипс совершает ждва оборота вокруг своей оси или я не правильно понял ?


Да, так и есть. За один оборот вокруг внешней оси эллипс совершает два оборота вокруг своей оси. Причём вокруг внешней оси он вращается в одну сторону, а вокруг собственной - в другую.

Цитировать3. Как я понял вы хотите иметь анимацию ОБКАТКИ эллипса внутри неподвижной камеры ? Или просто соблюсти соотношение скоростей угловых ? Т.е. вопарос вот в чем : там обкатка или просто "перемешиватель" - эллипс вращается внутри камеры по заданному соотношению скоростей и имеет место проскальзывание эллипса относительно внутренней поверхности камеры ?


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

semenkontorovskij

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

NYX


semenkontorovskij

Вроде бы все понял. Завтра на свежую голову посмотрю. Если хотите тут мои механизмы можно увидеть ))) https://www.youtube.com/channel/UCqUT_WK-tvDdPrudUV0WtHA

NYX

ЦитироватьВроде бы все понял. Завтра на свежую голову посмотрю. Если хотите тут мои механизмы можно увидеть ))) https://www.youtube.com/channel/UCqUT_WK-tvDdPrudUV0WtHA


Спасибо, я уже смотрю.

semenkontorovskij

Под ваш вариант подходит планетарная передача и сверление квадратных отверстий. Там как раз два движения и при этом "сверло" вращается в обратную сторону по отношению к рукоятке. Похоже это оно. Завтра разыщу этот файл. И посмотрю.

semenkontorovskij

Появился вопрос: А как получена вот эта траектория ? Что то у меня большие сомнения на счет ее правильности.

NYX

Это первое приближение, ещё не точно.

semenkontorovskij

Так может быть сначала получить правильную траекторию ? И потом не понятно: к чему относятся угловые скосрости: первая скорость - это скорость относительно чего ? Это скорость вращения ОСИ эллипса. А удвоенная скорость - это скорость вращения САМОГО эллипса относительно чего ? Относительно своей собственной оси или оси корпуса ?

NYX

Это уже моя ошибка. Спасибо за указание. Угловая скорость "омега" - это вращение эллипса вокруг собственной оси, означенной "крестиком" на схеме, а угловая скорость 2*"омега" это вращение оси эллипса по окружности диаметром 60, вокруг оси, означенной "квадратиком".

Vitalij Lysanov

08.07.16, 16:06:08 #16 Последнее редактирование: 08.07.16, 18:43:02 от Vitalij Lysanov
Есть анимация на макро.

На сборке, перемещаем, вращаем, захват экрана,
сохранение картинок на диск.
Программа работает по первой расфиксированной детали сборки

iplac.SetOrigin(x, y, z) это перемещение

iplac.SetAxis(x, y-50*math.sin(0.5*u), z+50*math.cos(0.5*u),0) вращение, задается направлением на точку
относительно x, y, z


Анимация в gif отдельно

Если смотреть .png программой FSViewer, получается лучше кинофильма,
Колесиком мыши можно менять во времени направление просмотра.

Если вставить анимированный .gif в Word а затем сохранить в .mht. в тексте будет анимация.   

import autopy
import time
import ctypes
from autopy import mouse



import sys
import math
import Kompas6API5, LDefin3D, LDefin2D
Kompas, doc3d = start3d()
import Kompas10API5 as KAPI
import Kompas10API7 as KAPI7
import pythoncom
from win32com.client import Dispatch
import LDefin2D
import LDefin3D
import ksConstants as CONST2D7
import ksConstants3D as CONST3D7
import MiscellaneousHelpers as MH

iKompasObject = Dispatch('KOMPAS.Application.5')
iKompasObject = KAPI.KompasObject(iKompasObject)
MH.iKompasObject = iKompasObject

iApplication = Dispatch('KOMPAS.Application.7')
iApplication = KAPI7.IApplication(iApplication)
MH.iApplication = iApplication

iDocument3D = iKompasObject.ActiveDocument3D()

iDocument = iApplication.ActiveDocument
iKompasDocument3D = KAPI7.IKompasDocument3D(iDocument)


iDocument3D = iKompasObject.Document3D()


iPart = Kompas6API5.ksPart(doc3d.GetPart(0))       # первая деталь в сборке
iplac = Kompas6API5.ksPlacement(iPart.GetPlacement())
r=60

for uu in range(1,628*1,11):
   
    u=uu/100.0

    x=0
    y=-r*math.cos(u)
    z=r*math.sin(u)

    iplac.SetOrigin(x, y, z)
    iPart.SetPlacement(iplac)

    iplac.SetAxis(x, y-50*math.sin(0.5*u), z+50*math.cos(0.5*u),0)
    iPart.SetPlacement(iplac)
    iPart.UpdatePlacement()



    zast=autopy.bitmap.capture_screen()


 
    zast.save("D:/za"+str(uu)+".png","png")

semenkontorovskij

08.07.16, 16:46:45 #17 Последнее редактирование: 08.07.16, 17:14:31 от semenkontorovskij
Цитата: NYX от 08.07.16, 15:24:43
Это уже моя ошибка. Спасибо за указание. Угловая скорость "омега" - это вращение эллипса вокруг собственной оси, означенной "крестиком" на схеме, а угловая скорость 2*"омега" это вращение оси эллипса по окружности диаметром 60, вокруг оси, означенной "квадратиком".


Вроде бы все получилось. Сейчас сделаю видео и выложу ссылку. Пришлось ввести вспомогательную деталь - водило, обеспечивающее вращение именно оси эллипса. Это вращение задано на прямую в анимации. Теперь что касается вала: его я переделал. Ввел переменную, управляющую поворотом эллипса относительно собственной оси. И вот управлением этой переменной в анимации обеспечивается вращение эллипса около своей собственной оси.  Различные скорости обеспечил различными углами поворота за одно и то же время.

К сожалению, воспроизвести в 13 версии не представляется возможным. У меня выполнено в версии 16.1. Чуть позже будет видео.

А вот и ссылка на видео. https://youtu.be/XsjO1wbagbs

P.S. Переменная поворота эллипса около собственной оси выполнена в эскизе самого вала. Ей придан статус "Внешняя" для возможности управления этой переменной именно в сборке.

Водило в сборке можно скрыть. Тогда в анимации будет видно только вращение эллипса.

В начальное положение устанавливал на глаз. По этому некоторые  "наезды" на стенки корпуса при вращении.

В самой модели сборки вращение за счет наложения сопряжений не обеспечивал.

Ё

 Какое "водило"? Какие "переменные"?! У вас "Компас" - ненастоящий! Минута делов: с произвольными параметрами - сугубо для демонстрации принципа! "Эллипс" двигается "мышкой" по команде "Переместить компонент" либо "Повернуть компонент".

semenkontorovskij

Цитата: Ё от 08.07.16, 20:34:43
Какое "водило"? Какие "переменные"?! У вас "Компас" - ненастоящий! Минута делов: с произвольными параметрами - сугубо для демонстрации принципа! "Эллипс" двигается "мышкой" по команде "Переместить компонент" либо "Повернуть компонент".



И что ? В чем ценность вашего видео если автору нужна анимация. А там качание мышкой с заданием "вращение - вращение" двигаться не будет..... Автору нужна не картинка с произвольными параметрами без файла и со скрытым деревом сопряжений, а возможность создать анимацию... Почувсивуйте разницу )))

А вообще я всегда очеень "радуюсь" вашим сообщениям ))) Прилететь ))) Нашуметь ))) Что то бросить, чем нельзя воспользоваться и улететь ))) Вам это ничего не напоминает ?))

P.S. Большая просьба - отвечать не нужно. Я в полемику вступать не буду. Я просто высказал свое мнение по поводу вашего сообщения.