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

Как определить длинну ребра и площадь грани?

Тема в разделе "Maya", создана пользователем Ghost Inet, 24 дек 2009.

Модераторы: Dark™, Skif
  1. Ghost Inet

    Ghost Inet Активный участник

    С нами с:
    04.11.2009
    Сообщения:
    79
    Симпатии:
    0
    Баллы:
    5
    Изучая Polygons -› Cleanup (Polygon Cleanup Options) столкнулся с необходимостью вычисления длинны ребра и площади грани.
    А как узнать это у выделенных?
     
  2. Dark™ vip

    Dark™ Administrator Команда форума

    С нами с:
    28.10.2001
    Сообщения:
    3.110
    Симпатии:
    217
    Баллы:
    1.520
    Идем сюда и изучаем. Для площади есть команда polyEvaluate -a {объект}
     
  3. Ghost Inet

    Ghost Inet Активный участник

    С нами с:
    04.11.2009
    Сообщения:
    79
    Симпатии:
    0
    Баллы:
    5
    polyEvaluate -a выдает площадь всей поверхности объекта, (сторона куба = 1) хоть я и задаю название грани:
    select -r pCube1.f[1] ;
    polyEvaluate -a pCube1.f[1];
    // Result: 6 //
     
  4. Dark™ vip

    Dark™ Administrator Команда форума

    С нами с:
    28.10.2001
    Сообщения:
    3.110
    Симпатии:
    217
    Баллы:
    1.520
    Можно простенький скрипт сделать
    Код:
    string $objs[] = `ls -sl`;
    string $temp_objs[]={};
    string $temp_obj = `match "^[^\.]*" $objs[0]`;
    duplicate -n tempmesh $temp_obj;
    for ($i=0;$i<size($objs);$i++) {
    	string $temp_comp = `match "\\..*" $objs[$i]`;
    	$temp_objs[$i] = "tempmesh"+$temp_comp;
    }
    polyChipOff -ch 0 -kft 1 -dup 0 -off 0 $temp_objs;
    polySeparate -ch 0 tempmesh;
    $total = size($objs);
    select `ls -sl -tl $total`;
    float $area[] = `polyEvaluate -a`;
    if($area[0]!=0) {
    	delete tempmesh;
    }
    print("Area: "+$area[0]);
    select $objs;
    
     
Модераторы: Dark™, Skif

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