我正在尝试使用以下代码查询imagePlane节点中使用的“默认”表达式:
# Part01
img = cmds.imagePlane()
frame_ext_attr = "{0}.useFrameExtension".format(img[0])
cmds.setAttr(frame_ext_attr, True)
# Part02
print '>>> ', cmds.listConnections("{0}.frameExtension".format(img[0]))
如果我整体上运行上述代码块,即使part02
属性中确实存在表达式,None
也会返回frameExtension
的结果。除非我再次运行代码块,否则我会得到一些回报。
但是,如果我先运行代码part01
然后part02
分成两部分,我将得到类似['expression1']
的结果
我的问题是-为什么返回的结果如此不同?
我还尝试使用一些基于mel的命令,例如refreshAE
或updateAE <node path>
,希望(整个)代码块能够在第一次运行时捕获表达式,但事实并非如此。
有什么想法吗?
答案 0 :(得分:0)
尝试在Part02中再次调用<!DOCTYPE html>
<html>
<body>
<form name=f1>
num1: <input type="number" id="num1" name=num1><br>
num2: <input type="number" id="num2" name=num2><br>
num3: <input type="number"id="num3" name=num3><br><br><br>
<button onclick="num4()">Smallest</button>
</form>
<script>
function num4(){
var num1 = document.getElementById('num1').value;
var num2 =document.getElementById('num2').value;
var num3 =document.getElementById('num3').value;
var num4 = Math.min(num1, num2, num3);
console.log(num4);
}
</script>
</body>
</html>
。 cmds.imagePlane()
的影响可能不会扩展到cmds.setAttr()
中先前捕获的值。