getKnotType <shape> <spline_index_integer> <knot_index_integer>
Returns the knot type of the indexed knot in the indexed spline. The value is one of the names #smooth, #corner, #bezier, or #bezierCorner.
getInVec <shape> <spline_index_integer> <knot_index_integer>
Retrieves the coordinates of the in-vector handle for the indexed knot as a point3 in the current working coordinate system.
setInVec <shape> <spline_index_integer> <knot_index_integer> <point3>
Sets the coordinates of the in-vector handle of the indexed knot. Coordinates are given in the current working coordinate system.
getOutVec <shape> <spline_index_integer> <knot_index_integer>
Retrieves the coordinates of the out-vector handle for the indexed knot as a point3 in the current working coordinate system.
setOutVec <shape> <spline_index_integer> <knot_index_integer> <point3>
Sets the coordinates of the out-vector handle of the indexed knot. Coordinates are given in the current working coordinate system.
А можно ли как нибудь через скрипт какой - Выделив несколько точек на bezier или bezierCorner выделить и перемещать(манипулировать) сразу несколько knot-ов этих точек на bezier с помощью мыши? Про ротейты нескольких точек с knot-ами знаю но это не то что нужно.
Да это вполне возможно: управлять узлами есть возможность, методы для получения данных с мышки тоже есть, выделенные точки можно получить, а вот скнотами сложнее но и это можно обойти при должной смекалки. Так что все в твоих руках.
Один из примеров как работать с мышю глянь главу: How To ... Draw a Freehand Spline
PS
Тут идельно было-бы написать Манипулятор(тип скрипта плугина для визульного управления параметрами), но это намного сложнее.
Сильно помочь тебе сейчас не смогу, напряженно со свободным временем, возможно кто-то из ребят согласиться помочь.
Но алгоритм может быть примерно такой:
Выделяееш на линии нужныйе узлы, дальше работа скрипта:
1.сохраняем в tmp масиве начальные значения in и out векторов для выделенных узлов
2.с помощью mouse tool (см пример Draw a Freehand Spline ) вычисляется дельта позиции курсора между перым нажатием и текущим положением = d
3. в цикле по выденнвм узлам:
4. .Если нажата левая клавиша мыши: то новый InVec для i узла будет равен начальному значению из ранее сохраненного масива плюс дельта. InVec = tmpInVec + d
5. .Если нажата правая левая клавиша мыши: тожесамое для OutVec
6 Если Esc востановить значения InVec, OutVec векторов из tmp масива.
Доступ к резюме доступен только по пакетному доступу HR менеджерам зарегистрированных компаний. Узнать о вариантах корпоративных пакетов можно по ссылке.
mifestofel
В хэлпах что-то непонятное написано.
Спасибо.
Гость
Что для зтого ипользуеш когда делаеш руками ?
mifestofel
Savin Denis
можно только включить ручной режим:
splineOps.startFillet <editable_spline_or_line_node_or_modifier>
Enters "Fillet" command mode - valid in Vertex Sub-Object level.
mifestofel
Savin Denis
У каждой точки в безье кривой есть два параметра - invec , outvec
Если ты только строиш прямую то можеш укарать сразу все параметры
addKnot <shape> <spline_index_integer> \
( #smooth | #corner | #bezier | #bezierCorner ) \
( #curve | #line ) <position_point3> \
[invec_point3 outvec_point3] \
[where_integer]
Если нужно управлять у готовой :
getKnotType <shape> <spline_index_integer> <knot_index_integer>
Returns the knot type of the indexed knot in the indexed spline. The value is one of the names #smooth, #corner, #bezier, or #bezierCorner.
setKnotType <shape> \
<spline_index_integer> \
<knot_index_integer> \
(#smooth | #corner | #bezier | #bezierCorner )
getInVec <shape> <spline_index_integer> <knot_index_integer>
Retrieves the coordinates of the in-vector handle for the indexed knot as a point3 in the current working coordinate system.
setInVec <shape> <spline_index_integer> <knot_index_integer> <point3>
Sets the coordinates of the in-vector handle of the indexed knot. Coordinates are given in the current working coordinate system.
getOutVec <shape> <spline_index_integer> <knot_index_integer>
Retrieves the coordinates of the out-vector handle for the indexed knot as a point3 in the current working coordinate system.
setOutVec <shape> <spline_index_integer> <knot_index_integer> <point3>
Sets the coordinates of the out-vector handle of the indexed knot. Coordinates are given in the current working coordinate system.
незабудь в коце проапдейтить - updateShape()
mifestofel
Settip
Savin Denis
Один из примеров как работать с мышю глянь главу: How To ... Draw a Freehand Spline
PS
Тут идельно было-бы написать Манипулятор(тип скрипта плугина для визульного управления параметрами), но это намного сложнее.
Settip
Я все еще в поиске как это сделать.
Savin Denis
Но алгоритм может быть примерно такой:
Выделяееш на линии нужныйе узлы, дальше работа скрипта:
1.сохраняем в tmp масиве начальные значения in и out векторов для выделенных узлов
2.с помощью mouse tool (см пример Draw a Freehand Spline ) вычисляется дельта позиции курсора между перым нажатием и текущим положением = d
3. в цикле по выденнвм узлам:
4. .Если нажата левая клавиша мыши: то новый InVec для i узла будет равен начальному значению из ранее сохраненного масива плюс дельта. InVec = tmpInVec + d
5. .Если нажата правая левая клавиша мыши: тожесамое для OutVec
6 Если Esc востановить значения InVec, OutVec векторов из tmp масива.