[英]Revit Python Pick Object / Select Object
我是编码的新手,所以这很明显。
运行此代码时,为什么会出现错误“未定义名称'ObjectType'”:
picked = uidoc.Selection.PickObject(ObjectType.Element)
我正在使用revit python shell(IronPython)
您应该将ObjectType
导入当前范围:
>>> from Autodesk.Revit.UI.Selection import ObjectType
>>> picked = uidoc.Selection.PickObject(ObjectType.Element)
我刚刚在RevitPythonShell中进行了尝试,并注意到它不起作用,因为外壳仍在前台。 因此,该技术将适用于您添加到功能区中的脚本,但不能直接从Shell中添加...我还不确定如何解决此问题。 抱歉。
编辑:使用像这样的功能来完成技巧:
def pickobject():
from Autodesk.Revit.UI.Selection import ObjectType
__window__.Hide()
picked = uidoc.Selection.PickObject(ObjectType.Element)
__window__.Show()
__window__.Topmost = True
return picked
您可以通过将其粘贴到底部的编辑器窗格中并单击F5或将其添加到您的Init-Script或任何其他方式来运行它。 然后,当您需要拾取元素时,只需调用pickobject()
即可。
这是因为在该语句范围内的任何地方都没有定义ObjectType
:
>>> ObjectType
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'ObjectType' is not defined
>>> ObjectType = 12
>>> ObjectType
12
也许您忘记了进口声明?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.