//James Parks 11-16-05 //multiImport.mel //imports a specified file a specified number of times //for times when duplicating an object breaks it global proc jpMultiImport_getFileName() { string $thisFile = `fileDialog`; textFieldButtonGrp -e -tx $thisFile jpMIFileToImport; }//end proc getFileName global proc jpMI_collectAndCall() { string $thisFile = `textFieldButtonGrp -q -tx jpMIFileToImport`; int $numOfImports = `textFieldButtonGrp -q -tx jpMINumOfImports`; int $pad = `checkBoxGrp -q -v1 jpMIPadGrp`; int $startNum = `textFieldGrp -q -tx jpMIStartNum`; int $importOrReference = `radioButtonGrp -q -sl jpMIImportOrReference`; int $prefixOrNS = `radioButtonGrp -q -sl jpMIPrefixOrNS`; string $prefix = `textFieldGrp -q -tx jpMIPrefix`; jpImportLoop($thisFile, $numOfImports, $pad, $startNum, $importOrReference, $prefixOrNS, $prefix); }//end proc global proc jpImportLoop(string $thisFile, int $numOfImports, int $pad, int $startNum, int $importOrReference, int $prefixOrNS, string $prefix) { print ($thisFile + "\n"); print ($numOfImports + "\n"); print ($pad + "\n"); print ($startNum + "\n"); print ($importOrReference + "\n"); print ($prefixOrNS + "\n"); print ($prefix + "\n"); int $endNum = $startNum + $numOfImports - 1; //Import if($importOrReference == 1) { int $i; for($i=$startNum; $i<=$endNum; $i++) { file -import $thisFile; print ("\n" + $i + " iteration"); }//end for print ("\nFile "+ $thisFile + " brought in " + $i + "times"); }//end if //Reference if($importOrReference == 2) { int $i; string $paddedI; for($i=$startNum; $i<=$endNum; $i++) { if($pad == 1) $paddedI = jpPadNumber($i,4); else $paddedI = $i; if($prefixOrNS == 1) file -r -type "mayaAscii" -rpr ($prefix + $paddedI) -options "v=0" $thisFile; if($prefixOrNS != 1) file -r -type "mayaAscii" -ns ($prefix + $paddedI) -options "v=0" $thisFile; print ("\n" + $i + " iteration"); }//end for print ("\nFile "+ $thisFile + " referenced " + ($i-1) + " times"); }//end if }//end proc importLoop global proc jpMultiImport() { string $newFile = ""; string $prefix = ""; int $numOfImports = 1; int $pad = 0; int $startNum = 1; int $importOrReference = 0; int $prefixOrNS = 0; string $win = "multiImport"; if (`window -exists $win`) deleteUI -window $win; window -title "Multi Import -- James Parks" -minimizeButton true -maximizeButton false -wh 220 175 $win; columnLayout; radioButtonGrp -w 150 -h 20 -nrb 2 -cw 1 70 -cw 2 80 -l1 "Import" -l2 "Reference" -sl 2 // -cc1 "$importOrReference = `radioButtonGrp -q -sl jpMIImportOrReference`;print $importOrReference;" jpMIImportOrReference; radioButtonGrp -w 150 -h 20 -nrb 2 -cw 1 70 -cw 2 80 -l1 "Prefix" -l2 "NameSpace" -sl 2 // -cc1 "$prefixOrNS = `radioButtonGrp -q -sl jpMIPrefixOrNS`; print $prefixOrNS;" jpMIPrefixOrNS; textFieldButtonGrp -l "File Name" -bl "browse" -bc "jpMultiImport_getFileName()" -cal 1 "left" -cw 1 60 -cw 2 100 // -cc "$newFile = `textFieldButtonGrp -q -tx jpMIFileToImport`;print $newFile;" jpMIFileToImport; textFieldGrp -l "Prefix" -cal 1 "left" -cw 1 60 -cw 2 145 // -cc "$prefix = `textFieldGrp -q -tx jpMIPrefix`;print $prefix;" jpMIPrefix; checkBoxGrp -ncb 1 -cw 1 60 -cal 1 "left" -cal 2 "left" -l "Pad Numbers" -value1 1 // -cc1 "$pad = `checkBoxGrp -q -v1 jpMIPadGrp`;print $pad;" jpMIPadGrp; textFieldGrp -l "Start Number" -cal 1 "left" -tx "1" -cw 1 90 -cw 2 75 // -cc "$startNum = `textFieldGrp -q -tx jpMIStartNum`;print $startNum;" jpMIStartNum; textFieldButtonGrp -l "Times to Import" -bl "import" // -bc "$newFile = `textFieldButtonGrp -q -tx jpMIFileToImport`;jpImportLoop($newFile,$numOfImports,$pad,$startNum,$importOrReference,$prefixOrNS,$prefix)" //print ($newFile+\" \"+$numOfImports+\" \"+$pad+\" \"+$startNum+\" \"+$importOrReference+\" \"+$prefix); -bc "jpMI_collectAndCall()" -tx "1" -cal 1 "left" -cw 1 90 -cw 2 75 // -cc "$numOfImports = `textFieldButtonGrp -q -tx jpMINumOfImports`;print $numOfImports;" jpMINumOfImports; showWindow $win; }//end proc multiImport global proc string jpPadNumber(int $number, int $padding) { int $curSize = `size(string($number))`; if($curSize > $padding) error ("Number too large. Need more, at least" + $curSize + ", padding."); int $neededZeros = $padding - $curSize; string $paddedNumber = string($number); for($i = $neededZeros; $i > 0; $i--) { $paddedNumber = ("0" + $paddedNumber); //print ($paddedNumber + "\n"); } return $paddedNumber; }//end proc jpPadNumber