电缆桥架CableTray与风管一样是曲线几何。
using Autodesk.Revit.DB.Electrical;
namespace RevitCodes
{
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]
public class cmdTest20110905 : IExternalCommand
{
public Result Execute(ExternalCommandData cmdData, ref string messages, ElementSet elements)
{
UIDocument uiDoc = cmdData.Application.ActiveUIDocument;
//电缆桥架
//BuiltInCategory.OST_CableTray;
Transaction ts = new Transaction(uiDoc.Document, "电缆桥架");
ts.Start();
Reference refCable = uiDoc.Selection.PickObject(ObjectType.Element, "选择一个桥架");
CableTray cableTray = uiDoc.Document.GetElement(refCable) as CableTray;
LocationCurve lCurve = cableTray.Location as LocationCurve;
if (lCurve != null)
{
TaskDialog.Show("curve", lCurve.Curve.Length.ToString());
}
ts.Commit();
return Result.Succeeded;
}
}
}
namespace RevitCodes
{
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]
public class cmdTest20110905 : IExternalCommand
{
public Result Execute(ExternalCommandData cmdData, ref string messages, ElementSet elements)
{
UIDocument uiDoc = cmdData.Application.ActiveUIDocument;
//电缆桥架
//BuiltInCategory.OST_CableTray;
Transaction ts = new Transaction(uiDoc.Document, "电缆桥架");
ts.Start();
Reference refCable = uiDoc.Selection.PickObject(ObjectType.Element, "选择一个桥架");
CableTray cableTray = uiDoc.Document.GetElement(refCable) as CableTray;
LocationCurve lCurve = cableTray.Location as LocationCurve;
if (lCurve != null)
{
TaskDialog.Show("curve", lCurve.Curve.Length.ToString());
}
ts.Commit();
return Result.Succeeded;
}
}
}