// =========================================================================== // 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: // squareSrfToolScript // // Description: // create wrapper around the squareSrf 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 squareSrfValues ( string $toolName ) { performSquareSrf 3 $toolName; scriptCtxCommonValues( $toolName ); } global proc squareSrfProperties() { scriptCtxCommonProperties; } global proc squareSrf4curves( int $ncurves, string $goToTool ) { scriptCtx -e -ssc $ncurves $goToTool; if( 4 == $ncurves ) { scriptCtx -e -setNoSelectionPrompt (uiRes("m_squareSrfToolScript.kSelectFourCurves")) -setSelectionPrompt (uiRes("m_squareSrfToolScript.kFourCurvesComputeBoundary")) -setSelectionCount 4 $goToTool; } else if( 3 == $ncurves ) { scriptCtx -e -setNoSelectionPrompt (uiRes("m_squareSrfToolScript.kSelectThreeCurves")) -setSelectionPrompt (uiRes("m_squareSrfToolScript.kThreeCurvesComputeBoundary")) -setSelectionCount 3 $goToTool; } else { scriptCtx -e -setNoSelectionPrompt (uiRes("m_squareSrfToolScript.kSelectCurves")) -setSelectionPrompt (uiRes("m_squareSrfToolScript.kComputeBoundary")) -setSelectionCount 0 $goToTool; } } global proc squareSrfToolSetup( int $forceFactorySettings, string $goToTool ) { if( $forceFactorySettings || !`optionVar -ex closeSurfaceEuc` ) { optionVar -iv squareSurfaceEuc 0; } if( $forceFactorySettings || !`optionVar -ex squareSurfaceLac` ) { optionVar -iv squareSurfaceLac 1; } if( "" != $goToTool ) { scriptCtx -e -euc `optionVar -q squareSurfaceEuc` $goToTool; scriptCtx -e -lac `optionVar -q squareSurfaceLac` $goToTool; squareSrf4curves `optionVar -q squareSrfAutoEdgeCount` $goToTool; } } global proc squareSrfAutoComplete( int $val, string $goToTool ) { scriptCtx -e -lac $val $goToTool; squareSrf4curves `optionVar -q squareSrfAutoEdgeCount` $goToTool; } proc createSquareSrfContext( string $tool ) { if( ! `scriptCtx -exists $tool` ) { squareSrfToolSetup( 0, "" ); scriptCtx -i1 "squareSrf.png" -title (uiRes("m_squareSrfToolScript.kSquareSurfaceTool")) -bcn "squareSrf" -exitUponCompletion `optionVar -q squareSurfaceEuc` -totalSelectionSets 1 -expandSelectionList true -fcs ("squareSrfToolScript 0") -setNoSelectionPrompt (uiRes("m_squareSrfToolScript.kSelectCurves")) -setSelectionPrompt (uiRes("m_squareSrfToolScript.kComputeBoundary")) -setAutoToggleSelection true -setAutoComplete `optionVar -q squareSurfaceLac` -showManipulators true -setSelectionCount 4 -nurbsCurve true -isoparm true -curveOnSurface true -surfaceEdge true -polymeshEdge true $tool; } } global proc string squareSrfToolScript( 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 modelWithToolSquareSrf` ) { $setToTool = 4 - $setToTool; } else { $tool = "squareSrfContext"; createSquareSrfContext $tool; } } return scriptToolScript( "performSquareSrf", $setToTool, $tool ); }