3DCenter.ru

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

 
Reply to this topicStart new topic
> Привязка к точкам (не Snaps Toggle) при изменении объекта
SvetRa
сообщение 25/07/2017, 16:17
Сообщение #1


Уже не новичок
Иконка группы

Группа: Пользователи
Сообщений: 16
Регистрация: 25/07/2017
Пользователь №: 136 268



Здравствуйте! интересует такая информация, хочу сделать так, чтобы при перемещении 1-ого объекта, 2-ой двигался за ним. Точнее - я изменяю точки объекта, к примеру перемещаю их, чтобы точки другого объекта двигались за ними. Объекты, это сплайны из линий, по ним будет отрисовываться дверь. Стекло двери будет зависеть от размеров сплайна двери. Как раз пытаюсь сделать, чтобы сплайн стекла, зависел от сплайна двери.

Сообщение отредактировал SvetRa - 25/07/2017, 16:18
Прикрепленные изображения
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
BorisK
сообщение 25/07/2017, 16:56
Сообщение #2


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

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



Если оба объекта - сплайны, навесьте сразу на оба объекта модификатор Edit Spline
Go to the top of the page
 
+Quote Post
SvetRa
сообщение 25/07/2017, 17:23
Сообщение #3


Уже не новичок
Иконка группы

Группа: Пользователи
Сообщений: 16
Регистрация: 25/07/2017
Пользователь №: 136 268



Цитата(BorisK @ 25/07/2017, 16:56) *
Если оба объекта - сплайны, навесьте сразу на оба объекта модификатор Edit Spline

ну и что? У меня проблем передвигать точки нету,а проблема с тем, чтобы при перемещении точек 1-ого обьекта, точки 2-ого обьекта тоже перемещались, хоть я их и не выделил одновременно с точками 1-ого обьекта.
Go to the top of the page
 
+Quote Post
BorisK
сообщение 25/07/2017, 17:26
Сообщение #4


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

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



Цитата(SvetRa @ 25/07/2017, 17:23) *
Цитата(BorisK @ 25/07/2017, 16:56) *
Если оба объекта - сплайны, навесьте сразу на оба объекта модификатор Edit Spline

ну и что? У меня проблем передвигать точки нету,а проблема с тем, чтобы при перемещении точек 1-ого обьекта, точки 2-ого обьекта тоже перемещались, хоть я их и не выделил одновременно с точками 1-ого обьекта.


Ну так выделите.
Go to the top of the page
 
+Quote Post
SvetRa
сообщение 25/07/2017, 17:29
Сообщение #5


Уже не новичок
Иконка группы

Группа: Пользователи
Сообщений: 16
Регистрация: 25/07/2017
Пользователь №: 136 268



Цитата(BorisK @ 25/07/2017, 16:56) *
Если оба объекта - сплайны, навесьте сразу на оба объекта модификатор Edit Spline

Я добился подобного модификатором скин, добавив в него думики на концах сплайнов, то есть 1-ому сплайну добавил модификатор Skin и добавил туда думик№1 и 2-ому сплайну добавил Skin и добавил туда думик№1, если перетаскивать за думик, все работает, но если изменять именно точки сплайна, то не получается синхронизации между сплайнами.
Go to the top of the page
 
+Quote Post
SvetRa
сообщение 25/07/2017, 17:34
Сообщение #6


Уже не новичок
Иконка группы

Группа: Пользователи
Сообщений: 16
Регистрация: 25/07/2017
Пользователь №: 136 268



Я вас понял, Благодарю, то что надо!
Go to the top of the page
 
+Quote Post
SvetRa
сообщение 25/07/2017, 17:53
Сообщение #7


Уже не новичок
Иконка группы

Группа: Пользователи
Сообщений: 16
Регистрация: 25/07/2017
Пользователь №: 136 268



Возникла другая проблема, что изменяя точки сплайна двери и сплайна стекла,ширина сплайна стекла менялась тоже. А она остается такой же, хоть сплайны с референс зависимостью меняются

Сообщение отредактировал SvetRa - 25/07/2017, 18:00
Прикрепленные изображения
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
BorisK
сообщение 25/07/2017, 18:04
Сообщение #8


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

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



Попробуйте двигать вершины в системе координат Parent (хотя я не очень понял суть поблемы)
Go to the top of the page
 
+Quote Post
SvetRa
сообщение 25/07/2017, 18:39
Сообщение #9


Уже не новичок
Иконка группы

Группа: Пользователи
Сообщений: 16
Регистрация: 25/07/2017
Пользователь №: 136 268



Цитата(BorisK @ 25/07/2017, 18:04) *
Попробуйте двигать вершины в системе координат Parent (хотя я не очень понял суть поблемы)

суть проблемы в том, что по рисунку, видно, что при изменении сплайна (сечение двери) захватывая точки сплайна сечения двери и сплайна высоты стекла, сплайн ширины стекла не меняется. То есть я для удобности сделал 4 зависимых сплайна (референс зависимость) А мне надо, чтобы захватив точки сплайна высоты стекла и сечения двери и изменив их, сплайн ширины стекла тоже изменился. (по рисунку получается уменьшился)
синяя горизонтальная - ширина стекла
синяя вертикальная - высота стекла
черные прямоугольники с референс зависимостью - сечение двери.
Путь построения двери отдельно (тут его нет) в виде прямоугольника.
(то есть надо как то связать сплайн ширины стекла, с сечением двери)

Сообщение отредактировал SvetRa - 25/07/2017, 18:44
Go to the top of the page
 
+Quote Post
Jahman
сообщение 25/07/2017, 21:22
Сообщение #10


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

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



тот случай, когда скриншот стоит тысячи слов

Прикрепленные файлы
Прикрепленный файл  linkedXform.zip ( 26,09 килобайт ) Кол-во скачиваний: 50
 
Go to the top of the page
 
+Quote Post
SvetRa
сообщение 25/07/2017, 21:37
Сообщение #11


Уже не новичок
Иконка группы

Группа: Пользователи
Сообщений: 16
Регистрация: 25/07/2017
Пользователь №: 136 268



Цитата(Jahman @ 25/07/2017, 21:22) *
тот случай, когда скриншот стоит тысячи слов

Благодарю! То что надо! Буду разбираться.)
Прошу, обьясните логику как делали и как работает.

Сообщение отредактировал SvetRa - 25/07/2017, 21:42
Go to the top of the page
 
+Quote Post
SvetRa
сообщение 25/07/2017, 21:59
Сообщение #12


Уже не новичок
Иконка группы

Группа: Пользователи
Сообщений: 16
Регистрация: 25/07/2017
Пользователь №: 136 268



А как к примеру наоборот сделать, линию привязать к грани сплайна?
Еще интересует, у вас плоскость - дверь , а нужно чтобы обьемная была.. Не подумайте, что я ленюсь, я сразу попробовал разные варианты, просто мне не хватает знаний.
___________________
К примеру shell, но а если форма сложная?

Сообщение отредактировал SvetRa - 25/07/2017, 22:26
Go to the top of the page
 
+Quote Post
Jahman
сообщение 26/07/2017, 00:06
Сообщение #13


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

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



QUOTE
Прошу, обьясните логику как делали и как работает.

Есть выделение, на него кладется linked xform и указывается объект к которому теперь это выделение привязано.

Полностью параметрический объект создать средствами макса можно, но не стоит. Скриптом куда быстрее
Go to the top of the page
 
+Quote Post
SvetRa
сообщение 26/07/2017, 08:37
Сообщение #14


Уже не новичок
Иконка группы

Группа: Пользователи
Сообщений: 16
Регистрация: 25/07/2017
Пользователь №: 136 268



Цитата(Jahman @ 26/07/2017, 00:06) *
Цитата
Прошу, обьясните логику как делали и как работает.

Есть выделение, на него кладется linked xform и указывается объект к которому теперь это выделение привязано.

Полностью параметрический объект создать средствами макса можно, но не стоит. Скриптом куда быстрее

А можете пример этого, показать скриптом пожалуйста?
Go to the top of the page
 
+Quote Post
Jahman
сообщение 26/07/2017, 10:54
Сообщение #15


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

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



не особо удачный пример.
заригить может даже быстрее чем все эжто писать. я в риге и анимации неуч

CODE
try (destroydialog X ) catch ()
rollout X "" width:250 (

    spinner w1 "width1" range:[-1e5,1e5,50.0] type:#worldunits fieldwidth:60 across:2
    spinner h1 "height1" range:[-1e5,1e5,50.0] type:#worldunits fieldwidth:60
    spinner w2 "width2" range:[-1e5,1e5,25.0] type:#worldunits fieldwidth:60 across:2
    spinner h2 "height2" range:[-1e5,1e5,25.0] type:#worldunits fieldwidth:60
    local shp, widthControls = #(w1,w2), heightControls = #(h1,h2), points = #()
    
    fn setWidth index val = (
        
        points[index][1].y =  widthControls[index].value / 2.0        
        points[index][2].y =  widthControls[index].value / 2.0
        points[index][3].y = -widthControls[index].value / 2.0
        points[index][4].y = -widthControls[index].value / 2.0
        
        setKnotPoint shp index 1 points[index][1]        
        setKnotPoint shp index 2 points[index][2]        
        setKnotPoint shp index 3 points[index][3]        
        setKnotPoint shp index 4 points[index][4]
        
        updateShape shp        
        
    )
    
    fn setHeight index val = (
        
        points[index][1].x =  heightControls[index].value / 2.0        
        points[index][2].x = -heightControls[index].value / 2.0
        points[index][3].x = -heightControls[index].value / 2.0
        points[index][4].x =  heightControls[index].value / 2.0
        
        setKnotPoint shp index 1 points[index][1]        
        setKnotPoint shp index 2 points[index][2]        
        setKnotPoint shp index 3 points[index][3]        
        setKnotPoint shp index 4 points[index][4]
        
        updateShape shp        
        
    )
    
    on x open do (
        
        shp = Rectangle width:w1.value length:h1.value
        convertToSplineShape shp        
        addAndWeld shp (convertToSplineShape (Rectangle width:w2.value length:h2.value)) 0.01        
        updateShape shp
        for i=1 to 2 do (append points #(); for j=1 to 4 do (append points[i] (getKnotPoint shp i j);setKnotType shp i j #corner))
        
    )
    
    on w1 changed val do setWidth 1 val
    on w2 changed val do setWidth 2 val
    on h1 changed val do setHeight 1 val
    on h2 changed val do setHeight 2 val

)
createDialog X pos:[100,100]


Сообщение отредактировал Jahman - 26/07/2017, 10:56
Go to the top of the page
 
+Quote Post
Bots
сообщение Системное сообщение






Reply to this topicStart new topic

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

 



RSS Текстовая версия Сейчас: 29/03/2024 - 01:26