Render.ru

Автоматическое выключение!

Freiheit

Знаток
Рейтинг
51
#1
Видимо многие сталкивались с этой проблемой: пакетная визуализация ставиться на всю ночь, а фото визуализируються часа 4, остальное время комп просто бездействует и жрёт электричество. Как сделать так что бы после окончания визуализации комп сам отключался?
 

Savin Denis

Модератор форума
Команда форума
Рейтинг
136
#2
Пользуйся поиском

http://www.render.ru/forum/viewtopic.php?post_id=517240#517240
 

shadow_x

Пользователь сайта
Рейтинг
2
#3
Да вот для одного знакомого дизайнера интерьеров работающего в 3D Studio Max делал утилитку, потратил утром пару часов. Сам ей не пользуюсь, больше программированием увлекаюсь, хотя кто знает. Ну теперь об утилите, во первых она нуждается в модернизации, например, отключение принудительного отключения компьютера, отключение отключения компьютера после рендера во время рендера, замена DOSCommand на ShellLaunch (когда я писал утилиту, то мне почему-то подумалось что лучше с чёрным экраном чем без него), ну и так далее, всё это легко добавить, однако заказов пока не поступало, так что выставлю старую версию.

Создаём файл shutdown.ms и копируем в него следующее содержание:

Код:
-- Shutdown The Computer
-- Description:
-- Shutdown the computer after rendering
-- Author : Atomic
-- Version:  3D Studio Max 8

Utility shutdown_the_computer "Shutdown The Computer"
(
	group "After Rendering"
	(
		checkbutton ckb1 "Shutdown" width:80 height:30 align:#center enabled:true
	)
	fn onShutdown =
	(
		txt = "checkForSave()"
		callbacks.addscript #preRender txt id:#shutdown
		
		txt = "DOSCommand \"%systemroot%\system32\shutdown.exe -s -f\""
		callbacks.addscript #postRender txt id:#shutdown
	)
	fn offShutdown =
	(
		callbacks.removescripts id:#shutdown
	)
	on ckb1 changed state do
		if state == on
			then onShutdown()
			else offShutdown()
)
Сохраняемся, а дальше следуем инструкции, на написание которой у меня тогда ушло времени не меньше чем не программу.

Shutdown The Computer
*********************

Данная утилита разработана и отлажена на языке MaxScript для использования в 3D
Studio Max 8. Она автоматически выключает компьютер после раскраски вашей сцены.
Это так же означает, что не имеет значения, раскрашиваете ли вы один кадр или
любое другое количество, утилита выключит компьютер только после полного
завершения процесса.

Установка и запуск утилиты:
1. Перенесите папку с утилитой в любое удобное для вас место, после чего
скопируйте файл "shutdown.ms" в "..\3dsMax8\Scripts\Startup"
2. Запустите 3D Studio Max 8, а если она уже запущена, перезапустите её.
3. Выберите панель "Utilities" и нажмите в ней кнопку "MAXScript".
4. В раскрывающемся списке Utilities расположенным ниже появится пункт
"Shutdown The Computer", выберите его.
5. Ниже появится свиток "Shutdown The Computer". Нажав на кнопку "Shutdown"
один раз, вы активируете утилиту. Вторым нажатием соответственно
дезактивируете. В активном состоянии после раскраски сцены ваш компьютер
автоматически выключится.

Особенности работы утилиты:
Для лучшего понимания о том, как функционирует утилита, кратко опишу её основные
особенности.
1. В неактивном состоянии утилита никак не влияет на 3D Studio Max.
2. В активном состоянии при запуске раскраски (Render) утилита предложит
сохранить вашу сцену. Вы можете согласиться или отказаться, для утилиты
это не имеет никакого значения, она все равно продолжит свою работу. Но, в
случае отказа вы рискуете потерять не сохранённые данные сцены, так как
утилита использует принудительное закрытие приложений. Для его отключения
уберите из скрипта строку "-f" и сразу запустите изменённый скрипт. Но в
этом случае успех выключения компьютера не гарантирован, если хотя бы одно
открытое приложение потребует сохраниться. С другой стороны текущий способ
более безопасный с точки зрения сохранности данных.
3. Для выключения компьютера утилита использует файл "shutdown.exe" с
относительным маршрутом к нему. Её работа тестировалась в операционной
системе Windows XP Professional.
Вот собственно говоря и всё. А вообще, в максовских скриптах можно делать всё, даже не так, абсолютно всё, что и в других системах программирования, кстати во многом из-за совместимости с ними.
 

Alexey Ost

Активный участник
Рейтинг
11
#4
Freiheit сказал(а):
Видимо многие сталкивались с этой проблемой: пакетная визуализация ставиться на всю ночь, а фото визуализируються часа 4, остальное время комп просто бездействует и жрёт электричество. Как сделать так что бы после окончания визуализации комп сам отключался?
Тебе просто комп выключить?Тогда запускай гугл и ищи что -то типа Poweroff. или ShutDown и юзай.
Лично я пользуюсь фривар прогой Отбой, просто и со вкусом!)
 

Sandr

Знаток
Рейтинг
35
#5
Продолжу тему
А есть возможность также после окончания пакетного рендера (Batch render)
Все ноды кластера перевести в StandBy??
 

Sandr

Знаток
Рейтинг
35
#6
я так понимаю надо юзать доскоманду shutdown.exe
/m \\компьютер Указание конечного компьютера.
перед этим получив список активных нод
и по циклу перебрав их

атакже сначала настроить права на такую операцию серверной машине
 

Savin Denis

Модератор форума
Команда форума
Рейтинг
136
#7
Нет shutdown.exe не поддерживает Standby,
как локально из командной строки включить режим Standby смотри ниже:

У правление питанием (cmd):
Код:
Shutdown: %windir%\System32\shutdown.exe -s
Reboot: %windir%\System32\shutdown.exe -r
Logoff: %windir%\System32\shutdown.exe -l
Standby: %windir%\System32\rundll32.exe powrprof.dll,SetSuspendState Standby
Hibernate: %windir%\System32\rundll32.exe powrprof.dll,SetSuspendState Hibernate
Что бы активировать на удаленной машине в режим Standby, нужно:
1. С помощью утилит позволяющих удаленно запускать команды (см ниже PsTools-PsExec), исполнить на нужной машине соответствующую cmd команду (Standby).
2. Для любителей программировать можно самому написать утилиту, которая будет удаленно управлять питанием.
Cсылки на темы:
VBS: Запуск програм на удаленном компьютере с правами администратора
(.NET) Is there a way to put a machine into standby mode remotely?
3. И наконец, можно воспользоваться готовыми утилитами удаленного управления питанием.
Например утилита PsSuspend из комплекта PSTools (отдельно его можно взять здесь).

Код:
usage: pssuspend [- ] [-r] [\\computer [-u username] [-p password]] <process name | process id>
Еще одна свободная утилитка:
Command line Remote Shutdown Utility



Чтобы потом разбудить по сети (Wake On LAN - WOL) коммпьютер, нужно послать на него магический пакет
, это можно сделать например с помощью этой утилиты WOL Utility


Раз пошла речь об управлении питанием, возможно кому-то будет интересен данный девайс:
Iboot, Web Based Remote Reboot Switch



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

Savin Denis

Модератор форума
Команда форума
Рейтинг
136
#8
Еще один вариант запуска Standby:

Код:
rundll32.exe PowrProf.dll, SetSuspendState 0,1,0


BOOL SetSuspendState ( 
  BOOL Hibernate, 
  BOOL ForceCritical, 
  BOOL DisableWakeEvent 
); 


Parameters 
  Hibernate 
  [in] Specifies the state of the system. If TRUE, the system hibernates. If  
FALSE, the system is suspended. 
  ForceCritical 
  [in] Forced suspension. If TRUE, the function broadcasts a PBT_APMSUSPEND  
event to each application and driver, then immediately suspends operation.  
If FALSE, the function broadcasts a PBT_APMQUERYSUSPEND event to each  
application to request permission to suspend operation. 
  DisableWakeEvent 
  [in] If TRUE, the system disables all wake events. If FALSE, any system  
wake events remain enabled. 
Return Values 
If the function succeeds, the return value is nonzero.

Если вместо Stanby срабатывает Hibernate:
Код:
1. Click Start
2. Click Control Panel
3. Click Power Options
4. Click the Hibernate tab in Power Options Properties
5. Uncheck Enable Hibernation
6. Click OK
7. Clicking the shortcut should now suspend instead of hibernate.
PS.
Проверил удаленный Запуск/Stanby, а заодно написал утилитку удаленного запуска приложений на VBS.
 

ilopXX

Пользователь сайта
Рейтинг
2
#9
Вот и я чет подобное решил сделать, в макс скипте не силён, но вроде немного разобрался!

http://img356.imageshack.us/img356/8066/helpgs3.jpg

http://depositfiles.com/ru/files/8561362
 

Savin Denis

Модератор форума
Команда форума
Рейтинг
136
#10
2ilopXX Если не сложно прикрепи файлы к сообщению, а то внешнии ссылки со временем дохнут.
Возможно еще кому пригодиться.
 

Savin Denis

Модератор форума
Команда форума
Рейтинг
136
#12
Пользуйся кнопкой редактировать, чтоб не плодить лишних сообщений.
 

ilopXX

Пользователь сайта
Рейтинг
2
#13
Жаль что нельзя удалить, если можете удалите ненужные сообщения
Хотел ещё добавить функцию отправка сообщения на мыло с приатачеными файлами картинок, но понял что людишки в этом не нуждаются, а мне пока и этого хватит, вот надеюсь последняя версия http://depositfiles.com/ru/files/8745609
 
Сверху