zoukankan      html  css  js  c++  java
  • Revit API取得全部元素


    //取得全部元素
    [Transaction(TransactionMode.Manual)]
    [Regeneration(RegenerationOption.Manual)]
    public class cmdGetAll : IExternalCommand
    {
        public Result Execute(ExternalCommandData cmdData, ref string msg, ElementSet elements)
        {
            UIDocument uiDoc = cmdData.Application.ActiveUIDocument;
            //全部元素
            FilteredElementCollector collectorAll = new FilteredElementCollector(uiDoc.Document);
            collectorAll.WherePasses(new LogicalOrFilter(new ElementIsElementTypeFilter(false), new ElementIsElementTypeFilter(true)));
            TaskDialog.Show("全部", collectorAll.Count().ToString());
            //IsElement
            FilteredElementCollector collectorIs = new FilteredElementCollector(uiDoc.Document);
            collectorIs.WherePasses(new ElementIsElementTypeFilter(true));
            TaskDialog.Show("IsElement", collectorIs.Count().ToString());
            //IsNotElement
            FilteredElementCollector collectorIsNot = new FilteredElementCollector(uiDoc.Document);
            collectorIsNot.WherePasses(new ElementIsElementTypeFilter(false));
            TaskDialog.Show("IsNotElement", collectorIsNot.Count().ToString());

            //数量
            int ductAll = 0;
            int ductIs = 0;
            int ductIsNot = 0;
            foreach (Element el in collectorAll)
            {
                if (el is Duct)
                    ductAll += 1;
            }
            foreach (Element el in collectorIs)
            {
                if (el is Duct)
                    ductIs += 1;
            }
            foreach (Element el in collectorIsNot)
            {
                if (el is Duct)
                    ductIsNot += 1;
            }
            TaskDialog.Show("duct", ductAll + "," + ductIs + "," + ductIsNot);

            return Result.Succeeded;
        }
    }
    url:http://greatverve.cnblogs.com/p/get-all-element.html
  • 相关阅读:
    Linux下安装配置jdk
    Linux基础实验(二)
    Linux基础命令(一)
    Linux基础实验(一)
    QT 参考资料
    C++ const_cast用法(转)
    05 内嵌汇编的编程
    构造函数和析构函数可以调用虚函数吗(转)
    C++之迭代器(Iterator)篇 (转)
    链接脚本
  • 原文地址:https://www.cnblogs.com/greatverve/p/get-all-element.html
Copyright © 2011-2022 走看看