2017-02-10 166 views
0

我想了一堆的MEL代碼轉換成Python在Maya 2015年這樣的組時失敗:mel2pyStr選擇對象

mel2py.mel2pyStr(melCmd,pymelNamespace='pm', verbosity=4, forceCompatibility=True) 

其中melCmd是多行代碼。

但轉換以下行失敗時:

select -add pPipe1.e[2500:2549] ; 

的錯誤指出:是意外:

p_expression - line 12 
original token: 
['None', '2500'] 
result: 
2500 
# Result : <Token @ 0x18faa7a2678> ('2500') 
# 
# State : 271 
# Stack : translation_unit ID command_statement_input_list ID LBRACKET expression . LexToken(COLON,u':',12,407) 
# ERROR: Error : translation_unit ID command_statement_input_list ID LBRACKET expression . LexToken(COLON,u':',12,407) 
# 
# State : 0 
# Stack : . $end 
# ERROR: Error : . $end 
# Error: MelParseError: file C:\Program Files\Autodesk\Maya2015\Python\lib\site-packages\pymel\tools\mel2py\melparse.py line 2940: Errors: 
line 12 (COLON): : # 

我想一次選擇(然後修改)幾個邊緣。我應該如何在Python中做到這一點?爲什麼mel2py失敗?
歡迎任何建議。

以下是完整的MEL代碼:

CreatePolygonPipe; 
setToolTo CreatePolyPipeCtx; 
setAttr "polyPipe1.thickness" 0.6; 
polyPipe -ch on -o on -r 4.343087 -h 4.057391 -t 0.6 ; 
// Result: pPipe1 polyPipe1 // 
select -addFirst polyPipe1 ; 
setAttr "polyPipe1.subdivisionsAxis" 50; 
setAttr "polyPipe1.subdivisionsHeight" 37.4; 
setAttr "polyPipe1.subdivisionsHeight" 50; 
select -r pPipe1.e[2546] ; 
select -r pPipe1.e[2546] ; 
select -add pPipe1.e[2500:2549] ; 
select -tgl pPipe1.e[10] ; 
select -add pPipe1.e[0:49] ; 
ScaleToolWithSnapMarkingMenu; 
dR_ScaleToolMarkingMenuPopDown; 
scale -r -p -4.723702cm 1.014348cm -1.380022cm 1.054283 1.054283 1.054283 ; 
select -r pPipe1.e[2498] ; 
select -add pPipe1.e[2450:2499] ; 
select -tgl pPipe1.e[61] ; 
select -add pPipe1.e[50:99] ; 
scale -r -p -4.723702cm 1.014348cm -1.380022cm 1.025089 1.025089 1.025089 ; 
select -r pPipe1.e[2556] ; 
select -add pPipe1.e[2550:2599] ; 
select -tgl pPipe1.e[5096] ; 
select -add pPipe1.e[5050:5099] ; 
scale -r -p -4.723702cm 1.014348cm -1.380022cm 0.960232 0.960232 0.960232 ; 
select -r pPipe1.e[2644] ; 
select -add pPipe1.e[2600:2649] ; 
select -tgl pPipe1.e[5044] ; 
select -add pPipe1.e[5000:5049] ; 
scale -r -p -4.723702cm 1.014348cm -1.380022cm 0.981905 0.981905 0.981905 ; 
select -r pPipe1.e[2546] ; 
select -add pPipe1.e[2500:2549] ; 
TranslateToolWithSnapMarkingMenu; 
dR_TranslateToolMarkingMenuPopDown; 
move -r 0 -0.07989 0 ; 
select -r pPipe1.e[46] ; 
select -add pPipe1.e[0:49] ; 
move -r 0 0.07989 0 ; 
select -d pPipe1.e[0:49] ; 
select -r pPipe1 ; 
select -cl ; 

回答

0

基本上其對字符串崩潰,我不是,如果這是一個預期的行爲,這是你如何修復它

melCmd = 'select -add "pPipe1.e[2500:2549]";'