//找到标高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;
}
}