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 + , bracketEnd - bracketStart - );
}
}
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;
}

【Revit API】Revit读取当前rvt的所有视图与其名称的更多相关文章

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

    1)读取所有视图: public static ViewSet GetAllViews(Document doc) { ViewSet views = new ViewSet(); FilteredE ...

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

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

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

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

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

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

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

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

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

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

  7. Revit API创建标注NewTag

    start ;             )                 {                     eId = item;                 }            ...

  8. [Revit]Autodesk Revit 二次开发整理(资料、准备工作和环境搭建)

    1 前言 Revit被Autodesk收购之后,整理和开放了一大部分API,供开发者实现自己的功能和程序,总体来说API的功能比较完善,毕竟市面上已经出现了各式各样的插件. 本人也是初学者,在Revi ...

  9. Java取得一个对象里所有get方法和set方法, 读取某个类下所有变量的名称

    所有get方法和set方法public void getMethod(Object obj){ Class clazz=obj.getClass();//获得实体类名 Field[] fields = ...

随机推荐

  1. TeamViewer卡在正在初始化显示参数

    在windows的mstsc远程桌面中打开teamviewer,远程桌面开着的时候可以连接teamviewer,但是当我断开mstsc之后,再用teamviewer连就连接不上了,一直都是正在初始化显 ...

  2. mfs分布式系统从理论简介到实战部署

    文章前面想说的话:这篇博客写出来真是有点累到了,本来昨天就基本就写好了,放在草稿里面,今天打开就没有了!!唉,就尼玛离我而去了,只有重写,然后中间虚拟机还“爆炸”重启又搞了一会,不容易呀!!希望各位博 ...

  3. eclipse集成testng插件(离线安装方式)

    testng是一个优秀的测试框架,我们在开发自动化测试脚本或者框架的时候经常会用到这个框架,因为它不仅能方便的帮助我们管理测试类,而且它还提供了丰富的注解来支持各种测试场景的实现(参数化,数据提供者, ...

  4. DataRow的RowState属性变化

    DataRow的RowState属性(状态)取值有5种:Detached, Unchanged, Added, Deleted, Modified. 当我们用DataRow newRow = Data ...

  5. 英特尔® 实感™ 深度摄像头代码示例 – R200 摄像头数据流

    英特尔开发人员专区原文地址 简介 该可下载代码示例展示了如何使用面向 Windows 的英特尔® 实感™ SDK* 捕捉和查看用 C#/XAML 编写的原始 R200 摄像头数据流. Visual S ...

  6. RedHat yum源配置

    RedHat yum源配置 原本以为Redhat7 和Centos7是完全一样的,可是安装完Redhat7以后,使用yum安装软件,提示红帽操作系统未注册.在网上搜索教程,最后成功解决,解决方式是将y ...

  7. Python3实现机器学习经典算法(三)ID3决策树

    一.ID3决策树概述 ID3决策树是另一种非常重要的用来处理分类问题的结构,它形似一个嵌套N层的IF…ELSE结构,但是它的判断标准不再是一个关系表达式,而是对应的模块的信息增益.它通过信息增益的大小 ...

  8. Method 'ExecuteAsync' in type 'System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy' does not have an implementation

    一.错误信息 Entity Framework 6.0数据迁移:Add-Migration XXXX 命令发生错误 System.Reflection.TargetInvocationExceptio ...

  9. JS - Promise使用详解--摘抄笔记

    第一部分: JS - Promise使用详解1(基本概念.使用优点) 一.promises相关概念 promises 的概念是由 CommonJS 小组的成员在 Promises/A 规范中提出来的. ...

  10. Spark SQL、DataFrame和Dataset——转载

    转载自:  Spark SQL.DataFrame和Datase