setAttr 几个形状的可见性导致仅圆形的错误

问题描述

我目前正在编写自动化装备脚本,但遇到了一个我无法理解的问题。这是我正在寻找解决方案的代码的简化部分:

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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...