2017-05-30 122 views
1

在使用Revit API並瀏覽「RevitAPI.chm」文件(以及Internet上的瀏覽示例)時,我注意到有一些方法存在,但未在「RevitAPI.chm」文件中列出,也未在使用RevitPythonShell時提示。Revit API:「隱藏」方法?

我解釋一下。比方說,例如,我有一個「空間」對象,用

s = FilteredElementCollector(doc).OfClass(SpatialElement).ToElements() 

獲得。如果我這樣做,讓我們說(假設S [0]爲有效空間對象):

s[0].Geometry 

我一個「索引對象:

<indexer# object at 0x0000000000000049> 

如果我這樣做:

s[0].get_Geometry(Options()) 

然後我得到了我的GeometryElement對象。例如,get_BoundingBox也有相同的行爲。

現在,這很好,但我可以瞭解這些get_something方法的唯一方法是通過查看示例(在「RevitAPI.chm」或論壇等上)。所以這很奇怪,不是嗎?從這個意義上說,這些方法並沒有真正列出。

所以我想我的問題是:

  • 難道是正常的行爲? (或者我通常應該通過使用s [0] .Geometry來獲得一個GeometryElement對象,例如?)
  • 如果是,...爲什麼? :D
  • 這些'索引'是什麼?

謝謝! Arnaud。

PS:使用Revit 2017,與RevitPythonShell和pyRevit

回答

3

由小寫get_前綴的方法是自動生成的吸氣劑的方法制造的測試。官方Revit API提供並記錄Element類中的BoundingBox屬性。相當不雅,這個所謂的財產需要一個論點。因此,C#.NET實現爲它生成一個屬性getter函數。

+0

謝謝你,傑里米。 – Arnaud