【发布时间】:2017-10-31 03:20:59
【问题描述】:
在使用 Revit API 并浏览“RevitAPI.chm”文件(以及浏览 Internet 上的示例)时,我注意到有些方法存在,但在“RevitAPI.chm”文件中既没有列出,也没有在使用 RevitPythonShell 时提出建议.
我解释一下。例如,假设我有一个“空间”对象,使用
s = FilteredElementCollector(doc).OfClass(SpatialElement).ToElements()
如果我这样做,假设(假设 s[0] 是一个有效的 Space 对象):
s[0].Geometry
我有一个“索引器对象”:
<indexer# object at 0x0000000000000049>
但是如果我这样做:
s[0].get_Geometry(Options())
然后我得到了我的 GeometryElement 对象。例如,get_BoundingBox 也有同样的行为。
现在,这很好,但我了解这些 get_something 方法的唯一方法是查看示例(在“RevitAPI.chm”或论坛等上)。所以这有点奇怪,不是吗?从某种意义上说,这些方法实际上并未列出。
所以我想我的问题是:
- 这是正常行为吗? (或者我通常应该使用 s[0].Geometry 来获取 GeometryElement 对象吗?)
- 如果是,...为什么? :D
- 这些“索引器”是什么?
谢谢! 阿诺。
PS:使用 Revit 2017,使用 RevitPythonShell 和 pyRevit 进行测试
【问题讨论】: