2017-05-30 2 views
1

Revit APIを使用して、 "RevitAPI.chm"ファイル(およびインターネット上のサンプルを参照)を閲覧しているときに、RevitAPI.chmファイルにもリストされていないメソッドも存在し、RevitPythonShellの使用時には示唆されていません。Revit API: '非表示'のメソッドですか?

私は説明します。私は

s[0].Geometry 

ました:私は、([0]有効な空間オブジェクトであるのと仮定)のは言わせない場合のは

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

で得られた私は、「スペース」オブジェクトを持っている場合、のために言ってみましょう'インデクサーオブジェクト':

<indexer# object at 0x0000000000000049> 

しかし、私がしなければ:

s[0].get_Geometry(Options()) 

次に、私のGeometryElementオブジェクトを取得しました。たとえば、get_BoundingBoxと同じ動作が行われます。

これで問題はありませんが、これらのget_somethingメソッドについて私が知る唯一の方法は、例(「RevitAPI.chm」またはフォーラムなど)を見ることです。それは奇妙なものですね。これらの方法は実際には列挙されていないという意味で。

だから、私の質問は以下のようになり推測:

  • は、それは正常な動作ですか? (または、通常はs [0] .Geometryなどを使用してGeometryElementオブジェクトを取得する必要がありますか?)
  • はいの場合、なぜですか? :D
  • これらの「インデクサ」とは何ですか?

ありがとう! アルノー。

PS:Revitの2017、小文字get_で始まるメソッドを自動的ゲッターメソッドが生成されRevitPythonShellとpyRevit

答えて

3

で作られた試験を用いて。公式のRevit APIは、クラスのBoundingBoxプロパティを提供し、文書化しています。むしろ、不愉快に、このいわゆるプロパティは引数をとります。したがって、C#.NETの実装では、プロパティゲッター関数が生成されます。

+0

ありがとう、ジェレミー。 – Arnaud

関連する問題