Revit API を使用すると新しい電気配線を作成できます。
静的 Wire.Create()を使用すると、ドキュメントに新しい配線を作成できます。Create()メソッドには、新たに作成する配線を表示するビューの ID が必要です。これは、平面図または天井伏図ビューの ID となります。配線の WiringType は壁、天井、床に隠れる配線の場合は Arc、表示される配線の場合は Chamfer となります。
配線の場所は配線の頂点を設定する XYZ ポイントのリストで指定し、必要に応じて始点/終点コネクタで指定します。ただし、端点コネクタが null になる場合があり、始点コネクタを指定すると、コネクタの基準点が始点として配線の頂点に追加されます。同様に、終点コネクタを指定すると、コネクタの基準点が終点として配線の頂点に追加されます。静的メソッド Wire.AreVertexPointsValid()は XYZ ポイントのリストと始点/終点コネクタをチェックして、配線に適していることを確認します。
次の例では、コネクタを指定せずに、アクティブなビューに直線の配線を作成しています。
|
コード領域: 新しい配線を作成 |
public Wire CreateWire(Document document)
{
Wire wire = null;
FilteredElementCollector collector = new FilteredElementCollector(document);
IList<Element> wireTypes = collector.OfCategory(BuiltInCategory.OST_Wire).WhereElementIsElementType().ToElements();
WireType wireType = wireTypes.First() as WireType;
if (wireType != null)
{
IList<XYZ> wireVertices = new List<XYZ>();
wireVertices.Add(new XYZ(0, 0, 0));
wireVertices.Add(new XYZ(2, 0, 0));
wire = Wire.Create(document, wireType.Id, document.ActiveView.Id, WiringType.Arc, wireVertices, null, null);
}
return wire;
}
|
作成後に配線を要素に接続するには、Wire.ConnectTo()を呼び出して、始点コネクタと終点コネクタを渡します。このメソッドを使用する場合に、配線が既に接続されているときは、古い接続は切断され、配線は新しいターゲットに接続されます。
配線を作成すると、Wire.GetVertex()メソッドを使用して頂点を取得できます。このメソッドは必要な頂点のインデックスを使用します。これは 0 から Wire.NumberOfVertices までの間の値になります(配線の始端と終端を含む)。
リストの最後に頂点を追加する場合は Wire.AppendVertex()を使用し、リスト内の特定の点に頂点を追加する場合は Wire.InsertVertex()を使用します。Wire.IsVertexPointValid()メソッドは、指定した頂点をこの配線に追加できるかどうかを確認します。ビュー平面のこの点(許容差内)に既に頂点があるために点を追加できない場合、IsVertexPointValid()は false を返します。開始頂点が既に要素に接続されている場合は、開始頂点の前に頂点を挿入できません。同様に、終端が既に要素に接続されている場合、リストの最後に頂点を追加できません。
Wire.RemoveVertex()はリストから頂点を削除します。配線の頂点が既に要素に接続されていると、このメソッドは頂点の削除に失敗します。この頂点を削除するには、切断してから頂点を削除し、(必要に応じて)再接続します。