//
找到标高1上的所有风管
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]
// [Journaling(JournalingMode.NoCommandData)]
public class cmdGetLevelDuct : IExternalCommand
{
public Result Execute(ExternalCommandData cmdData, ref string message, ElementSet elements)
{
UIDocument uiDoc = cmdData.Application.ActiveUIDocument; // base.m_uiDoc
Selection selection = uiDoc.Selection;
Transaction ts = new Transaction(uiDoc.Document, " LevelDuct " );
ts.Start();
FilteredElementCollector collector = new FilteredElementCollector(uiDoc.Document);
collector.OfClass( typeof (Duct)).OfCategory(BuiltInCategory.OST_DuctCurves);
foreach (Element el in collector)
{
Duct duct = el as Duct;
if (duct.ReferenceLevel.Name == " 标高 1 " )
TaskDialog.Show( " title " , duct.Id.ToString());
}
ts.Commit();
return Result.Succeeded;
}
}
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]
// [Journaling(JournalingMode.NoCommandData)]
public class cmdGetLevelDuct : IExternalCommand
{
public Result Execute(ExternalCommandData cmdData, ref string message, ElementSet elements)
{
UIDocument uiDoc = cmdData.Application.ActiveUIDocument; // base.m_uiDoc
Selection selection = uiDoc.Selection;
Transaction ts = new Transaction(uiDoc.Document, " LevelDuct " );
ts.Start();
FilteredElementCollector collector = new FilteredElementCollector(uiDoc.Document);
collector.OfClass( typeof (Duct)).OfCategory(BuiltInCategory.OST_DuctCurves);
foreach (Element el in collector)
{
Duct duct = el as Duct;
if (duct.ReferenceLevel.Name == " 标高 1 " )
TaskDialog.Show( " title " , duct.Id.ToString());
}
ts.Commit();
return Result.Succeeded;
}
}