Архитектору и проектировщику|Тепло- и звукоизоляция URSA.RU
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Реальное и подвижное видео в AutoCAD сделать можно!!!!!!

Реальное и подвижное видео в AutoCAD сделать можно!!!!!!

Ответ
Поиск в этой теме
Непрочитано 24.09.2007, 22:54 #1
Реальное и подвижное видео в AutoCAD сделать можно!!!!!!
mmax
 
Программист широкого профиля.
 
Челябинск
Регистрация: 08.09.2005
Сообщений: 721

Господа, оцените фильм.
Делается командой _anipath,
архив разбит на две части, тк болше 2мб нельзя.
[ATTACH]1190660049.rar[/ATTACH]

В сообщении 15 лежит ссылка на целый файл

Последний раз редактировалось mmax, 17.10.2007 в 19:15. Причина: Полный файл есть в интернете
Просмотров: 16297
 
Автор темы   Непрочитано 24.09.2007, 23:03
#2
mmax

Программист широкого профиля.
 
Регистрация: 08.09.2005
Челябинск
Сообщений: 721


Здесь 2 часть архива.

как мне удалось раскрутить механизм во время облета. Расскажу завтра.
[ATTACH]1190660603.rar[/ATTACH]
mmax вне форума  
 
Непрочитано 25.09.2007, 07:22
#3
Vova.sam

проектирование
 
Регистрация: 08.01.2007
алматы
Сообщений: 72


Мне понравилось. Расказывай
Vova.sam вне форума  
 
Непрочитано 25.09.2007, 08:32
#4
@LEXx

Инженер-строитель ПГС
 
Регистрация: 29.07.2006
г. Владимир
Сообщений: 1,161
Отправить сообщение для @LEXx с помощью Skype™


>mmax

Неплохо, рассказывай как. Я хочу свой порно-фильм снять, денег на актеров жалко, думаю сделать его в Автокаде(чертеж 3D тетки сдесь уже сбрасывали)
[sm156]
__________________
Доверяй, но проверяйся
@LEXx вне форума  
 
Непрочитано 25.09.2007, 09:37
#5
Огурец

Profan
 
Регистрация: 27.04.2005
Москва
Сообщений: 6,666
Отправить сообщение для Огурец с помощью Skype™


Тема уже была http://dwg.ru/forum/viewtopic.php?t=11888
Огурец вне форума  
 
Автор темы   Непрочитано 25.09.2007, 22:45
#6
mmax

Программист широкого профиля.
 
Регистрация: 08.09.2005
Челябинск
Сообщений: 721


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

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

Огурец немного ошибся и дал не ту ссылку, на самом деле это я пытался обсудить это зесь http://dwg.ru/forum/viewtopic.php?t=11206 но результата не добился. А сейчас у меня получилось реализовать задуманное с помощью этих несыскавших популярности средств обхода и облета, поэтому поводу решил сделать новую тему. Прошу Админа не закрывать ее.

Вобщем у меня опять нет времени, буду краток.

В видеоролике камера пролетает над одноступенчатой зубчатой передачей с передаточным числом 2 или 1/2, кому как удобно, привод я не делал.
Шестерни ВРАЩАЮТСЯ относительно друг друга в соответствии с передаточным числом и остаются в зацеплении.


Средствами Автокада такого никогда не добиться. При обходе и облете еще можно както незакономерно шевелить объекты и пользоваться средствами 3Дорбиты. А в процессе выполнения команды ANIPATH и вовсе ничего нельзя сделать. Все эти камеры и анимации позволяют только заснять мертвые , неподвижные объекты.

Многие знают что можно например в лиспе описать алгоритм перемещения и вращения объектов и снять процесс выполнения функции программой снятия видео с экрана, получается сносно но все зависания тоже попадают в фильм.
Еще можно нарендерить кучу картинок примерно таким кодом:
Код:
[Выделить все]
(While условие
(функция шевеления объектов);1такт цикла
(генератор имени файла)
(command "render" итд)
)
Этот способ тоже не очень хорошь тк функцию перемещения камеры по тракетории надо будет писать конкретно для каждой камеры, вобщем там много косяков + ооооочень долго снимает+фильм надо собирать самому в сторонних программах.

Мне же с помощью LISPa BASICa и какойто женщины удалось раскрутить шестерни в процессе съемки командой ANIPATH.
Движение камеры настраиваем стандартными средствами не делая сложных и утомительных операций с лиспами.
Камера полетела, и независимо от того хочет автокад или нет, каждые пол секунды выполняется маленький лиспик поворачивая большую шестерню на 10градусов вокруг цнетра и соответствеено маленькую на -5 градусов в противоположную сторону.

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

>>>Уважаемый Огурец, я тогда смотрел тот ролик из той темы, там церковь крутилась перед камерой, а вам не хотелось бы сделать так чтобы когда камера летит мимо колокольни, колокол раскачивался? при желании можно и звонаря туда поставить.

>>>Vova.sam Тут требуются хорошее знание векторной математики, и хотябы начальные знания объектной модели LISPa

>>>@LEXx, мне нравятся фильмы такого жанра, особенно когда этим занимаются в БАНе. Советую вам не скупиться на актеров, тк LISP-сценариста с большой сексуальной фантазией найти еще трднее, и возьмет он больше чем актеры.
mmax вне форума  
 
Непрочитано 25.09.2007, 22:51
#7
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 36,742


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

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 25.09.2007, 23:19
#8
Серёга - Bilder

проектирование гидротехнических сооружений
 
Регистрация: 20.02.2006
Москва
Сообщений: 5,229


Мне понравилось! Интересненько получилось... главное многообещающе...
Серёга - Bilder вне форума  
 
Автор темы   Непрочитано 26.09.2007, 01:06
#9
mmax

Программист широкого профиля.
 
Регистрация: 08.09.2005
Челябинск
Сообщений: 721


>>Серёга - Bilder, читай почту. Я тебе давно уже прислал программку позволяющую запускать лиспы, только она не работает, пришлось сделать другой подход и другую программу.

если будет время завтра все соберу, сделаю описание и выложу
mmax вне форума  
 
Непрочитано 26.09.2007, 06:38
#10
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,663


Для mmax.
Давай, давай, мне тоже интересно.
Цитата:
и какойто женщины
Что за женщина?
Profan вне форума  
 
Непрочитано 26.09.2007, 09:36
#11
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,663


Посмотрел ролик. Оценил - здорово. Однако, трудозатраты на подготовку анимации, видимо, были велики.
Profan вне форума  
 
Автор темы   Непрочитано 26.09.2007, 17:33
#12
mmax

Программист широкого профиля.
 
Регистрация: 08.09.2005
Челябинск
Сообщений: 721


Введение
Как бы то не было удивительно, но в процессе работы команд анимации, LISP-функции можно запускать VLR-реакторами. В самом Автокаде автособытия для реакторов создать нельзя, можно только на щелчок мыши и изменение размера окна программы, но сидеть и щелкать мышью при записи фильма врядли кому понравится. Тоесть можно но нельзя.

Принцип запуска LISP программ в процессе анимирования основан на реакторе (vlr-window-reactor) тоесть событий связанных с изменением размеров окна программы AutoCAD. Ни для кого не секрет, что размеры окна Автокада, а так же других приложений, можно менять не только средствами самого Автокада, но и другими посторонними windows-программами .
Для этих целей я разработал программу SamoCADLISPer.
Принцип работы очень прост, в заданный промежуток времени она меняет размер окна Автокада от одного значения к другому, тем самым создавая автоматическое событие для реактора (vlr-window-reactor). Этот реактор запускает LISP-функции которые модифицируют объекты киносъемки.

Как создавать LISP-функции
Так как LISP-функции будут выполняться через определенный промежуток времени, то нам надо рассчитать чего и сколько должны совершить снимаемые объекты.

Например нам нужен видеоролик на 100 секунд, за это время шестерня должна совершить полный оборот.
360/100 = на 3,6 градуса должна поворачиваться шестерня каждую секунду

У нас имеется реактор
Код:
[Выделить все]
(setq reactor (vlr-window-reactor nil (list '(:vlr-mainframemovedorresized . reactorfun))))
котрый будет запускать функцию reactorfun с периодичностью которую задаст программа SamoCADLISPer. Насроим SamoCADLISPer на 1 секундный повтор.

Пишем
Код:
[Выделить все]
(defun reactorfun (a b) 
(vla-rotate shesternyaVlaObj basepoint (deg-to-rad 3.6))
(princ)
)
Нельзя делать функцию reactorfun которая за раз выдаст полный оборот шестерни
Например:
Код:
[Выделить все]
(defun reactorfun (a b) 
(repeat 100
(vla-rotate shesternyaVlaObj (deg-to-rad 3.6))
)
(princ)
)
Это связано с тем что, команда записи анимации в Автокаде на время выполнения LISP-функций приостанавливается и ждет когда все кончится.

Ничего сложного нет. В Автокаде всегото 2 метода ROTATE и MOVE ими и надо шевелить объекты.
Перемещение объекта может показаться котмуто очень сложным занятием. Описание траектории перемещения на LISP действительно задача не из легких. Тут я могу посоветовать только обратиться к функциям работы с кривыми и сделать функцию перемещения объекта по траектории такую чтобы объект двигался как камера в команде ANIPATH.
Вот маленький пример:
Код:
[Выделить все]
(setq movedobj (vlax-ename->vla-object(car(entsel))))
(setq traectoria (vlax-ename->vla-object(car(entsel))))
(setq startpoint (vlax-curve-getstartpoint traectoria))
;;;функция перемещения объекта по заданной незамкнутой траектории
;;;Перемещает объект movedobj по объекту traectoria на расстояние =
;;;= длинне объекта traectoria деленное на число segmentov

(defun moveobj (segmentov) 
  (setq segment (/ (vlax-curve-getdistatpoint
		     traectoria
		     (vlax-curve-getendpoint traectoria))
		   segmentov))

  (if (null i)
    (progn (setq i segment) (setq point1 startpoint)
    (setq point2 (vlax-curve-getpointatdist traectoria  i ))
      )
    (progn
      (setq i (+ i segment))
      (setq point1 (vlax-curve-getpointatdist traectoria i))
      (setq point2 (vlax-curve-getpointatdist traectoria (+ i segment)))
      )
      )
  (vla-move movedobj (vlax-3d-point point1)  (vlax-3d-point point2))
  )
Иногда при движении по кривым траекториям перемещаемый объект надо поворачивать. Здесь тоже есть выход. CURVE-функции могут высчитывать касательные и нормали, соответственно нам не придется писать длинные коды.
Тоесть трудозатраты здесь не велики.

Обовсем остальном читайте в архиве.
[ATTACH]1190813591.rar[/ATTACH]
mmax вне форума  
 
Автор темы   Непрочитано 30.09.2007, 00:19
#13
mmax

Программист широкого профиля.
 
Регистрация: 08.09.2005
Челябинск
Сообщений: 721


Чтото глухо с етим делом.
Наверно все считают его безнадежным

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

На самом деле все просто по самое нехочу.
Там рядом с 3д объектами есть плоская мнемосхема. По пересечениям дуг и окружности находятся базовые точки для углов врашения. Потом делается простой векторный перенос этих точек на 3д-объекты
Метод Inersectwith находит эти точки сам, а функция POLAR делает векторный перенос освобождая нас от всех геометрических расчетов.

На создание Лиспа у меня ушло максимум час. Сложнее было смоделировать 3д в глючном 2008 автокаде.


А также новая программа sysvarLISPer которая атакует Автокад по системной переменной USERI1.
В отличие от SamoCADLISPer она более гибкая и не колбасит Автокад, но менее ненадежная.

sysvarLISPer периодически выполняет VBA-макрос, загруженный в Автокад. Этот макрос тоже лежит в архиве в файле Project.dvb
он имеет такой код

Код:
[Выделить все]
Public Sub USERI1put()
If ThisDrawing.GetVariable("USERI1") <> 0 Then
    ThisDrawing.SetVariable "USERI1", 0
    ThisDrawing.Utility.Prompt ("USERI1, 0")
    Else
    ThisDrawing.SetVariable "USERI1", 1
    ThisDrawing.Utility.Prompt ("USERI1, 1")
    End If
‘Очень странно но макрос не выполняется если не выводить сообщения в комстроку
End Sub

Впринципе вы можете сценарий анимации написать на VBA в Автокаде, и тыркать его sysvarLISPerом, не подгружая уже никаких лиспов.

Справка по sysvarLISPer:
1. Запустить Автокад
2. Настроить камеры и лиспы
3. Создать реактор системной переменной USERI1
Код:
[Выделить все]
(defun reactorfun (a b)
(if (eq (nth 0 b)"USERI1")
(C:test)
)
      (princ)
)
4. запустить sysvarLISPer
5. Нажать кнопку подключиться к Автокад
6. В диалоговом окне выбрать DVB-файл макрос из которого бы вы хотели периодически запускать
7. DVB-файл может содержать любой проект , не обязательно тот который лежит в архиве, sysvarLISPer будет выполнять макрос по имени USERI1put.
8. Наверно надо будет отключить антивирусники

Как пользоваться примером
1. Загрузить tmp.lsp
2. выполнить команду TEST
3. Нажимать ENTER неотпуская, для тестирования
4. Для съемки настроить камеры
5. Раскоментировать реактор, загрузить его
6. запустить и настроить sysvarLISPer
[ATTACH]1191097181.rar[/ATTACH]
mmax вне форума  
 
Непрочитано 30.09.2007, 01:38
#14
Миттрич

Проектировщик
 
Регистрация: 20.01.2006
Челябинск
Сообщений: 809


Цитата:
Наверно все считают его безнадежным
Ну зачем уж так то... Скорее - узкоприменимым и нечасто используемым. Или учебным примером - как вам больше нравится. Мало, я подозреваю, людей которым нужна именно автокадовская анимация, но они есть.
__________________
Главное - спокойстие... как говаривал незабвенный старик Карлсон. В чём его безусловно поддерживал его друг и соратник - Энгельссон...
Миттрич вне форума  
 
Автор темы   Непрочитано 17.10.2007, 19:12
#15
mmax

Программист широкого профиля.
 
Регистрация: 08.09.2005
Челябинск
Сообщений: 721


Здесь видео в котором показан принцип работы кривошипношатунного механизма:
http://depositfiles.com/files/2078683 2,~ Мб
пришлось выложить в этот левый обменник тк сюда никак не влезает. В отличие от всяких рапидшар, с этого после некоторых тормозов даже скачивать можно

Полный файл с шестернями:
http://depositfiles.com/files/2078794 из постов №№1,2

И у меня есть вопрос к тем кто пробовал LISPеры. Работают ли они на ваших компьютерах. Если не работают, то что с ними происходит.
mmax вне форума  
 
Непрочитано 18.10.2007, 00:15 Анимация зубчатых колес
#16
Arkady

AutoCad Development and Support
 
Регистрация: 21.08.2003
Israel
Сообщений: 183
Отправить сообщение для Arkady с помощью Skype™


Приглашаю всех посмотреть на анимированные шестеренки здесь:
http://www.rdvsystems.com/tmp/_cogwheel/
размер фала модели : 681Кв

Смотреть только в Internet Explorer
Требует установки въюера, можно заранее скачать и установить отсюда:
http://www.rdvsystems.com/downloads/rdv_v2008.0.22.exe
(размер для скачивания 4.6МБа)
или согласится на установку при первом открытии.

Сделано в АвтоКАДе и анимировано с помощью RDV.
Навигация во въюере:
1. Направление взгляда - нажать левую кнопку мыши и двигать мышь.
2. Зум - как в автокаде - вращать колесо мыши.
3. Пан - как в автокаде - нжать колесо мыши и сдвигать
4. Облет модели - F2 на клавиатуре
Arkady вне форума  
 
Непрочитано 15.11.2010, 19:12
#17
monlen

Программирование в AutuCAD
 
Регистрация: 03.02.2006
Житомир
Сообщений: 2


Может эта .gif-анимация будет по теме
monlen вне форума  
 
Непрочитано 06.02.2011, 21:54
#18
vik74


 
Регистрация: 25.10.2008
Сообщений: 86


Цитата:
Сообщение от monlen Посмотреть сообщение
Может эта .gif-анимация будет по теме
Это здорово!
Я вот начеркал кучу воздуховодов, хотелось бы показать монтажнику как все это выглядит в пространстве. Я не знаю LISP. Ты я обычными средствами Acad я не смогу сделать такое?
Вложения
Тип файла: zip Карусель_ОВ_Вент_расч.zip (5.87 Мб, 283 просмотров)
vik74 вне форума  
 
Непрочитано 26.07.2011, 12:39
1 | #19
lovial

Инженер
 
Регистрация: 12.11.2008
Днепропетровск
Сообщений: 525


Цитата:
Сообщение от vik74 Посмотреть сообщение
Это здорово!
Я вот начеркал кучу воздуховодов, хотелось бы показать монтажнику как все это выглядит в пространстве. Я не знаю LISP. Ты я обычными средствами Acad я не смогу сделать такое?
Если имеется в виду "крутить" 3д картинку на компе без Автокада, то есть один вариант (недавно сам пробовал).
Автокадовский файл перегоняется в формат vrml (проги для этого в сети есть, правда, платные). Полученный файл можно крутить в разные стороны прямо в браузере (правда, для этого придется установить плагин).
Я пробовал в Файерфоксе - работает. Одно НО - я перегонял несколько объектов, но триальная версия "перегнала" только один объект. Но крутить его на экране браузера можно было, хотя и не особо привычно...
lovial вне форума  
 
Непрочитано 18.04.2019, 09:17
#20
Danver


 
Регистрация: 02.04.2009
Жуковский
Сообщений: 406


подниму тему.
Необходимо создать ролик: движение автомобиля по радиусу. Просто плавное перемещение объекта на чертеже, вид сверху. Заказчик где-то увидел такой, ему понравилось. Придётся генпланисту ещё и мультики осваивать.
Т.к. ни разу с анимацией не сталкивался, подскажите куда ткнуть? С чего начать? Подозреваю, что на базе Автокада такое невозможно, и понадобится делать в 3D Максе, но вдруг..
3D знаю только основы, с ПСК вроде бы знаком на 8 из 10.
На чертеже - примерно то, что необходимо
Вложения
Тип файла: dwg
DWG 2000
машинка.dwg (421.2 Кб, 23 просмотров)
Danver вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Реальное и подвижное видео в AutoCAD сделать можно!!!!!!

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск