这对你不起作用?
import pymel.core as pm
const = pm.geometryConstraint('pSphere1', 'locator1', n='geoConstraint')
print const
const.rename('fred')
print const
输出将是
geoConstraint
fred
和一个名为“fred”的约束对象。
pymel 节点是从pm.animation.geometryConstraint中定义的命令返回的返回值 。它返回的是实际场景内约束的类包装器,它在pm.nodetypes.GeometryConstraint中定义。这是您可以进行所有属性设置等的类版本;命令版本与 maya.cmds 中的相同内容相匹配,有时会添加一些语法糖。
在这种情况下,pymel 节点就像任何其他 pymel 节点一样,所以像 renaming 这样的东西使用从 DagNode 继承的相同的“.rename”功能。您还可以使用从 Transform 继承的函数,例如 'getChildren()' 或 'setParent()' 文档通过在节点类型页面的顶部包含继承树以一种迂回的方式清楚地说明了这一点。基本上所有pynode返回将至少共享DagNode(命名之类的东西),通常是Transform(移动,旋转,父级之类的东西)或Shape(查询组件等)