3DCenter.ru

Здравствуйте, гость ( Вход | Регистрация )

187 страниц V  « < 185 186 187  
Reply to this topicStart new topic
> А нет-ли такого скрипта?
Prayer
сообщение 18/06/2019, 20:57
Сообщение #2791


Reciver of wisdom
Иконка группы

Группа: Пользователи
Сообщений: 5 622
Регистрация: 01/03/2008
Из: глубин подсознания
Пользователь №: 62 106



Цитата(харумскарум @ 18/06/2019, 14:51) *
а нет ли такого скрипта чтобы автоматом аттачить друг к другу объекты с одинаковым именем?
например есть сцена в которой семь объектов:
Minsk
Minsk.001
Minsk.002
Moscow
Moscow.001
Moscow.002
Moscow.003
а после запуска скрипта остается только два объекта - Minsk и Moscow

Я думаю такое не сложно написать, просто проверять наличие строки в другой строке, наверное
(я бы сделал если-бы знал макс скрипт)
поидее можно через список руками приаттачить будут подряд же идти, если к спеху и никто не сделает такой скрипт
Go to the top of the page
 
+Quote Post
Jahman
сообщение 18/06/2019, 23:22
Сообщение #2792


уже всё сделал
Иконка группы

Группа: Пользователи
Сообщений: 2 382
Регистрация: 01/06/2005
Из: z3л3№гр@d
Пользователь №: 13 838



QUOTE (Prayer @ 18/06/2019, 20:57) *
просто проверять наличие строки в другой строке, наверное

тогда box в chamferbox'e найдется
надо скорее только начало строки проверять, хотя и это ничего не гарантирует

CODE
(
    -- collect unique name prefixes
    local unique_name_prefixes = makeUniqueArray (for o in objects where canConvertTo o Editable_mesh collect trimright o.name "1234567890_")

    format "-- Name prefixes: --\n"
    print unique_name_prefixes
    
    -- for each prefix
    for prefix in unique_name_prefixes do
    (
        local nodes = execute ("$'" + prefix + "*'")
        
        -- check that there is more than one convertible to mesh node available
        -- then make attach etc...
    )

)
Go to the top of the page
 
+Quote Post
igorznag2
сообщение 19/06/2019, 14:14
Сообщение #2793


Бывалый
Иконка группы

Группа: Пользователи
Сообщений: 138
Регистрация: 14/08/2015
Пользователь №: 109 394



Цитата(харумскарум @ 18/06/2019, 12:51) *
а нет ли такого скрипта чтобы автоматом аттачить друг к другу объекты с одинаковым именем?
например есть сцена в которой семь объектов:
Minsk
Minsk.001
Minsk.002
Moscow
Moscow.001
Moscow.002
Moscow.003
а после запуска скрипта остается только два объекта - Minsk и Moscow

Попробуйте такой вариант.
Создайте копию сцены перед тем как использовать скрипт.
Код
try destroydialog test catch()
rollout test "Test"
(
    button btn_attach "Attach"
    fn fn_obj_name_first obj =
    (
    obj_name=obj.name; obj_name_first=""
    if obj_name.count>0 do
    (
        for i=1 to obj_name.count do
        if obj_name[i]!="." then obj_name_first+=obj_name[i] else exit
    )--if obj_name.count>0 do
    obj_name_first
    )--fn fn_obj_name_first =
    on btn_attach pressed do
    (
        with undo on
        (
            with redraw off
            (
                names=#(); names_objects=#()
                if geometry.count>0 do
                (
                    for obj in geometry do
                    (
                        obj_name_first=fn_obj_name_first obj;
                        id=finditem names obj_name_first
                        if id==0 then (append names obj_name_first; names_objects[names.count]=#(obj)  )
                        else append names_objects[id] obj
                    )--for obj1 in geometry do
                    for i=1 to names_objects.count do
                    (
                        objs=names_objects[i]
                        if objs.count>1 do
                        (
                            converttopoly objs[1]; objs[1].name=names[i]
                            for i=2 to objs.count do polyop.attach objs[1] objs[i]
                        )--if objs.count>1 do
                    )--for i=1 to names_objects.count do
                )--if geometry.count>0 do
                completeredraw()
            )--with redraw off
        )--    with undo on
    )--on btn_attach pressed do
);createdialog test 100 30
Go to the top of the page
 
+Quote Post
YevSA
сообщение 19/06/2019, 20:39
Сообщение #2794


Продвинутый ученик
Иконка группы

Группа: Пользователи
Сообщений: 59
Регистрация: 19/01/2012
Пользователь №: 85 177



А ни у кого, случаем, нет такого скрипта, который смог бы флипнуть UV shell без накидывания модификатора Unwrap UVW?
Go to the top of the page
 
+Quote Post
igorznag2
сообщение 20/06/2019, 09:45
Сообщение #2795


Бывалый
Иконка группы

Группа: Пользователи
Сообщений: 138
Регистрация: 14/08/2015
Пользователь №: 109 394



Цитата(YevSA @ 19/06/2019, 20:39) *
А ни у кого, случаем, нет такого скрипта, который смог бы флипнуть UV shell без накидывания модификатора Unwrap UVW?

Почему не нужно использовать модификатора Unwrap UVW?
Каким способом вы хотите выбрать нужный UV shell, если не нужно использовать модификатор Unwrap UVW?
Можно выделить нужные полигоны в Editable Poly, а потом используем модификатор UVW XForm.
Для вас подходит модификатор UVW XForm?
Go to the top of the page
 
+Quote Post
BorisK
сообщение 20/06/2019, 12:57
Сообщение #2796


Давно уже
Иконка группы

Группа: Координатор
Сообщений: 9 519
Регистрация: 24/06/2002
Из: Зеленоград
Пользователь №: 158



Тут озадачился - В Slate Mat Edit нет возможности назначить на Pick Material From Object (пипетку) гор. клавишу. В старом есть. Смотрю, что SME не светит в листенер вообще ничего. Может, кто пытался добраться до этой команды, или это глухо?
Go to the top of the page
 
+Quote Post
Jahman
сообщение 20/06/2019, 14:10
Сообщение #2797


уже всё сделал
Иконка группы

Группа: Пользователи
Сообщений: 2 382
Регистрация: 01/06/2005
Из: z3л3№гр@d
Пользователь №: 13 838



CODE
(
    local max_hwnd = windows.getMAXHWND()
    local done = false
    for m in windows.getChildrenHWND 0 while not done where m[4] == "NodeJoeMainWindow" and m[6] == max_hwnd do
    (
        windows.sendmessage m[1] 0x111 41005 0
        done = true
    )
)


а это то что через экшенман можно вызвать
QUOTE
---------------------------------
Table:SME id:369891408
---------------------------------
Assign Material to Selection id:"40500" category: SME
Delete Selected id:"40058" category: SME
Select All id:"40063" category: SME
Select None id:"40064" category: SME
Select Invert id:"40065" category: SME
Select Children id:"40066" category: SME
Deselect Children id:"40067" category: SME
Lay Out All id:"40060" category: SME
Lay Out Children id:"40076" category: SME
Show Grid id:"40061" category: SME
Zoom Extents id:"40070" category: SME
Zoom Extents Selected id:"40071" category: SME
Pan to Selected id:"40072" category: SME
Hide Unused Nodeslots id:"40075" category: SME
Move Children id:"40077" category: SME
Material/Map Browser id:"40068" category: SME
Parameter Editor id:"40069" category: SME
Select Tool id:"55560" category: SME
Pan Tool id:"55561" category: SME
Zoom Tool id:"55562" category: SME
Zoom Region Tool id:"55563" category: SME
Select Tree id:"55564" category: SME
Navigator id:"55565" category: SME
Rename id:"55566" category: SME
Clear View id:"55567" category: SME
Update Selected Previews id:"55570" category: SME
Auto Update Selected Previews id:"55571" category: SME
Propagate Materials to Instances id:"55574" category: SME
Enable Global Rendering id:"55572" category: SME
Open / Close Selected Nodes id:"55573" category: SME
Clean MultiMaterial id:"55575" category: SME
Instance Duplicate Map id:"55576" category: SME
Render Map id:"55577" category: SME
Select Objects By Material id:"55578" category: SME
Highlight Assets in ATS Dialog id:"55579" category: SME
Put Material to Scene id:"55580" category: SME
Get from Selected id:"55581" category: SME


таким вот образом
CODE
actionMan.executeAction <int>TableID  <string>ActionID
actionMan.executeAction 369891408 "55576"


Сообщение отредактировал Jahman - 20/06/2019, 14:12
Go to the top of the page
 
+Quote Post
BorisK
сообщение 20/06/2019, 15:27
Сообщение #2798


Давно уже
Иконка группы

Группа: Координатор
Сообщений: 9 519
Регистрация: 24/06/2002
Из: Зеленоград
Пользователь №: 158



Спасибо! А это вообще чье - .NET, или сишное, или еще какое?
Go to the top of the page
 
+Quote Post
Jahman
сообщение 20/06/2019, 15:33
Сообщение #2799


уже всё сделал
Иконка группы

Группа: Пользователи
Сообщений: 2 382
Регистрация: 01/06/2005
Из: z3л3№гр@d
Пользователь №: 13 838



не это все чистый максскрипт.
просто напрямую в окно sme посылаем комманду, как будто юзер на кнопку нажал. эмуляция в чистом виде вобщем.
позор канеш со стороны деска за все эти годы почти никакого функционала слейта не открыть для доступа из под скрипта/сдк

казалось бы такую простую вещь как дроп нескольких файлов и то, до сих пор не прикрутили
пришлось самим взять и написать
тут уже и дотнет и скрипт и все что только можно заюзано
Go to the top of the page
 
+Quote Post
RGhost
сообщение 21/06/2019, 09:54
Сообщение #2800


Рыцарь форума
Иконка группы

Группа: Участник
Сообщений: 2 197
Регистрация: 01/04/2003
Из: Moscow/Russia
Пользователь №: 1 802



И опять же старые грабли, в Slate один нодовый фреймворк, в MCG другой, в Particle Flow третий, в Schematic четвертый... и т.д.
Я бы еще хотел что бы можно было в создавать свой нодовый control в скриптах, типа Helium Schematic Framework но только из коробки.
Но все это мечты...

Сообщение отредактировал RGhost - 21/06/2019, 10:05
Go to the top of the page
 
+Quote Post
харумскарум
сообщение 27/06/2019, 23:44
Сообщение #2801


щепдро.
Иконка группы

Группа: Пользователи
Сообщений: 1 522
Регистрация: 24/04/2008
Из: минск
Пользователь №: 63 638



Цитата(igorznag2 @ 19/06/2019, 14:14) *
Попробуйте такой вариант.
Создайте копию сцены перед тем как использовать скрипт.

класс, работает, спасибо большое!
а можно ли чтобы обрабатывались только выделенные объекты?
Go to the top of the page
 
+Quote Post
igorznag2
сообщение 28/06/2019, 08:59
Сообщение #2802


Бывалый
Иконка группы

Группа: Пользователи
Сообщений: 138
Регистрация: 14/08/2015
Пользователь №: 109 394



Цитата(харумскарум @ 27/06/2019, 23:44) *
класс, работает, спасибо большое!
а можно ли чтобы обрабатывались только выделенные объекты?

Код
try destroydialog test catch()
rollout test "Test"
(
    button btn_attach "Attach"
    fn fn_obj_name_first obj =
    (
    obj_name=obj.name; obj_name_first=""
    if obj_name.count>0 do
    (
        for i=1 to obj_name.count do
        if obj_name[i]!="." then obj_name_first+=obj_name[i] else exit
    )--if obj_name.count>0 do
    obj_name_first
    )--fn fn_obj_name_first =
    on btn_attach pressed do
    (
        with undo on
        (
            with redraw off
            (
                names=#(); names_objects=#()
                if selection.count>0 do
                (
                    for obj in selection where superclassof obj==GeometryClass do
                    (
                        obj_name_first=fn_obj_name_first obj;
                        id=finditem names obj_name_first
                        if id==0 then (append names obj_name_first; names_objects[names.count]=#(obj)  )
                        else append names_objects[id] obj
                    )--for obj1 in geometry do
                    for i=1 to names_objects.count do
                    (
                        objs=names_objects[i]
                        if objs.count>1 do
                        (
                            converttopoly objs[1]; objs[1].name=names[i]
                            for i=2 to objs.count do polyop.attach objs[1] objs[i]
                        )--if objs.count>1 do
                    )--for i=1 to names_objects.count do
                )--if selection.count>0 do
                
                completeredraw()
            )--with redraw off
        )--    with undo on
    )--on btn_attach pressed do
);createdialog test 100 30
Go to the top of the page
 
+Quote Post
харумскарум
сообщение 28/06/2019, 13:39
Сообщение #2803


щепдро.
Иконка группы

Группа: Пользователи
Сообщений: 1 522
Регистрация: 24/04/2008
Из: минск
Пользователь №: 63 638



спасибо!


в 2020 максе появился отличный инструмент для превью в высоком разрешении, можно ли прописать настройки по умолчанию чтобы не указывать всякий раз после перезагрузки макса
(1) - один кадр
(2) - масштаб
(3) - качество 20
(4) - формат jpg, гамма 2,2

или просто отдельный скрипт который создает превью без открытия диалога с настройками выше

Прикрепленные изображения
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
харумскарум
сообщение 02/07/2019, 18:03
Сообщение #2804


щепдро.
Иконка группы

Группа: Пользователи
Сообщений: 1 522
Регистрация: 24/04/2008
Из: минск
Пользователь №: 63 638



необходим скрипт вырезающий из выделенных объектов прямоугольную область четырьмя модификаторами Slice
- имеется Rectangle и множество объектов
- выделяются объекты - запускается скрипт - указывается Rectangle
- создаются четыре Slice модификатора по четырем сторонам Rectangle
- объекты коллапсятся каждый в свой Editable Mesh

оплата на карту или пэйпал
спаисбо

Сообщение отредактировал харумскарум - 02/07/2019, 18:03
Прикрепленные изображения
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
RGhost
сообщение 02/07/2019, 21:39
Сообщение #2805


Рыцарь форума
Иконка группы

Группа: Участник
Сообщений: 2 197
Регистрация: 01/04/2003
Из: Moscow/Russia
Пользователь №: 1 802



Цитата(харумскарум @ 02/07/2019, 18:03) *
необходим скрипт вырезающий из выделенных объектов прямоугольную область четырьмя модификаторами Slice
- имеется Rectangle и множество объектов
- выделяются объекты - запускается скрипт - указывается Rectangle
- создаются четыре Slice модификатора по четырем сторонам Rectangle
- объекты коллапсятся каждый в свой Editable Mesh

оплата на карту или пэйпал
спаисбо

Вроде готово, посмотри в личку.
Go to the top of the page
 
+Quote Post
Bots
сообщение Системное сообщение






187 страниц V  « < 185 186 187
Reply to this topicStart new topic

3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 15/07/2019 - 21:41