【Revit API】创建相机视角
在Revit中有一个相机功能可以以相机视角产生一个视图。一开始我在Revit2016的API文档中找关键词Camera,但是没什么收获。
其实这个相机功能的真正核心是创建透视视图:View3D.CreatePerspective(Document, ElementId)
简单的代码示例如下:
var uiDocument = commandData.Application.ActiveUIDocument;
var doc = uiDocument.Document;
IEnumerable<ViewFamilyType> viewFamilyTypes = from elem in new FilteredElementCollector(doc).OfClass(typeof(ViewFamilyType))
let type = elem as ViewFamilyType
where type.ViewFamily == ViewFamily.ThreeDimensional
select type;
using (Transaction tran = new Transaction(doc, "[ToolSet] Camera"))
{
tran.start();
View3D view3D = View3D.CreatePerspective(doc, viewFamilyTypes.First().Id);
if (null != view3D)
{
var eye = new XYZ(0,0,100); //相机坐标
var up = new XYZ(0,0,1); //上方向
var forward = new XYZ(3,4,5); //相机到目标点的向量
view3D.SetOrientation(new ViewOrientation3D(eye, up, forward));
view3D.DisplayStyle = DisplayStyle.ShadingWithEdges;
}
tran.Commit(); UIDocument RevitUiDoc = new UIDocument(doc);
RevitUiDoc.ActiveView = view3D;
}
关于上方向:

Autodesk的View3D博客:
【Revit API】创建相机视角的更多相关文章
- Revit API创建标注NewTag
		
start ; ) { eId = item; } ...
 - Revit api 创建族并加载到当前项目
		
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
 - Revit API创建墙的保温层修改墙厚度
		
start [Transaction(TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] / ; ; ...
 - Revit API创建标高,单位转换
		
一业内朋友让我写个快速创建标高的插件. ; ; i <= iNum; i++) { Level level = d ...
 - Revit API创建一个拷贝房间内对象布局命令
		
本课程演示创建一个拷贝房间内对象布局命令,完整演示步骤和代码.这个命令把选中房间内的对象复制到其它选中的一个或多个房间中,而且保持与源房间一致的相对位置.通过本讲座使听众知道创建一个二次开发程序很简单 ...
 - Revit API创建几何实体Solid并找到与之相交的元素
		
几何实体的创建方法之一:构成封闭底面,指定拉伸方向与拉伸高度.GeometryCreationUtilities ; , pt.Y - dBoxLength / , pt.Z); ...
 - Revit API 创建带箭头的标注
		
[Transaction(TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class cmd : ...
 - Revit api 创建楼梯图元
		
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
 - Revit API创建详图视图
		
start //创建详图视图 Transaction ts = new Transaction(doc, "http://greatverve.cnblogs.com"); ts. ...
 
随机推荐
- APP快速搭建框架
			
AppDelegate: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDicti ...
 - 20155206 Exp2 后门原理与实践
			
20155206 Exp2 后门原理与实践 1.Windows获得Linux Shell 在windows下,打开CMD,使用ipconfig指令查看本机IP 然后使用ncat.exe程序,ncat. ...
 - TreeSet排序相关总结
			
java的集合这一块在工作中用得还比较多,有些东西老是忘,因此在此记录下来. TreeSet原理 1.特点 TreeSet是用来排序的, 可以指定一个顺序, 对象存入之后会按照指定的顺 ...
 - P3426 [POI2005]SZA-Template
			
P3426 [POI2005]SZA-Template 链接 分析: 首先T一定是S的一个前缀,也是一个后缀. 判断一个前缀s[1...i]是不是满足条件,那么求出s[1...i]在s中出现的所有位置 ...
 - idea git pull项目到本地时容易出现的问题
			
有时候pull到本地,出了各种错误,其实是因为搞来搞去的,容易出问题,所以最好的方法是拿原有打包好的整个稳定能跑的项目环境, 先git add,然后vcs重置head为hard,然后再pull,一般就 ...
 - ECMAScript6——Set数据结构
			
/** * 数据结构 Set */ // ----------------------------------------------------- /** * 集合的基本概念:集合是由一组无序且唯一 ...
 - [CERC2017]Intrinsic Interval[scc+线段树优化建图]
			
题意 给定一个长度为 \(n\) 的排列,有 \(q\) 次询问,每次询问一个区间 \([l,r]\) ,找到最小的包含 \([l,r]\) 的区间,满足这个区间包含了一段连续的数字. \(n\leq ...
 - PowerBI开发 第十二篇:钻取
			
钻取是指沿着层次结构(维度的层次)查看数据,钻取可以变换分析数据的粒度.钻取分为下钻(Drill-down)和上钻(Drill-up),上钻是沿着数据的维度结构向上聚合数据,在更大的粒度上查看数据的统 ...
 - 设计模式 笔记 解释器模式 Interpreter
			
//---------------------------15/04/26---------------------------- //Interpreter 解释器模式----类行为型模式 /* 1 ...
 - linux AB web 性能测试工具
			
ab(选项)(参数) 选项 -A:指定连接服务器的基本的认证凭据: -c:指定一次向服务器发出请求数: -C:添加cookie: -g:将测试结果输出为“gnuolot”文件: -h:显示帮助信息: ...