通常情况下,我可以通过一些谷歌搜索来破解一些代码,但这一点超出了我的理解。我希望以编程方式运行以下函数;
App.getDocument("Unnamed").NAME.Placement=App.Placement(App.Vector(0,0,0), App.Rotation(App.Vector(0,0,1),90), App.Vector(0,0,0))其中名称和编号是更改的项。我有NAME1,NAME2 ....每个变量都有不同的向量编号,我想在NAMEn循环中运行这个命令来移动脚本传递的任何数量的项。快速搜索一下,getattr()似乎是答案,但=似乎是拦截器。所以我只能走到这一步;
f1 = getattr(App,'getDocument')
f2 = getattr(f1('Unnamed'),'NAME1')
f3 = getattr(f2,'Placement') 发布于 2017-03-03 06:36:21
这就是你要找的东西吗?
names = ['NAME1','NAME2','NAME3'] ...
vectors = [[(0,0,0),(0,0,1),(0,1,0)],
[(0,0,0),(0,0,1),(0,1,0)],
[(0,0,0),(0,0,1),(0,1,0)],]
for n, (v1,v2,v3) in zip(names, vectors):
left = getattr(App.getDocument("Unnamed"),n)
right = App.Placement(App.Vector(*v1), App.Rotation(App.Vector(*v2),90), App.Vector(*v3))
setattr(left, "Placement", right)https://stackoverflow.com/questions/42566752
复制相似问题