Here is the entire script.
# Fires a curve from the camera to the selected object. By Robert Rioux. Inspired by NavKit by Laurent Taillefer. :-)
import maya.cmds as cmds
target = cmds.ls(sl=True)
class rayProject(object):
def __init__(self,*args):
self.rayProjectWin = 'rayProject'
if cmds.window(self.rayProjectWin, exists=True):
cmds.deleteUI(self.rayProjectWin)
self.buildWin()
def buildWin(self,*args):
self.rayProject = cmds.window(self.rayProjectWin, t="Ray Project", tlb = True, w=100, h=30, bgc= [0.4,0.4,0.4])
theRowLayout = cmds.rowColumnLayout(nc=1,columnWidth=(30,1), h=30)
cmds.button(label="Fire!", width = 80, command = self.fire)
cmds.setParent( theRowLayout )
# Display the window
cmds.showWindow(self.rayProjectWin)
# Project the curve
def fire(*args):
target = cmds.ls(sl=True)
print target
if target == None:
#cmds.error("Please select a locator")
print target
print "Check if statment"
else:
print "else"
transform = maya.cmds.xform( target, q=True, ws=True, t=True )
pan = cmds.getPanel(wf=True)
cam = cmds.modelPanel(pan, q=True, camera=True)
transformCam = maya.cmds.xform( cam, q=True, ws=True, t=True )
cmds.curve (p=[(transformCam[0],transformCam[1],transformCam[2]),(transform[0],transform[1],transform[2])], d=1)
newCurve = cmds.ls(sl=True)
cmds.xform (r=True, piv=(transformCam[0],transformCam[1],transformCam[2]))
cmds.xform (s=(10,10,10))
cmds.select (target)
rayProject()