Revit读取当前rvt的所有视图与其名称

1)读取所有视图:

public static ViewSet GetAllViews(Document doc)
        {
            ViewSet views = new ViewSet();
            FilteredElementCollector collector = new FilteredElementCollector(doc);
            FilteredElementIterator it = collector.OfClass(typeof(View)).GetElementIterator();
            it.Reset();
            while (it.MoveNext())
            {
                View view = it.Current as View3D;
                if (null != view && !view.IsTemplate && view.CanBePrinted)
                {
                    views.Insert(view);
                }
                else if (null == view)
                {
                    View view2D = it.Current as View;
                    if (view2D.ViewType == ViewType.FloorPlan | view2D.ViewType == ViewType.CeilingPlan | view2D.ViewType == ViewType.AreaPlan | view2D.ViewType == ViewType.Elevation | view2D.ViewType == ViewType.Section)
                    {
                        views.Insert(view2D);
                    }
                }
            }
            return views;
        }

2)读取视图的名称:

public static string GetViewDisplayName(View view)
        {

            String name = view.ViewName;

            //special treament to sheet name
            if (view.ViewType == ViewType.DrawingSheet)
            {
                ViewSheet sheet = view as ViewSheet;
                name = String.Format("{0} - {1}", sheet.SheetNumber, name);
            }
            if(view.ViewType == ViewType.ThreeD)
            {
                if (name.Contains("{")&&name.Contains("}"))
                {
                    int bracketStart = name.IndexOf("{");
                    int bracketEnd = name.IndexOf("}");
                    name = name.Substring(bracketStart + 1, bracketEnd - bracketStart - 1);
                }
            }
            else if(view.ViewType == ViewType.FloorPlan)
            {
                name = string.Format("楼层平面:{0}", name);
            }
            else if (view.ViewType == ViewType.CeilingPlan)
            {
                name = string.Format("天花板平面:{0}", name);
            }
            else if (view.ViewType == ViewType.AreaPlan)
            {
                name = string.Format("面积平面:{0}", name);
            }
            else if (view.ViewType == ViewType.Elevation)
            {
                name = string.Format("建筑立面:{0}", name);
            }
            else if (view.ViewType == ViewType.Section)
            {
                name = string.Format("建筑剖面:{0}", name);
            }
            return name;
        }
时间: 2024-08-25 09:49:07

Revit读取当前rvt的所有视图与其名称的相关文章

iOS 打印出视图中所有的子视图的名称

使用递归: - (void)listSubviewsOfView:(UIView *)view { // Get the subviews of the view NSArray *subviews = [view subviews]; // Return if there are no subviews if ([subviews count] == 0) return; // COUNT CHECK LINE for (UIView *subview in subviews) { // Do

iOS 打印出视图中全部的子视图的名称

使用递归: - (void)listSubviewsOfView:(UIView *)view { // Get the subviews of the view NSArray *subviews = [view subviews]; // Return if there are no subviews if ([subviews count] == 0) return; // COUNT CHECK LINE for (UIView *subview in subviews) { // Do

读取数据库信息构建视图字段的备注信息,方便程序代码生成

在很多情况下,我们开发都需要有一个快速的代码生成工具用来提高开发效率,代码生成工具很多信息都是读取数据库的表.视图等元数据进行对象表信息的完善,有了这些信息,我们就可以在普通的实体类代码里面添加属性字段的中文注释,或者在Winform或者Web界面的快速生成的时候,可以在查询框或者界面编辑的时候,充当标签提示等处理信息.但是,一般情况下视图的备注信息是没有的,但是视图和表之间是存在一定的关系的,虽然不同数据库系统对于它们的信息对应不一定一致,但是我们可以把它们的对应关系寻找出来就可以给视图字段增

Revit二次开发之 视图

视图是Revit所有显示的基础,Revit中包含二维和三维部分,其视图也有严格的区分,以下说明视图的分类情况. TableView TableView有两个子类,分别是是所有表格视图,主要用于呈现明细表和电气视图 PanelScheduleView表示一个面板时间表,该时间表显示有关面板,连接到面板的电路及其相应负载的信息. 您可以创建一个计划表,该计划表列出连接到面板的电路,并显示有关每个电路的信息,例如面板上的位置,电路名称和视在负载.面板明细表显示四个主要信息部分:页眉,电路表,负载摘要和

【转】Revit二次开发——读取cad中的文字信息

Revit读取cad的文字信息需要借助Teigha的开源dll,在程序中添加下图中红色框的dll文件的引用,其他的dll文件全部放在同一个文件夹中即可,运行的时候,会自动把这些dll文件全部复制到bin文件当中,同时,在Revit中运行插件,Revit也会自动加载这些dll文件. 以下是关键方法,在Revit里读取cad文字信息,图层信息,几何信息等. using System; using System.Collections.Generic; using System.Linq; using

ASP.NET MVC 视图(一)

ASP.NET MVC 视图(一) 前言 从本篇开始就进入到了MVC中的视图部分,在前面的一些篇幅中或多或少的对视图和视图中的一些对象的运用进行了描述,不过毕竟不是视图篇幅说的不全面,本篇首先为大家讲解一下自定义视图引擎的定义和使用,由此慢慢的来了解视图引擎以及视图模块的工作过程. ASP.NETMVC 视图 l 自定义视图引擎简易示例 l Razor视图引擎执行过程 l  Razor视图的依赖注入.自定义视图辅助器 l  分段.分部视图的使用 l  Razor语法.视图辅助器 自定义视图引擎

[转]Oracle DB 性能视图和数据字典

动态性能视图 用于访问实例内存结构不断变化的状态信息. 在Oracle DB 中还维护着一个关于数据库实例操作和性能的动态数据集.这些动态性能视图以基于数据库服务器内部的内存结构构建的虚拟表为基础.也就是说,这些视图不是驻留在数据库中的传统意义上的表.这就是为什么部分视图在数据库装载或打开之前就能够使用的原因. 动态性能视图包含下列信息: ? 会话 ? 文件状态 ? 作业和任务的进度 ? 锁 ? 备份状态 ? 内存使用率和内存分配 ? 系统参数和会话参数 ?SQL 执行 ? 统计数据和度量 注:

T-SQL的事物、视图和索引

事物,视图和索引 技能掌握目标: 1.使用事物保证操作的完整性 2.掌握如何创建视图 3.掌握如何创建并使用索引 首先我们要讲的是事物,那么问题来了,请问大家什么事物,他有什么作用? 带来了哪几大好处?分别是什么. 答案:事物就是把多件事情当做一件事情来处理的过程.也就是大家同在一条船上,要活一起活,要over一起over !,这也就是保证了事物的一致性和完整性. 其作用是保证事物的一致性,持久性,原子性,和隔离性. 1.一致性:就是当我们需要更新多条数据的时候,保证他们一荣俱荣,一损俱损. 就

MySQL6:视图

什么是视图 数据库中的视图是一个虚拟表.视图是从一个或者多个表中导出的表,视图的行为与表非常相似,在视图中用户可以使用SELECT语句查询数据,以及使用INSERT.UPDATE和DELETE修改记录.视图可以使用户操作方便,而且可以保障数据库系统安全. 视图一经定义便存储在数据库中,预期相对应的数据并没有像表那样在数据库中再存储 一份,通过视图看到的数据只是存放在基本表中的数据.当对通过视图看到的数据进行修改时,相应的基本表中的数据也要发生变化:同时,若基本表的数据发生变 化,那么这种变化也自