// =========================================================================== // Copyright 2018 Autodesk, Inc. All rights reserved. // // Use of this software is subject to the terms of the Autodesk license // agreement provided at the time of installation or download, or which // otherwise accompanies this software in either electronic or hard copy form. // =========================================================================== global proc string[] executeCmdOnItems( string $cmd, string $items[] ) // // Description : // Execute the cmd given the selection items it requires. // The results generated on one such execution is returned // in a string array. // The cmd has place holders $1, $2 ... which get // substituted by strings in items array. // NOTE : see appendToCmdPlaceHoldersForSelectionItems.mel // { int $count = size($items) ; string $pattern, $item; int $i ; string $tmpCmd = $cmd ; string $tmpCmd1 = $cmd ; for( $i = 0 ; $i < $count ; $i++ ) { $pattern = "%$i"; $item = $items[$i]; if( "" != $item ) { $tmpCmd = `substitute $pattern $tmpCmd1 ( "\"" +$item + "\"")`; } else { $tmpCmd = `substitute $pattern $tmpCmd1 $item`; } $tmpCmd1 = $tmpCmd ; } // evaluate the command. // string $results[] ; if( catch( $results = evalEcho($tmpCmd) ) ) { } return $results ; }