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

Названия объектов при копировании

Тема в разделе "MAXScript", создана пользователем -, 20 мар 2004.

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

    К примеру, мне надо скопировать объекты, которые называются следующим образом:
    Body01 - Hand(Right)
    Body01 - Hand(Left)
    Body01 - Leg(Right)
    Body01 - Leg(Left)

    Как при копировании объектов оставить неизменной правую часть названия (после дефиса), а заменить только левую часть (Body01) на какое-то уже известное слово?

    Я понимаю, что каким-то образом надо применить методы substring и replace, но как это правильно сделать - не знаю..:(
    Помогите, плиз, господа скриптеры!
     
  2. Savin Denis vip

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

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    fn prefReplace str pref =(
    sptr = findString str "-"
    if sptr != undefined then
    str = pref + substring str sptr -1
    (str)
    )

    -- Example
    prefReplace "Body01 - Hand(Right)" "Body22 "
     
  3. Guest

    СПАСИБО!
    Но у меня по ходу возник ещё вопрос - после копирования эти объекты оказываются не выделенными, как мне выделить все полученные объекты и применить ко всем им одновременно эту функцию? По шаблону имени выделять нельзя, т.к. в сцене присутствуют ещё объекты, в названии которых есть слово "Body01"...
     
  4. Savin Denis vip

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

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    new = #()
    for s in $selection do append new (copy s name: (prefReplace s.name "Body22 "))
     
  5. Guest

    СПАСИБО!
     
Модераторы: Savin Denis

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