mel 命令
姚正真
2023-12-01
import pymel.core as pm
import maya.cmds as mc
cmds_box = mc.polyCube(n='cmds_box') # 字符串
pymel_box =pm.polyCube(n='pymel_box') # 节点实体
# 跟节点相关的
# 创建节点 createNode
cms_condition = mc.cresteNode('condition', n='cmds_condition')
pm_con = pm.createNode('condition')
# 修改得到节点属性 setAttr getAttr listAttr
cmds.setAttr('cmds_condition.firstTerm',0)
attr = mc.getAttr('cmds_condition.firstTerm')
con_node = pm.PyNode('pm_con')
con_node.firstTerm.set(1)
con_node.firstTerm.get()
con_node .setAttr()
con_attr = pm.Attribute( 'cmds_condition.firstTerm')
con_attr.set(1)
con_attr .get()
a=pm.PyNode('xxxx')
attrs = a.listAttr()
for attr in attrs:
try:
print attr,attr.get()
except:
pass
# 节点间属性链接 connectAttr 查找连接:listConnections 断开 disConnect
mc.connectAttr('cmds_bos.tx','pymel_box.ty')
mc.disConnect('cmds_bos.tx','pymel_box.ty')
pm_box_node = pm.PyNode('pymel_box')
cmds_box_node = pm.PyNode('cmds_box')
pm.connectAttr(pm_box_node.tx,cmds_box_ndoe.ty)
pm.disConnect (pm_box_node.tx,cmds_box_ndoe.ty)
pm_box_node.tx.connect(cmds_box_node.ty)
pm_box_node.tx.disConnect(cmds_box_node.ty)
pm_box_node.tx >> cmds_bos_ndoe.ty
pm_box_node.tx // cmds_bos_ndoe.ty
# 列举属性
mc.listConnections('pymel_box.tx',s=1,d=1,p=1) # s 来源 d 输出 p 确认属性
# 1
pm.listConnections('pymel_box.tx',,s=1,d=1,p=1)
# 2
pm.listConnections(pm_box_node.tx,s=1,d=1,p=1)
# 3
pm_box_node.tx.listConnections()
# 4
pm_box_node.tx.listConnections(s=1,d=1,p=1)
# 5
pm_box_node.tx.inputs(p=1)
pm_box_node.tx.outputs(p=1)
# 与节点无关的
# 打开 保存 导出 生成abc
mc.file(rename='fred.mb')
mc.file(save=1)
pm.saveFile()
pm.saveAs('test.mb') # 另存
pm.file('fred.mb',reference=1,namespace='rubble')
pm.createReference('fred.mb',namespace='rubble')
# 复合的
导入参考 skin defomer
die()
链接:http://help.autodesk.com/view/MAYAUL/2017/CHS/
pymel