Есть простенькая задача: обойти все меши в сцене и заменить фиксированный префикс в имени, а также удалить два объекта с фиксированным именем.
Т.е. есть
Object1_lalalalalala
Object2_lalalalalala
....
Object200_lalalalalala
Необходимо убрать _lalalalala
И, заодно, вообще удалить два меша с фиксированным именем. Нашел в инете универсальный скрипт для подобного, но он в формате mse, т.е. код не подсмотришь для изменени для своих нужд, да и необходимо вручную открывать каждый файл, вручную вводить _lalalalala и т.д. По идее это скриптик на 5-10 строк, для знающего человека на 2 минуты, подскажите плиз. И можно ли будет такой скрипт запускать из командной строки?
Спасибо.
Вопрос из разряда "Как пройти на улицу Гоголя?". Простой, элементарный вопрос. Для получения адекватного ответа совсем необязательно строить вопрос так: "Вот у меня в руках карта города (ссылка на карту), я изучил маршруты и у меня получилось вот что (ссылка на изображение), попал на улицу Мышкина и заблудился, а мне надо на улицу Гоголя. Помогите".
Вопрос соответствует задаче: простой задаче, на десяток строк кода.
Этот мир не выживет... альтруисты перевелись... проще сходить в ближайший ларек за картой, чем быть посланным куда подальше на вопрос: "как пройти...".
Сходил за картой, потратил время... может, кому еще поможет, время сэкономит.
coll = $*
for i in coll do
(
strName = i.name
location = findString strName "_lalalala"
if location != undefined then
(
strNewName = replace strName location 9 ""
i.name = strNewName
)
-- print i.name
if strName == "Fignya1" then delete i
if strName == "Fignya2" then delete i
)
В replace strName location 9 "" цифру 9 заменяем на то, сколько символов в "_lalalala".
P.S. Прошло время когда технические форумы были для того, чтобы направить. Сейчас почти на любой технический вопрос можно найти ответ в готовом виде в Сети, но нужно время. Время на поиски, время на прочтения доступной в Сети литературы. Сейчас основная функция технических форумов - сэкономить время.
P.P.S.S. Пошел за следующей картой запуска скриптов из командной строки...
Дополнение. При запуске из командной строки предыдущий скрипт дает ошибку. Необходимо удалить условия
if strName == "Fignya1" then delete i
if strName == "Fignya2" then delete i
и в конце за скобкой написать:
delete $Fignya1
delete $Fignya2
Запуск из командной строки следующий:
3dsmax.exe -q -silent -mip -U MAXScript script.ms file.max
Правда, в таком случае Max файл не сохраняет и не закрывается автоматически, но пока не нашел другого способа.
Доступ к резюме доступен только по пакетному доступу HR менеджерам зарегистрированных компаний. Узнать о вариантах корпоративных пакетов можно по ссылке.
Byte_od
Т.е. есть
Object1_lalalalalala
Object2_lalalalalala
....
Object200_lalalalalala
Необходимо убрать _lalalalala
И, заодно, вообще удалить два меша с фиксированным именем. Нашел в инете универсальный скрипт для подобного, но он в формате mse, т.е. код не подсмотришь для изменени для своих нужд, да и необходимо вручную открывать каждый файл, вручную вводить _lalalalala и т.д. По идее это скриптик на 5-10 строк, для знающего человека на 2 минуты, подскажите плиз. И можно ли будет такой скрипт запускать из командной строки?
Спасибо.
Royal Ghost
Byte_od
Royal Ghost
Вот пример, адекватной темы : https://render.ru/xen/threads/nuzhen-skript-koordinaty-chetyrex-tochek-v-specialnoj-forme-oplata.175319/
Byte_od
Вопрос соответствует задаче: простой задаче, на десяток строк кода.
Byte_od
Сходил за картой, потратил время... может, кому еще поможет, время сэкономит.
coll = $* for i in coll do ( strName = i.name location = findString strName "_lalalala" if location != undefined then ( strNewName = replace strName location 9 "" i.name = strNewName ) -- print i.name if strName == "Fignya1" then delete i if strName == "Fignya2" then delete i )В replace strName location 9 "" цифру 9 заменяем на то, сколько символов в "_lalalala".P.S. Прошло время когда технические форумы были для того, чтобы направить. Сейчас почти на любой технический вопрос можно найти ответ в готовом виде в Сети, но нужно время. Время на поиски, время на прочтения доступной в Сети литературы. Сейчас основная функция технических форумов - сэкономить время.
P.P.S.S. Пошел за следующей картой запуска скриптов из командной строки...
Byte_od
и в конце за скобкой написать:
Запуск из командной строки следующий:
3dsmax.exe -q -silent -mip -U MAXScript script.ms file.max
Правда, в таком случае Max файл не сохраняет и не закрывается автоматически, но пока не нашел другого способа.