// =========================================================================== // 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: // extrudeToolScript // // Description: // create wrapper around the extrude 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 extrudeToolSetup( int $forceFactorySettings, string $goToTool ) { if( $forceFactorySettings || !`optionVar -ex extrudeEuc` ) { optionVar -iv extrudeEuc 0; } if( $forceFactorySettings || !`optionVar -ex extrudeLac` ) { optionVar -iv extrudeLac 1; } if( "" != $goToTool ) { scriptCtx -e -euc `optionVar -q extrudeEuc` $goToTool; scriptCtx -e -lac `optionVar -q extrudeLac` $goToTool; } } global proc extrudeValues ( string $toolName ) { performExtrude 3 $toolName; scriptCtxCommonValues( $toolName ); } global proc extrudeProperties() { scriptCtxCommonProperties; } proc createExtrudeContext( string $tool, int $needPath ) { if( ! `scriptCtx -exists $tool` ) { extrudeToolSetup( 0, "" ); string $extrudeTool = (uiRes("m_extrudeToolScript.kExtrudeTool")); string $selectCurve = (uiRes("m_extrudeToolScript.kSelectCurve")); if( $needPath ) { scriptCtx -i1 "extrude.png" -title $extrudeTool -bcn "extrude" -exitUponCompletion `optionVar -q extrudeEuc` -totalSelectionSets 2 -expandSelectionList true -showManipulators true -cumulativeLists true -fcs ("extrudeToolScript 0") -setNoSelectionPrompt $selectCurve -setSelectionPrompt (uiRes("m_extrudeToolScript.kSelectPath")) -setAutoToggleSelection true -setAutoComplete `optionVar -q extrudeLac` -setSelectionCount 1 -nurbsCurve true -isoparm true -curveOnSurface true -surfaceEdge true -polymeshEdge true -setNoSelectionPrompt $selectCurve -setSelectionPrompt (uiRes("m_extrudeToolScript.kComputeExtrude")) -setAutoToggleSelection true -setAutoComplete `optionVar -q extrudeLac` -setSelectionCount 1 -nurbsCurve true -isoparm true -curveOnSurface true -surfaceEdge true -polymeshEdge true $tool; } else { scriptCtx -i1 "extrude.png" -title $extrudeTool -bcn "extrude" -exitUponCompletion `optionVar -q extrudeEuc` -totalSelectionSets 1 -expandSelectionList true -showManipulators true -cumulativeLists true -fcs ("extrudeToolScript 0") -setNoSelectionPrompt ("Select curve(s), isoparm(s) " + "or trim edge(s) to be extruded.") -setSelectionPrompt ("Select next curve, isoparm or trim " + "edge or press ENTER to extrude.") -setAutoToggleSelection true -setAutoComplete `optionVar -q extrudeLac` -setSelectionCount 0 -nurbsCurve true -isoparm true -curveOnSurface true -surfaceEdge true -polymeshEdge true $tool; } } } global proc string extrudeToolScript( 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 modelWithToolExtrude` ) { $setToTool = 4 - $setToTool; } else { int $needPath = `optionVar -q extrudeStyle`; if( $needPath ) { $tool = "extrudeContextPath"; } else { $tool = "extrudeContext"; } createExtrudeContext( $tool, $needPath ); } } return scriptToolScript( "performExtrude", $setToTool, $tool ); }