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

1-мерный array сразу со связями.

Тема в разделе "Анимация", создана пользователем Сергей Петрухин 148101, 26 мар 2013.

Модераторы: Артер
  1. Сергей Петрухин 148101

    Сергей Петрухин 148101 Пользователь сайта

    С нами с:
    25.03.2013
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    2
    Можно ли сделать 1-мерный array сразу со связями (типа цепочка из 50 звеньев), чтобы линки были 1-2-3 и т.д.?
     
  2. INCUS

    INCUS Знаток

    С нами с:
    03.08.2010
    Сообщения:
    857
    Симпатии:
    30
    Баллы:
    29
    Если iqorznaq придёт, то сможет помочь, а так....в Schematic View можно их слинковать, побыстрей будет, чем во вьюпортах.
     
  3. Сергей Петрухин 148101

    Сергей Петрухин 148101 Пользователь сайта

    С нами с:
    25.03.2013
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    2
    я так и делаю, но задача в том, чтобы это было автоматом. если звеньев будет не 50 , а 500. Предполагаю, что нужно будет скрипт написать.
     
  4. igorznag

    igorznag Знаток

    С нами с:
    23.04.2010
    Сообщения:
    1.256
    Симпатии:
    173
    Баллы:
    65
    В новой сцене создаем один чайник Teapot и выделяем его.
    Запускаем скрипт. В новом окне нажимаем кнопку Apply.
    Код:
    try (destroydialog igorznag_array_link) catch()
    rollout igorznag_array_link "Array. Link."
    (
    spinner offset_x "X:" range:[-1e9,1e9,0] fieldWidth:60 type:#worldunits pos:[5,5]
    spinner offset_y "Y:" range:[-1e9,1e9,0] fieldWidth:60 type:#worldunits pos:[90,5]
    spinner offset_z "Z:" range:[-1e9,1e9,0] fieldWidth:60 type:#worldunits pos:[175,5]
    spinner sp_count "Count:" range:[1,1e9,10] fieldWidth:60 type:#integer pos:[5,33]
    button btn_apply "Apply" pos:[120,30] 
    on btn_apply pressed do
    (
    if(selection.count==1)then
    (
    undo on 
    (
    with animate off
    (
    obj=selection[1]; temp_node=obj;nn_a=#()
    for i=1 to  sp_count.value do
    (
    offset=[offset_x.value,offset_y.value,offset_z.value]
    maxOps.cloneNodes obj cloneType:#instance newNodes:&n
    nn=n[1];nn.parent=temp_node;nn.pos=temp_node.pos+offset; 
    append nn_a nn; temp_node=nn
    )--for i=1 to  sp_count.value do
    select nn_a
    )--with animate off
    )--undo on
    )--if(selection.count==1)then
    )--on btn_apply pressed do
    ); createdialog igorznag_array_link 260 60
    Чтобы запустить скрипт нужно:
    1. Создаем текстовый файл (NotePad) и копируем код (текст) скрипта.
    2. Сохраняем текстовый файл с названием "test.ms"
    3. В главное меню MaxScript выбираем пункт Run Script. Выбираем файл "test.ms"
     
  5. Сергей Петрухин 148101

    Сергей Петрухин 148101 Пользователь сайта

    С нами с:
    25.03.2013
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    2
    То что нужно! Спасибо!
     
Модераторы: Артер

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