仅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 = ;
        int iFi = ;
        foreach (Element el in collector)
        {
            if (el is FamilySymbol)
                iSymbol += ;
            else if (el is FamilyInstance)
                iFi += ;
        }
        TaskDialog.Show("count", iSymbol + "," + iFi);         ts.Commit();         return Result.Succeeded;
    }
}

url:http://greatverve.cnblogs.com/p/api-get-symbol-instance.html

Revit API过滤元素类别(FamilySymbol与FamilyInstance)的更多相关文章

  1. Revit API过滤管道系统类型

    管道只能通过PipeType过滤出来类型属性,只能是系统族的类型属性.管道实例过滤不能用族符号和族实例,要用Pipe using System; using System.Collections.Ge ...

  2. 关于Revit API修改元素参数的问题?

    >ADN: DEVR3894  >ADN service level: Professional  >产品:Revit MEP 2012  >版本:2012  >语言:中 ...

  3. Revit API射线法读取空间中相交的元素

    Revit API提供根据射线来寻找经过的元素.方法是固定模式,没什么好说.关键代码:doc.FindReferencesWithContextByDirection(ptStart, (ptEnd  ...

  4. Revit API 判断一个构件在某个视图中的可见性

    查看 Revit API.发现有Element::IsHidden这个方法.通过UI创建一个element,注意要使得这个element在某些视图可见,但是在另一些视图不可见.运行下面的方法,你会发现 ...

  5. Revit API 加载族并生成实例图元

    在Revit API中加载族可以使用Doc.LoadFamily方法,传入要加载的族文件路径名,但是这种方式有一种缺点,就是如果族文件在当前工程中没有加载的话则返回成功,如果已经加载过,则返回失败,也 ...

  6. 【Revit API】梁构件支座检查算法

    一.前言         应该是第二次写关于Revit API的博文了.虽然在BIM企业中工作,从事桌面BIM软件开发,但是我是不怎么喜欢写Revit API相关的代码.平时更多的是在写界面展示,架构 ...

  7. Revit API 操作共享参数和项目参数

    1.获取共享参数 private string GetSharInfo(Autodesk.Revit.ApplicationServices.Application revitApp) { Strin ...

  8. 【Revit API】FamilyInstance、FamilySymbol、Family的寻找关系

    话不多说,做个笔记 FamilyInstance instance; var typeid = instance.GetTypeId(); var symbol = RevitDoc.GetEleme ...

  9. Revit API PickPoint过滤条件

    //过滤选择,加上过滤条件,没有看出来差别. [TransactionAttribute(Autodesk.Revit.Attributes.TransactionMode.Manual)] publ ...

随机推荐

  1. redhat本地yum源配置

    /dev/sr0是光驱的设备名,/dev/cdrom代表光驱 /dev/sr0 与/dev/cdrom /dev/cdrom 只是一个到sr0的符号链接 mount /dev/sr0   /mnt   ...

  2. Debian安装Nvidia最简单方法

    电脑配置: Dell本本 i7+gtx1050+8g 安装bumblebee: sudo apt install bumblebee-nvidia primus 以上会自动安装nvidia驱动. bu ...

  3. 浅谈TCP拥塞控制算法

    TCP通过维护一个拥塞窗口来进行拥塞控制,拥塞控制的原则是,只要网络中没有出现拥塞,拥塞窗口的值就可以再增大一些,以便把更多的数据包发送出去,但只要网络出现拥塞,拥塞窗口的值就应该减小一些,以减少注入 ...

  4. jQuery-属性操着

    jquery属性操作分为属性操作,CSS类操作,HTML代码/文本/值操作 一:属性 使用 说明 例子 attr(name|pro|key,val|fn) 设置或返回被选元素的属性值, # 专门用于做 ...

  5. webapck编译打包stylus文件

    先安装css-loader.stylus.stylus-loader npm install --save-dev css-loader npm install --save-dev stylus n ...

  6. MVC插件

    MVC插件 最近领导让我搞一下插件化,就是实现多个web工程通过配置文件进行组装.之前由于做过一个简单的算是有点经验,当时使用的不是area,后来通过翻看orchard源码有点启发,打算使用area改 ...

  7. 【LOJ】#2569. 「APIO2016」最大差分

    题解 第一个子任务直接询问最大最小,每次可以问出来两个,再最大最小-1再问两个,最多问\(\frac{N + 1}{2}\)次就还原出了序列 第二个子任务由于差分肯定会大于等于\(\lceil \fr ...

  8. Codeforces 336D Dima and Trap Graph 并查集

    Dima and Trap Graph 枚举区间的左端点, 然后那些左端点比枚举的左端点小的都按右端点排序然后并查集去check #include<bits/stdc++.h> #defi ...

  9. ResourceBundle.getBundle方法demo

    这个参考链接 http://blog.csdn.net/tgyman/article/details/56012706

  10. 025 Spark中的广播变量原理以及测试(共享变量是spark中第二个抽象)

    一:来源 1.说明 为啥要有这个广播变量呢. 一些常亮在Driver中定义,然后Task在Executor上执行. 如果,有多个任务在执行,每个任务需要,就会造成浪费. 二:共享变量的官网 1.官网 ...