// =========================================================================== // 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: 14 January 1999 // // // Procedure Name: // boundaryToolScript // // Description: // create wrapper around the boundary command // // Input Arguments: // 0 ==> do the command. // 1 ==> show the action option box // 2 ==> return the command // 3 ==> show tool option box // 4 ==> enter the tool // // Return Value: // None. // global proc boundary4curves( int $ncurves, string $goToTool ) { scriptCtx -e -ssc $ncurves $goToTool; if( 4 == $ncurves ) { scriptCtx -e -setNoSelectionPrompt (uiRes("m_boundaryToolScript.kSelectFourCurves")) -setSelectionPrompt (uiRes("m_boundaryToolScript.kFourCurvesComputeBoundary")) $goToTool; } else if( 3 == $ncurves ) { scriptCtx -e -setNoSelectionPrompt (uiRes("m_boundaryToolScript.kSelectThreeCurves")) -setSelectionPrompt (uiRes("m_boundaryToolScript.kThreeCurvesComputeBoundary")) $goToTool; } else { scriptCtx -e -setNoSelectionPrompt (uiRes("m_boundaryToolScript.kSelectCurves")) -setSelectionPrompt (uiRes("m_boundaryToolScript.kComputeBoundary")) $goToTool; } } global proc boundaryToolSetup( int $forceFactorySettings, string $goToTool ) { if( $forceFactorySettings || !`optionVar -ex boundaryEuc` ) { optionVar -iv boundaryEuc 0; } if( $forceFactorySettings || !`optionVar -ex boundaryLac` ) { optionVar -iv boundaryLac 1; } if( "" != $goToTool ) { scriptCtx -e -euc `optionVar -q boundaryEuc` $goToTool; scriptCtx -e -lac `optionVar -q boundaryLac` $goToTool; boundary4curves 0 $goToTool; } } global proc boundaryValues ( string $toolName ) { performBoundary 3 $toolName; scriptCtxCommonValues( $toolName ); } global proc boundaryProperties() { scriptCtxCommonProperties; } global proc boundaryAutoComplete( int $val, string $goToTool ) { scriptCtx -e -lac $val $goToTool; boundary4curves `optionVar -q boundaryAutoEdgeCount` $goToTool; } proc createBoundaryContext( string $tool ) { if( ! `scriptCtx -exists $tool` ) { boundaryToolSetup( 0, "" ); scriptCtx -i1 "boundary.png" -title (uiRes("m_boundaryToolScript.kBoundaryTool")) -bcn "boundary" -exitUponCompletion `optionVar -q boundaryEuc` -totalSelectionSets 1 -expandSelectionList true -fcs ("boundaryToolScript 0") -setNoSelectionPrompt (uiRes("m_boundaryToolScript.kSelectCurves")) -setSelectionPrompt (uiRes("m_boundaryToolScript.kComputeBoundary")) -setAutoToggleSelection true -setAutoComplete `optionVar -q boundaryLac` -showManipulators true -setSelectionCount 0 -nurbsCurve true -isoparm true -curveOnSurface true -surfaceEdge true -polymeshEdge true $tool; } } global proc string boundaryToolScript( int $setToTool ) // // Description : // 0 ==> do the command. // 1 ==> show the action option box // 2 ==> return the command // 3 ==> show tool/action option box // 4 ==> enter the tool/do the command { string $tool = ""; if( $setToTool > 2 ) { if( !`optionVar -q modelWithToolBoundary` ) { $setToTool = 4 - $setToTool; } else { $tool = "boundaryContext"; createBoundaryContext $tool; } } return scriptToolScript( "performBoundary", $setToTool, $tool ); }