Привет, столкнулся с такой проблемой :
Написал код, который добавляет к именам обьектов префикс. Код работает нормально ,но он ведет себя странно , когда надо переименовать связку костей. Тогда она добвляет префикс таким образом, что каждый потомок имеет введеный мною префикс плюс строку с именами всех ее родителей. В итоге последня кость в иерархии имеет очень длиное имя .
Дело в том, что это происходит именно со связкой костей. Если они вне связки , то все нормально. Даже создав, ту же самую связку(родитель потомок) из нескиольких сфер или других обьектов то код работает так, как должен это делать. Где я ошибся?
Вот собсна код :
global proc renNombra(){
string $objetos[] = `ls -sl` ;
int $cantObjetos = size($objetos);
int $i;
//get string
string $prefijo = `textField -q -tx tFldPrefix`;
//declare necessary variables
string $nombreCortNuevo;
//add the prefix
for ($i = 0 ; $i<$cantObjetos; $i++){
if($prefijo == "")
{
string $nombreCortNuevo = ($prefijo + $objetos[$i]);
rename $objetos[$i] $nombreCortNuevo;
}
else{
string $nombreCortNuevo = ($prefijo + $objetos[$i]);
rename $objetos[$i] $nombreCortNuevo;
}
//error message if text filed is blank
if($prefijo == "")
{
error "Text field is blank!";
}
}
}
// UI
global proc ki_prefix(){
if (`window -exists kiRenWindow`)
deleteUI kiRenWindow;
window -t "Ikas Rename Window" -sizeable true -titleBar true kiRenWindow;
columnLayout;
rowColumnLayout;
text -l "Prefix" -align "left";
textField -tx "" tFldPrefix;
setParent"..";
separator -style "none" -w 300 -h 10;
button -label "Add" -align "center" -c renNombra addButton;
showWindow kiRenWindow;
}
Написал код, который добавляет к именам обьектов префикс. Код работает нормально ,но он ведет себя странно , когда надо переименовать связку костей. Тогда она добвляет префикс таким образом, что каждый потомок имеет введеный мною префикс плюс строку с именами всех ее родителей. В итоге последня кость в иерархии имеет очень длиное имя .
Дело в том, что это происходит именно со связкой костей. Если они вне связки , то все нормально. Даже создав, ту же самую связку(родитель потомок) из нескиольких сфер или других обьектов то код работает так, как должен это делать. Где я ошибся?
Вот собсна код :
global proc renNombra(){
string $objetos[] = `ls -sl` ;
int $cantObjetos = size($objetos);
int $i;
//get string
string $prefijo = `textField -q -tx tFldPrefix`;
//declare necessary variables
string $nombreCortNuevo;
//add the prefix
for ($i = 0 ; $i<$cantObjetos; $i++){
if($prefijo == "")
{
string $nombreCortNuevo = ($prefijo + $objetos[$i]);
rename $objetos[$i] $nombreCortNuevo;
}
else{
string $nombreCortNuevo = ($prefijo + $objetos[$i]);
rename $objetos[$i] $nombreCortNuevo;
}
//error message if text filed is blank
if($prefijo == "")
{
error "Text field is blank!";
}
}
}
// UI
global proc ki_prefix(){
if (`window -exists kiRenWindow`)
deleteUI kiRenWindow;
window -t "Ikas Rename Window" -sizeable true -titleBar true kiRenWindow;
columnLayout;
rowColumnLayout;
text -l "Prefix" -align "left";
textField -tx "" tFldPrefix;
setParent"..";
separator -style "none" -w 300 -h 10;
button -label "Add" -align "center" -c renNombra addButton;
showWindow kiRenWindow;
}