// =========================================================================== // 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: 17 June 2014 // // // Procedure Name: // ModelingCurvesMenu // // Description: // Create the MODELING->Curves menu // // Input Arguments: // Parent window that menu will be a part of. // // Return Value: // None. // global proc ModelingCurvesMenu( string $parent ) // // Description: // Modeling Curves menu // { int $hasSurfaces = `isTrue SurfaceUIExists`; setParent -m $parent; if( `menu -q -ni $parent` != 0 ) { // // Menu is built already - just return // return; } menuItem -divider true -dividerLabel (uiRes("m_ModelingCurvesMenu.kModifyDivider")); menuItem -rtc "LockCurveLength"; menuItem -rtc "UnlockCurveLength"; menuItem -d true -ld false; menuItem -rtc "BendCurves" -dragMenuCommand "performBendCurves 2" -dragDoubleClickCommand "BendCurvesOptions"; menuItem -optionBox true -annotation (getRunTimeCommandAnnotation("BendCurvesOptions")) -image "modifyBend.png" -command "BendCurvesOptions"; menuItem -rtc "CurlCurves" -dragMenuCommand "performCurlCurves 2" -dragDoubleClickCommand "CurlCurvesOptions"; menuItem -optionBox true -annotation (getRunTimeCommandAnnotation("CurlCurvesOptions")) -image "modifyCurl.png" -command "CurlCurvesOptions"; menuItem -rtc "ScaleCurvature" -dragMenuCommand "performScaleCurvature 2" -dragDoubleClickCommand "ScaleCurvatureOptions"; menuItem -optionBox true -annotation (getRunTimeCommandAnnotation("ScaleCurvatureOptions")) -image "modifyScaleCurvature.png" -command "ScaleCurvatureOptions"; menuItem -rtc "SmoothHairCurves" -dragMenuCommand "performSmoothHairCurves 2" -dragDoubleClickCommand "SmoothHairCurvesOptions"; menuItem -optionBox true -annotation (getRunTimeCommandAnnotation("SmoothHairCurvesOptions")) -image "modifySmooth.png" -command "SmoothHairCurvesOptions"; menuItem -rtc "StraightenCurves" -dragMenuCommand "performStraighten 2" -dragDoubleClickCommand "StraightenCurvesOptions"; menuItem -optionBox true -annotation (getRunTimeCommandAnnotation("StraightenCurvesOptions")) -image "modifyStraighten.png" -command "StraightenCurvesOptions"; menuItem -divider true -dividerLabel (uiRes("m_ModelingCurvesMenu.kEditDivider")); if ($hasSurfaces) { $cmd = "DuplicateCurve"; menuItem -rtc $cmd -dmc "duplicateCurveToolScript 2" duplicateCurveItem ; $cmd = "DuplicateCurveOptions"; menuItem -optionBox true -label (uiRes("m_ModelingCurvesMenu.kDupSurfCurvDialogLabel")) -annotation (getRunTimeCommandAnnotation($cmd)) -i "duplicateCurve.png" -c $cmd duplicateCurveDialogItem; menuItem -d true -ld false; } $cmd = "AlignCurve"; menuItem -rtc $cmd -dmc "alignCurveToolScript 2" alignItem; $cmd = "AlignCurveOptions"; menuItem -optionBox true -label (uiRes("m_ModelingCurvesMenu.kAlignCurvesDialogLabel")) -annotation (getRunTimeCommandAnnotation($cmd)) -i "alignCurve.png" -c $cmd alignDialogItem; $cmd = "AddPointsTool"; menuItem -rtc $cmd crvAppendItem; $cmd = "AttachCurve"; menuItem -rtc $cmd -dmc "attachCrvToolScript 2" attachCrvItem; $cmd = "AttachCurveOptions"; menuItem -optionBox true -label (uiRes("m_ModelingCurvesMenu.kAttachCrvDialogLabel")) -annotation (getRunTimeCommandAnnotation($cmd)) -i "attachCurves.png" -c $cmd attachCrvDialog; $cmd = "DetachCurve"; menuItem -rtc $cmd -dmc "detachCurveToolScript 2" detachItem; $cmd = "DetachCurveOptions"; menuItem -optionBox true -i "detachCurve.png" -label (uiRes("m_ModelingCurvesMenu.kDetachCrvDialogLabel")) -annotation (getRunTimeCommandAnnotation($cmd)) -c $cmd detachDialog; $cmd = "CurveEditTool"; menuItem -rtc $cmd crvEditorItem; menuItem -rtc "MoveCurveSeam" moveCurveSeamItem; $cmd = "OpenCloseCurve"; menuItem -rtc $cmd -dmc "closeCurveToolScript 2" closeItem; $cmd = "OpenCloseCurveOptions"; menuItem -optionBox true -i "closeGeom.png" -label (uiRes("m_ModelingCurvesMenu.kCloseCrvDialogLabel")) -annotation (getRunTimeCommandAnnotation($cmd)) -c $cmd closeDialogItem; menuItem -d true -ld false; $cmd = "CurveFillet"; menuItem -rtc $cmd -dmc "filletCurveToolScript 2" crvFilletItem; $cmd = "CurveFilletOptions"; menuItem -optionBox true -i "fillet.png" -label (uiRes("m_ModelingCurvesMenu.kFilletCrvDialogLabel")) -annotation (getRunTimeCommandAnnotation($cmd)) -c $cmd crvFilletDialogItem; $cmd = "CutCurve"; menuItem -rtc $cmd -dmc "cutCurveToolScript 2" cutCurvesItem; $cmd = "CutCurveOptions"; menuItem -optionBox true -i "cutCurves.png" -label (uiRes("m_ModelingCurvesMenu.kCutCrvDialogLabel")) -annotation (getRunTimeCommandAnnotation($cmd)) -c $cmd cutCurveDialogItem; $cmd = "IntersectCurve"; menuItem -rtc $cmd -dmc "intersectCurveToolScript 2" intersectCurvesItem; $cmd = "IntersectCurveOptions"; menuItem -optionBox true -i "intersectCurves.png" -label (uiRes("m_ModelingCurvesMenu.kIntersectCrvDialogLabel")) -annotation (getRunTimeCommandAnnotation($cmd)) -c $cmd intersectCurveDialogItem; menuItem -d true -ld false; if ($hasSurfaces){ menuItem -label (uiRes("m_ModelingCurvesMenu.kExtendCurvesLabel")) -sm 1 -to 1 -aob true; } $cmd = "ExtendCurve"; menuItem -rtc $cmd -dmc "extendCurveToolScript 2" extendCurveItem; $cmd = "ExtendCurveOptions"; menuItem -optionBox true -i "extend.png" -label (uiRes("m_ModelingCurvesMenu.kExtendCrvDialogLabel")) -annotation (getRunTimeCommandAnnotation($cmd)) -c $cmd extendCurveDialogItem; if ($hasSurfaces){ $cmd = "ExtendCurveOnSurface"; menuItem -rtc $cmd -dmc "extendCosCurveToolScript 2" extendCosCurveItem; $cmd = "ExtendCurveOnSurfaceOptions"; menuItem -optionBox true -i "extendCos.png" -label (uiRes("m_ModelingCurvesMenu.kExtendCOSDialogLabel")) -annotation (getRunTimeCommandAnnotation($cmd)) -c $cmd extendCosCurveDialogItem; setParent -m .. ; } $cmd = "InsertKnot"; menuItem -rtc $cmd -dmc "insertCurveToolScript 2" insertItem; $cmd = "InsertKnotOptions"; menuItem -optionBox true -i "insertKnot.png" -label (uiRes("m_ModelingCurvesMenu.kInsertKnotDialogLabel")) -annotation (getRunTimeCommandAnnotation($cmd)) -c $cmd insertDialog; if ($hasSurfaces){ menuItem -label (uiRes("m_ModelingCurvesMenu.kOffsetCurveLabel")) -sm 1 -to 1 -aob true; } $cmd = "OffsetCurve"; menuItem -rtc $cmd -dmc "offsetCurveToolScript 2" offsetCrvItem; $cmd = "OffsetCurveOptions"; menuItem -optionBox true -i "offsetCurve.png" -label (uiRes("m_ModelingCurvesMenu.kOffsetCrvDialogLabel")) -annotation (getRunTimeCommandAnnotation($cmd)) -c $cmd offsetCurveDialogItem; if ($hasSurfaces){ $cmd = "OffsetCurveOnSurface"; menuItem -rtc $cmd -dmc "offsetCosToolScript 2" offsetCosItem; $cmd = "OffsetCurveOnSurfaceOptions"; menuItem -optionBox true -i "offsetCos.png" -label (uiRes("m_ModelingCurvesMenu.kOffsetCOSDialogLabel")) -annotation (getRunTimeCommandAnnotation($cmd)) -c $cmd offsetCosDialogItem; setParent -m ..; } menuItem -d true -ld false; $cmd = "CVHardness"; menuItem -rtc $cmd -dmc "cvHardnessToolScript 2" hardenItem; $cmd = "CVHardnessOptions"; menuItem -optionBox true -label (uiRes("m_ModelingCurvesMenu.kCVHardnessDialogLabel")) -annotation (getRunTimeCommandAnnotation($cmd)) -c $cmd -i "cvHardness.png" hardenDialogItem; $cmd = "FitBSpline"; menuItem -rtc $cmd -dmc "fitBsplineToolScript 2" fitBsplineItem; $cmd = "FitBSplineOptions"; menuItem -optionBox true -i "fitBSpline.png" -label (uiRes("m_ModelingCurvesMenu.kFitBsplineDialogAnnot")) -annotation (getRunTimeCommandAnnotation($cmd)) -c $cmd fitBsplineDialogItem; $cmd = "ProjectTangent"; menuItem -rtc $cmd -dmc "projectTangentToolScript 2" projectTangentItem; $cmd = "ProjectTangentOptions"; menuItem -optionBox true -label (uiRes("m_ModelingCurvesMenu.kProjTanDialogLabel")) -annotation (getRunTimeCommandAnnotation($cmd)) -i "projectTangent.png" -c $cmd projectTangentDialogItem; $cmd = "SmoothCurve"; menuItem -rtc $cmd -dmc "smoothCurveToolScript 2" smoothItem; $cmd = "SmoothCurveOptions"; menuItem -optionBox true -label (uiRes("m_ModelingCurvesMenu.kSmoothCrvDialogLabel")) -annotation (getRunTimeCommandAnnotation($cmd)) -c $cmd -i "smoothCurve.png" smoothDialogItem; menuItem -d true -ld false; menuItem -label (uiRes("m_ModelingCurvesMenu.kBezierCrvLabel")) -sm 1 -to 1 -aob false; menuItem -label (uiRes("m_ModelingCurvesMenu.kBezierPresetsLabel")) -sm 1 -to 1 -aob false; menuItem -rtc "BezierPresetBezier" -enableCommandRepeat 1 ; menuItem -rtc "BezierPresetBezierCorner" -enableCommandRepeat 1 ; menuItem -rtc "BezierPresetCorner" -enableCommandRepeat 1 ; setParent -m ..; // anchor presets menuItem -label (uiRes("m_ModelingCurvesMenu.kBezierTangentOptions")) -sm 1 -to 1 -aob false; menuItem -rtc "BezierSetAnchorSmooth" -enableCommandRepeat 1 ; menuItem -rtc "BezierSetAnchorBroken" -enableCommandRepeat 1 ; menuItem -rtc "BezierSetAnchorEven" -enableCommandRepeat 1 ; menuItem -rtc "BezierSetAnchorUneven" -enableCommandRepeat 1 ; setParent -m ..; // tangent options setParent -m ..; // bezier curves menuItem -d true -ld false; $cmd = "RebuildCurve"; menuItem -rtc $cmd -dmc "rebuildCurveToolScript 2" rebuildCrvItem; $cmd = "RebuildCurveOptions"; menuItem -optionBox true -i "rebuildCurve.png" -label (uiRes("m_ModelingCurvesMenu.kRebuildCrvDialogLabel")) -annotation (getRunTimeCommandAnnotation($cmd)) -c $cmd rebuildCurveDialogItem; $cmd = "ReverseCurve"; menuItem -rtc $cmd -dmc "reverseCurveToolScript 2" reverseItem; $cmd = "ReverseCurveOptions"; menuItem -optionBox true -i "reverse.png" -label (uiRes("m_ModelingCurvesMenu.kReverseCrvDialogLabel")) -annotation (getRunTimeCommandAnnotation($cmd)) -c $cmd reverseDialogItem; setParent -m .. ; }