上pymel对象addAttr方法

问题描述 投票:0回答:2

我似乎无法正确地利用addAttr方法。我使用的是相同的参数,当我从pymel.core呼叫,但它不给我相同的结果。

我想添加自定义消息属性,所以我可以很容易地搜索特定类型的对象后。当我从pymel.core做到这一点,包括相同的对象引用作为参数,它工作正常。

#get object reference
test_object = pm.ls(sl=1)[0]

#this one spits out an error
test_object.addAttr(longName = 'custom', attributeType = 'message')

#this one works fine
pm.addAttr(test_object, longName = 'custom', attributeType = 'message')

我不断收到此错误错误:类型错误:文件行1:addAttr()到底需要2个参数(1中所示)是寻找,当我使用这种方式有什么额外的参数?我清楚地失去了一些东西明显的关于方法的工作原理,但我无法弄清楚。

python methods maya pymel
2个回答
0
投票

暴露在Maya PyMel DG节点addAttr方法具有以下签名。

addAttr(attr, **kwargs)

这里attr是表示属性名称的位置参数。该kwargs可以在pm.addAttr()方法中使用的所有其他相关的标志提供。所以,你必须通过属性名称作为第一个参数。

node.addAttr('custom', attributeType='message')

希望这会有所帮助。


0
投票

cgsociety线

pCube.addAttr('timeBasedAttr', keyable=True, attributeType='float', min=0.0, max=1.0)

你应该写:

test_object.addAttr('custom', attributeType = 'message')

我用尽,它不确实的错误输出。


推荐问答