我不知道,如果这是IronPython问题,Revit API程序集问题或其他问题。关于可能导致这种情况的任何信息/想法都表示赞赏。
我理解这可以通过再次重新导入相同的命名空间来解决,但我很想知道为什么会这样。
以下是正在发生的事情的简短示例。 图像显示RevitPythonShell控制台输出。
import clr
clr.AddReference('RevitAPI') # Contains Imports Autodesk.Revit.DB
from Autodesk.Revit import DB # OK
DB.Element.Name # OK
DB.Element.Name.GetValue() # OK: Method exists. As Expected
from File1 import DB
DB.Element.Name # OK, Property Exists
DB.Element.Name.GetValue() # *** Method DOES NOT Exist, Attribute Error is raised
from Autodesk.Revit import DB # Re-import the same namespace again
DB.Element.Name.GetValue() # OK: Method Exists