我是编码的新手,所以这很明显。

运行此代码时,为什么会出现错误“未定义名称'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()

关于python - Revit Python选择对象/选择对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21296317/

10-12 12:42