MEL How-To #02 | ||
| ||
How do I determine which Reference files are currently defined or loaded? How do I load and unload them?To find out which References exist for the currently loaded file: string $references[] = `file -q -r`; To find out which are loaded (ie. not deferred):
proc string[] referencesLoaded()
{
string $referencesLoaded[];
int $numLoaded = 0;
string $refs[] = `file -q -r`;
for ( $ref in $refs )
{
// If Reference is not deferred, then it is loaded
if ( !`file -q -dr $ref` )
$referencesLoaded[$numLoaded++] = $ref;
}
return $referencesLoaded;
}
To unload all references (this won't delete them from the Reference Editor):
proc unloadReferences()
{
string $referencesLoaded[] = referencesLoaded();
string $refNode;
for ( $refFile in $referencesLoaded )
{
// Need to get node that identifies reference
$refNode = `file -q -rfn $refFile`;
// Now you can unload it
file -ur $refNode $refFile;
}
}
To physically delete loaded references from the scene and the Reference Editor:
proc deleteLoadedReferences()
{
string $referencesLoaded[] = referencesLoaded();
for ( $refFile in $referencesLoaded )
{
file -rr $refFile;
}
}
And finally, to delete all References:
proc deleteAllReferences()
{
string $references = `file -q -r`;
for ( $refFile in $references )
{
file -rr $refFile;
}
}
| ||
| Copyright ©2005 by Bryan Ewert, maya@ewertb.com Maya is a Registered Trademark of Alias |