解析結果マネージャ

解析結果マネージャ

静的 SpatialFieldManager.CreateSpatialFieldManager()メソッドを使用すると、新しい SpatialFieldManager をビューに追加することができます。1 つのビューに関連付けることができるマネージャは 1 つだけです。ビューが既に SpatialFieldManager を持つ場合は、静的メソッド GetSpatialFieldManager()を使用して取得することができます。

CreateSpatialFieldManager()は、各点で計算される計測値の数のパラメータをとります。この数は、結果を計算する点ごとの関連付けられる結果の値の数を定義します。たとえば、日射の月平均を 1 年間計算する場合、それぞれの点は対応する値を 12 個持つことになります。

ビューに解析結果を追加するには、AddSpatialFieldPrimitive()を呼び出して新しい解析結果コンテナを作成します。このメソッドには、次の項目に関連付けられるプリミティブを作成するための 4 つのオーバーロードがあります。

一般的に変換オーバーロードは、結果データを Revit モデル内のジオメトリからオフセットして配置(例: 床より 3 フィート上)するといった場合に使用します。

AddSpatialFieldPrimitive()メソッドは SpatialFieldManager 内のプリミティブの一意の整数の識別子を返します。これは後で削除(RemoveSpatialFieldPrimitive())、修正(UpdateSpatialFieldPrimitive())するプリミティブを特定するために使用することができます。

AddSpatialFieldPrimitive()メソッドは空の解析結果プリミティブを作成する点に注意してください。解析結果データに点や値を入力するには、UpdateSpatialFieldPrimitive()を呼び出す必要があります(「解析結果データを作成する」を参照)。

UpdateSpatialFieldPrimitive()メソッドには、SpatialFieldManager で登録した AnalysisResultSchema の一意のインデックスが必要です。AnalysisResultSchema は、解析結果に関する情報(名前、説明、結果の可視化のためのすべての単位の名前と定数など)を保持します。次の例は、新しい AnalysisResultSchema を作成しその単位を設定する方法を示します。

コード領域: AnalysisResultsSchema

IList<string> unitNames = new List<string>();
unitNames.Add("Feet");
unitNames.Add("Inches");
IList<double> multipliers = new List<double>();
multipliers.Add(1);
multipliers.Add(12);

AnalysisResultSchema resultSchema = new AnalysisResultSchema("Schema Name", "Description");

resultSchema.SetUnits(unitNames, multipliers);

AnalysisResultschema を設定した後、SpatialFieldManager.RegisterResult()メソッドを使用して登録する必要があります。これにより結果に一意のインデックスが返されます。一意のインデックスを使用してGetResultSchema()や SetResultSchema()により登録済みの結果を取得したり、変更することができます。