// =========================================================================== // 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. // =========================================================================== // // // Creation Date: 19 May 1997 // // // Procedure Name: // lattice autoparent // // Description: // Verify that only a single object is selected. // If so, create a lattice that deforms the given // object and parent the lattice and its base lattice // to the given object. // // Input Arguments: // None. // // Return Value: // None. // global proc latticeAutoparent(string $latticeCmd) { string $sArr[2] = `ls -sl -tail 2`; // verify that only a single item is selected // if (1 != size($sArr)) { error((uiRes("m_latticeAutoparent.kAutoparentSelError"))); return; } string $ffdResult[]; string $ffdNode; string $selectedItem = $sArr[0]; // execute the given command string // if (catch($ffdResult = `eval($latticeCmd)`)) { return; } $ffdNode = $ffdResult[0]; // parent either: // latticeGroup if single transform method was used, // else lattice and base lattice // string $parents[2] = `listRelatives -p`; $sArr = `ls -sl -tail 2`; if (size($sArr) > 0) { string $newLattice = $sArr[0]; if (size($parents) > 0) { // lattice group // parent $parents[0] $selectedItem; select $newLattice; } else { parent $sArr[0] $selectedItem; // parent lattice and base lattice // $sArr = `listConnections ($ffdNode+".blm")`; if (size($sArr) > 0) { parent $sArr[0] $selectedItem; } select $newLattice; } } }