Revit二次开发之“遍历标高Level”

遍历当前文档中的所有标高。以便根据标高过滤同一标高下的元素。
//遍历标高
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]
//[Journaling(JournalingMode.NoCommandData)]
public class cmdGetLevel : IExternalCommand
{
    
public Result Execute(ExternalCommandData cmdData, ref string message, ElementSet elements)
    {
        UIDocument uiDoc 
= cmdData.Application.ActiveUIDocument;
        Selection selection 
= uiDoc.Selection;

        Transaction ts 
= new Transaction(uiDoc.Document, "level");
        ts.Start();

        FilteredElementCollector collector 
= new FilteredElementCollector(uiDoc.Document);
        ICollection
<Element> collection = collector.OfClass(typeof(Level)).ToElements();
        
foreach (Element e in collection)
        {
            TaskDialog.Show(
"标高", e.Name);
        }

        ts.Commit();
        
return Result.Succeeded;
    }
}
from:http://revit.5d6d.com/thread-1203-1-1.html
posted @ 2011-08-25 11:06  大气象  阅读(3283)  评论(0编辑  收藏  举报
http://www.tianqiweiqi.com