//
// CC_Grouper
//
// Make Group with Prefix, Suffix, Search&Replace.
//
//==============================================================
//==============================================================
//
// CC_Grouper
//
// Make Group with Prefix, Suffix, Search&Replace.
//
//==============================================================
//==============================================================
// Window
//==============================================================
if (`window -exists window_ccgrp`){
deleteUI window_ccgrp;
}
window -t "CC Grouper v1.0" window_ccgrp;
window -e -wh 330 70 -sizeable true window_ccgrp;
columnLayout;
rowColumnLayout -nr 3 -rh 1 22 -rh 2 22 -rh 3 22;
rowColumnLayout -nc 4 -cw 1 50 -cw 2 100 -cw 3 70 -cw 4 100;
text -l " Search : " -al "left";
textField textSearch;
text -l " & Replace : " -al "left";
textField textReplace;
setParent..;
rowColumnLayout -nc 4 -cw 1 50 -cw 2 100 -cw 3 70 -cw 4 100;
text -l " Prefix : " -al "left";
textField textPrefix;
text -l " Suffix : " -al "right";
textField textSuffix;
setParent..;
rowColumnLayout -nc 1 -cw 1 320;
button -l "Select Objects and Click Here to Make Group" -c "cc_makegroup" buttonMake;
setParent..;
setParent..;
showWindow window_ccgrp;
//==============================================================
// make Group
//==============================================================
proc cc_makegroup(){
string $sel[] = `ls -sl`;
string $grpName;
string $objName;
for($objName in $sel){
$grpName = `group -em -n (ccgrp_make_name($objName))`;
string $parentName[] = `listRelatives -p $objName`;
if(size($parentName) > 0){
parent $grpName $parentName[0];
makeIdentity -apply true -t 1 -r 1 -s 1 -n 0 $grpName;
}
parentConstraint $objName $grpName;
select `listRelatives -type parentConstraint $grpName`;
doDelete;
makeIdentity -apply true -t 1 -r 1 -s 1 -n 0 $grpName;
parent $objName $grpName;
makeIdentity -apply true -t 1 -r 1 -s 1 -n 0 $objName;
}
}
//==============================================================
// make group name and return it
//==============================================================
proc string ccgrp_make_name(string $baseName){
string $returnName = $baseName;
string $search = `textField -q -tx textSearch`;
string $replace = `textField -q -tx textReplace`;
string $returnName = substituteAllString($returnName, $search, $replace);
string $prefix = `textField -q -tx textPrefix`;
string $suffix = `textField -q -tx textSuffix`;
if($prefix == "" && $suffix == ""){
$prefix = "grp_";
textField -e -tx $prefix textPrefix;
}
$returnName = $prefix + $returnName + $suffix;
return $returnName;
}