Porsche — Underwater road
3d award

MEL help

Online|Offline Леденев Александр 0.0 71.3 23 марта 2013 в 19:57 #0

Аватар Леденев Александр
Есть тут люди, знающие mel?
Решил изучить и для тренировки, придумал себе задание - построить размерную линию от одной точки до другой. Т.к. я ещё зеленый чайник, решил построить задачу таким образом: выделить одну вершину => нажать кнопку "А", выделить вторую вершину => нажать кнопку "В", потом нажать кнопку "Dimension" для построения размерной линии.

Возникли некоторые вопросы:
1) Как сделать так, чтобы процедура работала только один раз? Из листинга ниже, видно что при каждом упоминании процедуры, идет перерасчет заново. В итоге, при нажатии кнопки "Dimension", точка А имеет такие же координаты, что и точка В.
Подозреваю, что ответ кроется в циклах, но не знаю как переменную сделать константой с момента нажатия кнопки "А" до момента нажатия кнопки "Dimension"
2) Почему в строках 22 и 25 (нумерация строк на скриншоте) при присвоении переменной $A и $B, данные обнуляются? (результат продемонстрирован на скриншоте)
3) Есть ли команда для скрывания окна? команда showWindow - показывает окно, а команды hideWindow почему-то нет.

наверно я трудную задачу себе поставил, хотя всего-то три действия



// Координаты первой точки
proc pntA ()
{
$selPnt1 = `ls -selection`;
vector $Ax = `pointPosition $selPnt1`;
print ("Координаты точки А:" + $Ax + "
");
}

// Координаты второй точки
proc pntB ()
{
$selPnt2 = `ls -selection`;
vector $Bx = `pointPosition $selPnt2`;
print ("Координаты точки B:" + $Bx + "
");
}


// Построить размерную линию
proc distDim ()
{
vector $A = pntA ();
print ("
После присвоения $A:" + $A);

vector $B = pntB ();
print ("
После присвоения $B:" + $B);

distanceDimension -sp ($A.x) ($A.y) ($A.z) -ep ($B.x) ($B.y) ($B.z);
}

// Создание окна
window ;
rowLayout -numberOfColumns 3;
button -label " А " -command "pntA";
button -label " B " -command "pntB";
button -label " Dimension " -command "distDim";
showWindow ;

Online|Offline Леденев Александр 0.0 71.3 23 марта 2013 в 20:13 #0

Аватар Леденев Александр
почему переменные $Ax и $Bx называются Ax и Bx? Не знаю, тупанул, но их смысл никак не связан с осью "х".
Что бы оставить сообщение вам необходимо войти или зарегистрироваться!

Форумещё

Блогиещё

Популярные урокиещё

Реклама

3dmir.ru - Вся компьютерная графика
      www.megastock.ru