существует ли команда, выводящая последнее действие.
в майе, есть undoInfo
- в сочитании с -undoName выводит самое последнее действие.
- в сочетании с -printQueue выводит список последних действий.
это долгая история. просто хочу оптимизировать работу - иметь одно окно ввода информации (достало лазить по десяткам окон). что-то вроде скетчапа. например при создании бокса ввести 50;50;50 (а не вставлять по числу в три окна) при создании плоскости вводить 50;50, при создании сферы вводить 50. И всё это вводить в одно окно.
таков мой план:
- пользователь создает объект (сфера)
- вводит информацию "50" с фокусировкой на окно ( setFocus )
- дальше, определяется последнее действие и если это сфера,
- то распределить введенную инфу на свойства сферы
так же это будет работать со смещением и вращением объектов:
- пользователь смещает объект по оси x
- вводит информацию 50
- определяется последнее действие и если происходит релятивное смещение по оси x,
- то вычислить разницу между введенным числом "50" и результатом смещения
- сместить на величину этой разницы, в итоге произойдет то самое смещение на 50.
скорее всего, как и в скетчапе, придется отказаться от горячих, цифровых клавиш, или команду фокусировки на окно обозначить одной клавишей, но пока это не самая главная задача.
почему не использую скетчап?
мне нравится легкость скетчапа и при том, в плане параметрических задач, он на голову выше макса (что странно, т.к. макс пользуется успехом у интерьерщиков), но скетчап не подходит для объектов сложной формы. К тому же, делать работу поочередно в двух программах - гемор ещё тот.
Поэтому, я решил реализовать мегаплюсы скетчапа в какой нибудь программе посложней и полагаясь на слухи структуры "коструктора", мой выбор пал на maya. Взялся за MEL и после двух недель изучения - удалось частично решить задачу со смещением и экструдированием. НО в плане экспорта майя безобразна, кое как экспортирует в dwg, который не опознается скетчапом, а экспорт в векторный ai - отдельный танец с бубном при помощи рендера. А мне важна связь со внешним миром.
Перекачевал обратно на макс и пытаюсь сделать программу своей мечты. хотя и тут есть свои недостатки, а именно синтаксис максСкрипта, но главное - возможность реализации. как-то так
Александр, у меня ощущение, основанное на опыте работы с MaxScript, что твоя задумка в контексте Макса нереализуема.
Предлагаемый тобой алгоритм работы скрипта завязан на получении информации о последнем действии пользователя. Похоже, что к этой информации доступа нет. (Вообще в Максе History - вещь в себе. Например иногда она почему-то очищается. И не по принципу FIFO, а целиком.)
Теоретически что-то подобное твоему описанию сделать можно, но только путём переписывания на МаксСкрипте доброй половины пользовательского интерфейса. Т.е. использовать Макс как ядро, но пользоваться самописным UI. Думаю, что практически это нереально сделать: во-первых, из-за огромного объёма работы по созданию такой системы скриптов, а во-вторых, из-за того, что в один прекрасный момент обнаружится, что к какой-то функции ядра нет интерфейса из МаксСкрипта (я уже натыкался на такие вещи).
Если посмотреть с другой стороны, то не проще ли переучиться на родной UI Макса, если ты решил использовать именно этот пакет? Ведь тяжело только первые тысячу лет, а потом привыкаешь.
Доступ к резюме доступен только по пакетному доступу HR менеджерам зарегистрированных компаний. Узнать о вариантах корпоративных пакетов можно по ссылке.
Alexander Ledenev
в майе, есть undoInfo
- в сочитании с -undoName выводит самое последнее действие.
- в сочетании с -printQueue выводит список последних действий.
есть ли подобное в МАКСскрипте?
Alexander Ledenev
как сделать так, чтобы при создании бокса вылетало сообщение "бокс", а при создании сферы, вылетало сообщение "сфера"?
Листик
Sphinx Black (Black Sphinx)
Если не секрет, зачем такие извращения?
Alexander Ledenev
это долгая история. просто хочу оптимизировать работу - иметь одно окно ввода информации (достало лазить по десяткам окон). что-то вроде скетчапа. например при создании бокса ввести 50;50;50 (а не вставлять по числу в три окна) при создании плоскости вводить 50;50, при создании сферы вводить 50. И всё это вводить в одно окно.
таков мой план:
- пользователь создает объект (сфера)
- вводит информацию "50" с фокусировкой на окно ( setFocus )
- дальше, определяется последнее действие и если это сфера,
- то распределить введенную инфу на свойства сферы
так же это будет работать со смещением и вращением объектов:
- пользователь смещает объект по оси x
- вводит информацию 50
- определяется последнее действие и если происходит релятивное смещение по оси x,
- то вычислить разницу между введенным числом "50" и результатом смещения
- сместить на величину этой разницы, в итоге произойдет то самое смещение на 50.
скорее всего, как и в скетчапе, придется отказаться от горячих, цифровых клавиш, или команду фокусировки на окно обозначить одной клавишей, но пока это не самая главная задача.
почему не использую скетчап?
мне нравится легкость скетчапа и при том, в плане параметрических задач, он на голову выше макса (что странно, т.к. макс пользуется успехом у интерьерщиков), но скетчап не подходит для объектов сложной формы. К тому же, делать работу поочередно в двух программах - гемор ещё тот.
Поэтому, я решил реализовать мегаплюсы скетчапа в какой нибудь программе посложней и полагаясь на слухи структуры "коструктора", мой выбор пал на maya. Взялся за MEL и после двух недель изучения - удалось частично решить задачу со смещением и экструдированием. НО в плане экспорта майя безобразна, кое как экспортирует в dwg, который не опознается скетчапом, а экспорт в векторный ai - отдельный танец с бубном при помощи рендера. А мне важна связь со внешним миром.
Перекачевал обратно на макс и пытаюсь сделать программу своей мечты. хотя и тут есть свои недостатки, а именно синтаксис максСкрипта, но главное - возможность реализации. как-то так
Sphinx Black (Black Sphinx)
Предлагаемый тобой алгоритм работы скрипта завязан на получении информации о последнем действии пользователя. Похоже, что к этой информации доступа нет. (Вообще в Максе History - вещь в себе. Например иногда она почему-то очищается. И не по принципу FIFO, а целиком.)
Теоретически что-то подобное твоему описанию сделать можно, но только путём переписывания на МаксСкрипте доброй половины пользовательского интерфейса. Т.е. использовать Макс как ядро, но пользоваться самописным UI. Думаю, что практически это нереально сделать: во-первых, из-за огромного объёма работы по созданию такой системы скриптов, а во-вторых, из-за того, что в один прекрасный момент обнаружится, что к какой-то функции ядра нет интерфейса из МаксСкрипта (я уже натыкался на такие вещи).
Если посмотреть с другой стороны, то не проще ли переучиться на родной UI Макса, если ты решил использовать именно этот пакет? Ведь тяжело только первые тысячу лет, а потом привыкаешь.