Шаг поворота. Изменить через горячие клавиши.

Автор
Сообщение
На сайте c 04.03.2008
Сообщений: 338
Краснодар

Не встречал ли кто такое решение задачи.Нажатием горячих клавиш или вынесенных кнопок на панель, менять шаг поворота объекта в градусах. Обычно его можно изменить только через меню. Но мне иногда нужен шаг в 1 градус, а иногда в 15,45 или 90 гр.

Может существует скрипт или другой способ смены шага быстрым действием?

На сайте c 04.03.2008
Сообщений: 338
Краснодар
Цитата Jähman':

(

    local core = (dotNetClass "Autodesk.Max.GlobalInterface").Instance.coreinterface7

    local angles = #( 1, 5, 15, 45, 90 )

    local index = amax 1 (findItem angles core.SnapAngle_)

    core.SnapAngle_ = if (index + 1) > angles.count then angles[1] else angles[ index + 1 ]

    displayTempPrompt ("Snap Angle: " + (int core.SnapAngle_) as string+ "°") 1500

)

Спасибо огромное!Как этот скрипт привязать к гор. клавише?

На сайте c 04.03.2008
Сообщений: 338
Краснодар

Так, буду разбираться как делать макросы :)

Спасибо большое за помощь!

На сайте c 04.03.2008
Сообщений: 338
Краснодар
Я правильно понимаю, что мне нужно создать новый скрипт в 3dmax. Затем его сохранить и запустить перетаскиванием на макс? В левом нижнем углу выдает сообщение Runtime Error
На сайте c 04.03.2008
Сообщений: 338
Краснодар

А ведь все работает!

Я прям очень благодарю за помощь! :)

А можно пример не переключения шага, а установки конкретного значения и только?

Я собственно и сам разобрался в коде. Спасибо большое :)

На сайте c 04.03.2008
Сообщений: 338
Краснодар

Что-то я напортачил с переменными :)))

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

Написал так:

macroScript CycleSnapAngleValuescategory:"Jahman"

category:"Jahman"

tooltip:"Cycle Snap Angles 10"

(

local core = (dotNetClass "Autodesk.Max.GlobalInterface").Instance.coreinterface7

local new_angle = 10

core.SnapAngle_ = new_angle

displayTempPrompt ("Snap Angle: " + (int core.SnapAngle_) as string+ "°") 1500

)

tooltip:"Cycle Snap Angles 1"

(

local core = (dotNetClass "Autodesk.Max.GlobalInterface").Instance.coreinterface7

local new_angle = 1

core.SnapAngle_ = new_angledisplayTempPrompt ("Snap Angle: " + (int core.SnapAngle_) as string+ "°") 1500

)

macros.run "Jahman" "CycleSnapAngleValues"

Но так не работает. Отображается только первая запись на 10 градусов. По сути чего хочу?! Разбить каждый шаг в градусах на отдельную кнопку. А уж к кнопке привязать и гор. клавиши

На сайте c 04.03.2008
Сообщений: 338
Краснодар

Да, я так и сделал - получилось :) Интересная штука скрипт :)

Читают эту тему: