获取上次创建的项目选择

2024-10-03 04:31:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我运行了一个命令,在这个命令中它创建了一个新的摄像机,但是在所述函数的末尾,没有选择,也没有在运行完它的路线之后选择对象。 那么有没有什么命令可以让我查询最后创建的项目?在

我试着用`命令列表历史记录'但只有在已经有选择的情况下才会显示结果。。在

我有什么办法可以绕过它吗?在

另外,假设我使用以下命令

cameraShape...
aaa = "cameraShape1"
mel.eval('<Some mel-based command> cameraShape.transformX cameraShape.transformY cameraShape.transformZ;')

但当我尝试用另一种方式写命令时,比如: mel.eval('<Some mel-based command> %s.transformX %s.transformY %s.transformZ;' %aaa)

我有个错误说

^{pr2}$

我到底哪里写错了?我试着像%aaa, aaa, aaa那样写,但还是发生了同样的错误


Tags: 函数命令错误evalsomecommand摄像机based
2条回答

为什么你不能把新相机塞进一个变量而不是依赖于选择呢?在

new_camera, new_camera_shape = cmds.camera()

使用%格式化时使用的语法不正确:

^{pr2}$

就个人而言,我更喜欢format(),因为它被认为更适合Python 3的前向兼容性:

"My name is {0} and I was born in {1}".format("Jon Snow", "Winterfell")

检测新对象:

scene_before = cmds.ls(l=True, transforms=True)

# Run command to import object here

scene_after = cmds.ls(l=True, transforms=True)

new_objs = list( set(scene_after).difference(scene_before) )

如果要保留上次创建的对象。您可以创建一个包含变量历史记录的类,在该类中,您可以在另一个脚本中追加最后创建的对象。在

class History:
    idCounter = []
    def __init__(self, name):
        History.idCounter.append(name)
        print(History.idCounter)

for name in ['nana', 'tata', 'zaza']:
    objectCreated = History(name)

相关问题 更多 >