2017-03-09 2 views
0

私はPythonを使用してMayaでユーザーインターフェイスを作成しています。このエラーが発生し続ける:Maya Pythonエラー:キーワードを式にすることはできませんか?

Error: line 1: keyword can't be an expression 

これを解決する方法を知っている人はいますか?物事の

image

import maya.cmds as cmds 
if mc.window(ram, exists =True): 
    mc.deleteUI(ram) 

ram = cmds.window("RenamerWin",t = "Renamer Tool", w=300, h=300) 
cmds.columnLayout(adj = True) 
cmds.text("Welcome to the tool renamer") 
cmds.separator(h=10) 

cubW = cmds.intSliderGrp(1 = "Width",min =0, max =10, field =True) 
cubH = cmds.intSliderGrp(1 = "Height",min =0, max =10, field =True) 
cubD = cmds.intSliderGrp(1 = "Depth",min =0, max =10, field =True) 

cmds.button(l = "Create a Cube",c="myCube()") 

cmds.showWindow(ram) 

def myCube(): 
    myCubeWidth = cmds.intSliderGrp(cubW , q= True,value =True) 
    myCubeHeight = cmds.intSliderGrp(cubH , q= True,value =True) 
    myCubeDepth = cmds.intSliderGrp(cubWD , q= True,value =True) 
    finalCube = cmds.polyCube(w=myCubeWidth,h=myCubeHeight,d=myCubeDepth , n = "myCube") 
+2

、必ず最初からここに直接テキストとしてのコードを投稿してください。コードの画像は、あまり有用ではありません。 – Carcigenicate

+0

@Carcigenicateはそれを更新しました:) –

答えて

0

カップル:あなたは、交換可能にmccmdsを使用している

  1. 。これは、リスナー内で異なるタイミングで両方を実行した場合には機能しますが、使用する前には定義されていません。
  2. ramは使用前に定義されていません。 2行目はこれを実行していない人にとっては失敗します。
  3. あなたはコマンドが引数を取る必要がありmyCube()
  4. ボタンで最後のスライダーの名前を誤って入力文字L.
  5. を望んでいたときは、番号1を入力しました。

実用バージョンです。あなたが持っていたものとの違いを確認してください。私はそれが以前の実行の残り物でトラブルにあなたを取得していないことを確認するためにデフ内全体を置くことに注意してください:

import maya.cmds as cmds 
def example(): 
    ram = 'RenamerWin' 
    if cmds.window(ram, q = True, exists =True): 
     cmds.deleteUI(ram) 

    ram = cmds.window("RenamerWin",t = "Renamer Tool", w=300, h=300) 
    cmds.columnLayout(adj = True) 
    cmds.text("Welcome to the tool renamer") 
    cmds.separator(h=10) 

    cubW = cmds.intSliderGrp(l = "Width", min =0, max = 10, field = True) 
    cubH = cmds.intSliderGrp(l = "Height", min =0, max = 10, field = True) 
    cubD = cmds.intSliderGrp(l = "Depth", min =0, max = 10, field = True) 

    def myCube(_): 
     myCubeWidth = cmds.intSliderGrp(cubW , q= True,value =True) 
     myCubeHeight = cmds.intSliderGrp(cubH , q= True,value =True) 
     myCubeDepth = cmds.intSliderGrp(cubD , q= True,value =True) 
     finalCube = cmds.polyCube(w=myCubeWidth,h=myCubeHeight,d=myCubeDepth , n = "myCube") 

    cmds.button(l = "Create a Cube",c=myCube) 

    cmds.showWindow(ram) 

example() 
+0

ありがとう、私は多くの間違いがあったことに気づいていませんでした! –

+0

次に、ユーザーがy z x軸の位置情報を入力できるようにしますか? 歓声 –

+0

同じ基本的なことは...あなたは 'myCube'を宣言する前にコントロールを追加し、そこで行われたのと同じ方法でコントロールにアクセスする必要があります。新しく作成したキューブで 'xform'コマンドを使って指定した場所に移動することができます – theodox

関連する問題