从一个Python文件导入到另一个Python文件时,.NET程序集丢失了一些方法(IronPython)

时间:2016-11-14 00:51:26

标签: ironpython revit-api revitpythonshell

我不知道,如果这是IronPython问题,Revit API程序集问题或其他问题。关于可能导致这种情况的任何信息/想法都表示赞赏。

我理解这可以通过再次重新导入相同的命名空间来解决,但我很想知道为什么会这样。

以下是正在发生的事情的简短示例。 图像显示RevitPythonShell控制台输出。

File1.py

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

File2.py

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 

enter image description here

enter image description here

0 个答案:

没有答案