【Revit API】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 + , 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的所有视图与其名称的更多相关文章
- Revit读取当前rvt的所有视图与其名称
1)读取所有视图: public static ViewSet GetAllViews(Document doc) { ViewSet views = new ViewSet(); FilteredE ...
- Revit API射线法读取空间中相交的元素
Revit API提供根据射线来寻找经过的元素.方法是固定模式,没什么好说.关键代码:doc.FindReferencesWithContextByDirection(ptStart, (ptEnd ...
- Revit API 加载族并生成实例图元
在Revit API中加载族可以使用Doc.LoadFamily方法,传入要加载的族文件路径名,但是这种方式有一种缺点,就是如果族文件在当前工程中没有加载的话则返回成功,如果已经加载过,则返回失败,也 ...
- 【Revit API】梁构件支座检查算法
一.前言 应该是第二次写关于Revit API的博文了.虽然在BIM企业中工作,从事桌面BIM软件开发,但是我是不怎么喜欢写Revit API相关的代码.平时更多的是在写界面展示,架构 ...
- Revit API 判断一个构件在某个视图中的可见性
查看 Revit API.发现有Element::IsHidden这个方法.通过UI创建一个element,注意要使得这个element在某些视图可见,但是在另一些视图不可见.运行下面的方法,你会发现 ...
- Revit API 操作共享参数和项目参数
1.获取共享参数 private string GetSharInfo(Autodesk.Revit.ApplicationServices.Application revitApp) { Strin ...
- Revit API创建标注NewTag
start ; ) { eId = item; } ...
- [Revit]Autodesk Revit 二次开发整理(资料、准备工作和环境搭建)
1 前言 Revit被Autodesk收购之后,整理和开放了一大部分API,供开发者实现自己的功能和程序,总体来说API的功能比较完善,毕竟市面上已经出现了各式各样的插件. 本人也是初学者,在Revi ...
- Java取得一个对象里所有get方法和set方法, 读取某个类下所有变量的名称
所有get方法和set方法public void getMethod(Object obj){ Class clazz=obj.getClass();//获得实体类名 Field[] fields = ...
随机推荐
- MSP430编译器__intrinsic指令
1. 在文件intrinsics.c里面发现很多函数前面有__intrinsic,说是这些是MSP430的特定函数(其他单片机用不了),应该和编译器有关,并没有具体的函数实现,我猜测,是直接转成汇编代 ...
- Eclipse 使用过程中的问题及解决方法
1.Eclipse中java文件和jsp字体大小设置 1.更改所有文件的字体显示大小过程: Window->preferences->General->Appearance-> ...
- 我们一起学习WCF 第四篇单通讯和双向通讯
前言:由于个人原因很久没有更新这个系列了,我会继续的更新这系列的文章.这一章是单向和双向通讯.所谓的单向就是只有发送却没有回复,双向是既有发送还有回复.就是有来无往代表单向,礼尚往来表示双向.下面我用 ...
- HTTP 两种基本请求方法 GET和 POST的区别
GET方法 1.GET交互方式是从服务器上获取数据,而并非修改数据,所以GET交互方式是安全的.就像数据库查询一样,从数据库查询数据,并不会影响数据库的数据信息,对数据库来说,也就是安全的.2.GET ...
- Eclipse 无法编译 或 提示“错误: 找不到或无法加载主类”
project显示一个红色叹号,通常是.jar文件缺失,在下面找到配置 在libraries中添加add External JARs添加.jar文件
- qs.js - 更好的处理url参数
第一次接触 qs 这个库,是在使用axios时,用于给post方法编码,在使用过程中,接触到了一些不同的用法,写在这里分享一下. qs.parse qs.parse 方法可以把一段格式化的字符串转换为 ...
- R之RMySQL
linux,mysql和R的版本信息: Linux naci 3.19.0-16-generic #16-Ubuntu SMP Server version: 5.6.24-0ubuntu2 (Ubu ...
- linux-sftp-指定端口号登录远程主机
sftp -oPort=60001 root@192.168.0.254 -o选项来指定端口号 -oPort=远程端口号
- wepy中如何使用stylus等样式预处理器
wepy中如何使用stylus等样式预处理器 一.如何在wepy中使用stylus 1.安装wepy-compiler-stylus(以及stylus, stylus-loader) npm inst ...
- Binary Tree(生成二叉树)
Description Background Binary trees are a common data structure in computer science. In this problem ...