• Revit API过滤元素类别(FamilySymbol与FamilyInstance)


    仅OfCategory()过滤的元素包含系统FamilySymbol
    OfClass(typeof(FamilyInstance))过滤出来文档中族实例。
    //过滤元素类别
    [Transaction(TransactionMode.Manual)]
    [Regeneration(RegenerationOption.Manual)]
    public class cmdGetCate : IExternalCommand
    {
        public Result Execute(ExternalCommandData cmdData, ref string msg, ElementSet elements)
        {
            UIDocument uiDoc = cmdData.Application.ActiveUIDocument;

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

            FilteredElementCollector collector = new FilteredElementCollector(uiDoc.Document);
            collector.OfCategory(BuiltInCategory.OST_DuctFitting);//过滤出来系统包含的Symbol与文档包含的Instance
            
    //collector.OfClass(typeof(FamilyInstance)).OfCategory(BuiltInCategory.OST_DuctFitting);
            int iSymbol = 0;
            int iFi = 0;
            foreach (Element el in collector)
            {
                if (el is FamilySymbol)
                    iSymbol += 1;
                else if (el is FamilyInstance)
                    iFi += 1;
            }
            TaskDialog.Show("count", iSymbol + "," + iFi);

            ts.Commit();

            return Result.Succeeded;
        }
    }
    url:http://greatverve.cnblogs.com/p/api-get-symbol-instance.html
  • 相关阅读:
    VS 对话框控件的Tab顺序问题
    基于OpenGL三维软件开发
    OpenGL 中的三维纹理操作
    VC 在桌面上绘制一些图形
    VC/MFC如何添加启动界面
    Cordova or Xamarin 用.net开发IOS和Android程序
    ASP.NET Web API
    软件项目如何选型
    CIO的职责、条件及价值
    Oracle日期周详解IW
  • 原文地址:https://www.cnblogs.com/greatverve/p/api-get-symbol-instance.html
Copyright © 2020-2023  润新知