1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

Кнопка see thought on/off

Тема в разделе "MAXScript", создана пользователем Myxamore6e, 27 апр 2008.

Модераторы: Savin Denis
  1. Myxamore6e

    Myxamore6e Активный участник

    С нами с:
    15.03.2007
    Сообщения:
    84
    Симпатии:
    0
    Баллы:
    5
    начал увлекаться скриптами, оказалось весьма удобная штука :)
    пытаюсь сделать кнопку которая будет включать и выклкючать see thought , но срабатывает почему-то только первая часть скрипта.
    как это исправить?


    Код:
    macroScript Macro17
    	category:"DragAndDrop"
    	toolTip:""
    (
    	if $.xray = off
    	(
    	$.xray = on
    	do = true
    	)
    	else
    	{
    	$.xray = off
    	do = true
    	)
    )
     
  2. Savin Denis vip

    Savin Denis Moderator Команда форума

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    Ошибки:
    1) оператор сравнения должен вглядеть так $.xray == off , иначе это присвоение.
    2) после сравнение в операторе If должено оканчиваться словом "then": if <expresion> then .... else ....
    3) "do" не может быть пременной, это оператор. (пользуся стандартным окном для написания скрипта - из Литенера Cntl - N, там есть подсветка для них)
    эти строчки вобще не нужны, можно поудалять.
    4) после else должнабыть круглая скобка "("

    PS
    дополнительно нужно разрулить ситуацию когда выделенно несколько обьектов или не одного, и когда у обьекта нет свойства .xray
    Например можно сделать кнопку не актавной в этот момент:
    Код:
     
    macroScript Macro17 
    category:"DragAndDrop" 
    toolTip:"" 
    ( 
           on isEnabled return (selection.count == 1 and isProperty $ #xray)
    
           on execute do 
          (
           ....
           -- Тело скрипта 
           ....      
          ) 
    
     
    )
     
  3. Myxamore6e

    Myxamore6e Активный участник

    С нами с:
    15.03.2007
    Сообщения:
    84
    Симпатии:
    0
    Баллы:
    5
    че-то нечего не получаеца..... я с прогамированием , както не лажу :(
    как такое должно выгледить?
     
  4. Savin Denis vip

    Savin Denis Moderator Команда форума

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    Вцелом все верно было, нужно просто поправить ошибки


    Код:
    macroScript Macro _ToggleXRay
    category:"NewTools" 
    toolTip:"ToggleXRay" 
    ( 
    on isEnabled return (selection.count == 1 and isProperty $ #xray) 
    
    on execute do 
    ( 
    if $.xray == off then $.xray = on else $.xray = off 
    )
    
    )
    
    Код нужно поместить в файл c расширением xxx.mcr и положить 3dsmax\UI\Macroscript и пезапустить макс
    После чего в UI Customize в категории NewMacro сможеш найти свою кнопку, называться будет ToggleXRay.

     
  5. Myxamore6e

    Myxamore6e Активный участник

    С нами с:
    15.03.2007
    Сообщения:
    84
    Симпатии:
    0
    Баллы:
    5
    Спосибо.
    попытаюсь написать что-то подобное по данному примеру.
    много вопросов отпало :)
     
Модераторы: Savin Denis

Поделиться этой страницей