64 import maya.OpenMaya
as OpenMaya
65 import maya.OpenMayaMPx
as OpenMayaMPx
68 kPluginCmdName=
"spHelix"
71 kPitchLongFlag =
"-pitch"
73 kRadiusLongFlag =
"-radius"
76 class scriptedCommand(OpenMayaMPx.MPxCommand):
78 OpenMayaMPx.MPxCommand.__init__(self)
84 nknots = spans+2*deg-1
90 if argData.isFlagSet(kPitchFlag):
91 pitch = argData.flagArgumentDouble(kPitchFlag, 0)
92 if argData.isFlagSet(kRadiusFlag):
93 radius = argData.flagArgumentDouble(kRadiusFlag, 0)
100 for i
in range(0, ncvs):
102 pitch * i, radius * math.sin(i) ) )
104 for i
in range(0, nknots):
105 knotSequences.append( i )
119 curveFn.create( controlVertices,
121 OpenMaya.MFnNurbsCurve.kOpen,
125 curveFn.createWithEditPoints(controlVertices,
126 3, OpenMaya.MFnNurbsCurve.kOpen,
129 sys.stderr.write(
"Error creating curve.\n" )
135 return OpenMayaMPx.asMPxPtr( scriptedCommand() )
140 syntax.addFlag(kPitchFlag, kPitchLongFlag, OpenMaya.MSyntax.kDouble)
141 syntax.addFlag(kRadiusFlag, kRadiusLongFlag, OpenMaya.MSyntax.kDouble)
145 def initializePlugin(mobject):
146 mplugin = OpenMayaMPx.MFnPlugin(mobject,
"Autodesk",
"1.0",
"Any")
148 mplugin.registerCommand( kPluginCmdName, cmdCreator, syntaxCreator )
150 sys.stderr.write(
"Failed to register command: %s\n" % kPluginCmdName )
154 def uninitializePlugin(mobject):
155 mplugin = OpenMayaMPx.MFnPlugin(mobject)
157 mplugin.deregisterCommand( kPluginCmdName )
159 sys.stderr.write(
"Failed to unregister command: %s\n" % kPluginCmdName )