问题描述
我目前正在编写自动化装备脚本,但遇到了一个我无法理解的问题。这是我正在寻找解决方案的代码的简化部分:
import pymel.core as pm
ik_Box = pm.curve(n='ik_arm_Box_curve',d=1,p=[(1,1,1),(1,-1),(-1,-1,1)],k=[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15])
pm.setAttr(ik_Box + 'Shape.v',0)
ik_circle = pm.circle(n='ik_arm_circle_curve',c=(0,0),nr=(1,r=2)
pm.setAttr(ik_circle + 'Shape.v',0)
我在这里无法理解的是 setAttr 与我的 ik_Box 一起正常工作,但是它给了我这个错误的圆圈:
TypeError: 只能将列表(不是“str”)连接到列表
• 那么为什么它与我的 ik_Box 一起工作,然后将我的 ik_circle 视为一个列表?
知道我正在根据这个非常有用的教程制作自己的脚本: https://youtu.be/zA9lz8-1uQ4?t=526
(你可以立即暂停并在代码底部看到他创建了形状,然后像我一样编辑它们的可见性,一切对他来说都很好)
• 然后我尝试打印这些 ik_circle 元素以了解其含义:
ik_circle = pm.circle(n='ik_arm_circle_curve',r=2)
print(ik_circle[0])
print(ik_circle[1])
它给了我 ik_arm_circle_curve 和 makeNurbCircle2。
• 从那里,我发现了“constructionHistory(ch)”标志并应用了它:
ik_circle = pm.circle(n='ik_arm_circle_curve',r=2,ch=0)
print(ik_circle[1])
• 很好,超出范围,没有更多列表。
ik_circle = pm.circle(n='ik_arm_circle_curve',ch=0)
pm.setAttr(ik_circle + 'Shape.v',0)
TypeError: 只能将列表(不是“str”)连接到列表
我对 python 相当陌生,我可能会错过一些基础知识,但如果您有任何建议或解释,我将不胜感激。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)