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

Оформить скрипт в плагин?

Тема в разделе "MAXScript", создана пользователем Ilya Крупко, 15 дек 2008.

Модераторы: Savin Denis
  1. Ilya Крупко

    Ilya Крупко Знаток

    С нами с:
    03.12.2005
    Сообщения:
    97
    Симпатии:
    0
    Баллы:
    65
    День добрый!
    Написал скрипт небольшой, хочу теперь оформить в плагин, или инсталер какой-нибудь. Чтобы пару файлов кинул в максовские папки, поставил автозагрузку скрипта, и создал может быть кнопку на панеле инструментов для его быстрого вызова. В хелпе нашел классы плагинов, но это как я понимаю добавляем стредства запуска только на панель создания, я же хочу отдельную кнопку, например рядом с рендером или его свойствами.
    Спасибо
     
  2. Savin Denis vip

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

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    В этом случае тебе нужно его оформить в виде macroscript, это позволит встроить как элемент интерфейса
    Что почитать на эту тему: http://render.ru/forum/viewtopic.php?topic_id=124598
     
  3. Ilya Крупко

    Ilya Крупко Знаток

    С нами с:
    03.12.2005
    Сообщения:
    97
    Симпатии:
    0
    Баллы:
    65
    Спасибо за ответ. сейчас все почитаю
     
  4. Ilya Крупко

    Ilya Крупко Знаток

    С нами с:
    03.12.2005
    Сообщения:
    97
    Симпатии:
    0
    Баллы:
    65
    как я понимаю есть способ сделать скрипт макроскриптом или плагином, но в любом случае пользователю придется самому лезть в кастумайз интерфейс и вытаскивать его на тулбар или еще куда-то. Нет ли способа прямо в скрипте добраться до нее? сделать скриптом для себя самого кнопку на панеле инструментов? я честно почитав не нашел..((
     
  5. Savin Denis vip

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

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    Нет нету, предпологается что пользователь сам вытащит кнопку куда ему удобней.
     
  6. Protactinium

    Protactinium Пользователь сайта

    С нами с:
    03.03.2006
    Сообщения:
    27
    Симпатии:
    0
    Баллы:
    2
    Есть один неофициальный способ добавить кнопку скриптом.
    Для этого нужно напрямую отредактировать текущий .cui файл (файл описания пользовательского интерфейса).
    Сам файл можно получить с помощью функции cui.getConfigFile().
    В этом файле описаны все панели инструментов и кнопки на них например так:

    [Snaps]
    Rank=0
    SubRank=0
    Hidden=1
    FRect=149 184 451 245
    DRect=2147483647 2147483647 -2147483648 -2147483648
    DRectPref=2147483647 2147483647 -2147483648 -2147483648
    DPanel=0
    Tabbed=0
    TabCt=0
    CurTab=-1
    CurPos=16 149 184 451 245
    CType=1
    ToolbarRows=1
    ToolbarType=16
    ItemCount=10
    Item0=2|0|0|31|4|1259304063|50067|0|0|"Snap To Grid Points Toggle"||0|Snap_Points
    Item1=2|0|0|31|4|1259304063|50069|0|0|"Snap To Pivot Toggle"||1|Snap_Points
    Item2=2|0|0|31|4|1259304063|50073|0|0|"Snap To Vertex Toggle"||3|Snap_Points
    Item3=2|0|0|31|4|1259304063|50074|0|0|"Snap To Endpoint Toggle"||6|Snap_Points
    Item4=2|0|0|31|4|1259304063|50076|0|0|"Snap To Midpoint Toggle"||5|Snap_Points
    Item5=2|0|0|31|4|1259304063|50075|0|0|"Snap To Edge/Segment Toggle"||2|Snap_Points
    Item6=2|0|0|31|4|1259304063|50077|0|0|"Snap To Face Toggle"||4|Snap_Points
    Item7=3|6|16|31|1
    Item8=2|0|0|31|3|0|40905|0|0|"Snaps To Frozen Objects Toggle"|"Snaps To Frozen Objects Toggle"|-1|
    Item9=2|0|0|31|3|0|40904|0|0|"Snaps Use Axis Constraints Toggle"|"Snaps Use Axis Constraints Toggle"|-1|

    ItemCount определяет количество кнопок. А Item1 (например) вторую кнопку.
    Если например кнопка описана как:
    Item27=2|0|0|31|4|647394|namedSelSets`Edit|0|0|"Edit Named Selection Sets"||0|enss_maintoolbar
    то nameSelSets - это имя макроскрипта, Edit - категория скрипта, "Edit Named Selection Sets" - всплывающая подсказка enss_maintoolbar - имя файла иконки, 0 - номер иконки в файле. 2|0|0|31|4|647394 - понятия не имею че это такое, но это должно быть )
     
  7. Savin Denis vip

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

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    Вот вот, после таких советов макс а то и проект обычно приходиться поднимать заново.
    Очень плохая практика.
    Denis Omelchenko не думаю что это было так уж неоходимо человеку, поставить кнопку занимает 15 секунд. Зато вроде как блеснул познаниями =)

    Ps. На свой страх и риск как говориться.
     
  8. Protactinium

    Protactinium Пользователь сайта

    С нами с:
    03.03.2006
    Сообщения:
    27
    Симпатии:
    0
    Баллы:
    2
    Абсолютно согласен )
    Здесь главное аккуратность.

    Если человеку необходимо именно програмно создавать панели инструментов, то он все таки может это сделать, но на свой страх и риск.
     
  9. Savin Denis vip

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

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    В корне не верный подход, почему я тебе и сделал замечание.

    Прежде чем советовать воспользоваться хаком, нужно понять что он дейcтвительно необходим. Человек(извини Kruil) пока не может отличить плагин от макроскрипта, а ты ему сразу не разобравшись давай хачить. Тем более что даже формат файла знанаеш не до конца.

     
  10. Protactinium

    Protactinium Пользователь сайта

    С нами с:
    03.03.2006
    Сообщения:
    27
    Симпатии:
    0
    Баллы:
    2
    Тем не менее речь идет о написании инсталера. В таком случае этот совет как раз в тему.
    У меня была подобная задача, иначе я бы не стал давать этот совет.
     
  11. Savin Denis vip

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

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    Как думаеш, я наверно не знал этого метода ? Ну теперь точно буду в курсе.=)
     
  12. Ilya Крупко

    Ilya Крупко Знаток

    С нами с:
    03.12.2005
    Сообщения:
    97
    Симпатии:
    0
    Баллы:
    65
    Так. в общем я уже продвинулся, создал инсталятор с помощью фриварной софтины, файлы кидаются куда надо. Теперь хотел бы полностью разобраться в описании файла cui. Кто знает где можно достать описание файла точное? где что в нем описано?Denis Omelchenko конечно подкинул информации для размышлений, но мне ее боюсь не хватает(
     
  13. Savin Denis vip

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

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    Kruil нет точного описания, уже говорили что это неофицильный хак. Формат файла я вляется внутренним и меняется от версии к версии.
    PS
    В максе есть много других способов запустить скрипт или функцию, от докабельного диалога куда можно поместить туже кнопку до регистрации в главном меню или в кваде.
    Про установку можно почитать тут.
     
  14. Protactinium

    Protactinium Пользователь сайта

    С нами с:
    03.03.2006
    Сообщения:
    27
    Симпатии:
    0
    Баллы:
    2
    Вообще былобы неплохо разобрать формат cui и здесь разместить. Но это придется делать методом тыка...

    На сколько я понял, официальный способ создания тулбаров - через max sdk.
    Там есть хороший пример: 3ds Max 2008 SDK\maxsdk\howto\ui\cuitest\.
    А в хелпе по сдк объясняется, как это сделать.
     
  15. Savin Denis vip

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

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    Да в SDK есть такая возможность, если так уж хочется то можно вытащить функции работы с CUI в макскрипт написав раширение.
    Это наболее корректный путь.

    PS
    Были одно время попытки сделать утилиты для работы с этими файлами, но уже со следущей версией они работали не корректно.
    Не нужно повторять чужие ошибки.
     
  16. Protactinium

    Protactinium Пользователь сайта

    С нами с:
    03.03.2006
    Сообщения:
    27
    Симпатии:
    0
    Баллы:
    2
    Да но если мы пишем инсталятор, то это расширение придется всегда тоскать вместе с инсталятором. Это возможно?

    p.s.
    А что мешает разбираться с кажддой новой версией cui файла? Думаю изменения там не слишком большие вносят...
     
  17. Savin Denis vip

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

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    Почему бы нет ? Так достаточно часто и делают, когда хотят получить скорость и простоту разработки UI.
    Просто прекомпилировать библеотеку с новым SDK, намного проще чем снова заниматься анализом фомата файла и вносить изменения в скрипт.
     
Модераторы: Savin Denis

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