【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. ...
随机推荐
- Excel frequency函数
计算连续次数最常用的函数就是FREQUENCY,下面就这个函数在计算连续次数的应用做一个详细图解.首先,我们需要了解一下FREQUENCY函数的计算原理. FREQENCY(数据区域,用于设置区 ...
- 手机视频编辑软件APP
1. VUE iOS/Android 2.Alive iOS/Android 3.Splice iOS 4. Plotagragh+ 能让照片动起来的app 5.Cinepic 能 ...
- 20155308《网络对抗》Exp6 信息搜集与漏洞扫描
20155308<网络对抗>Exp6 信息搜集与漏洞扫描 原理与实践说明 实践内容 本实践的目标是掌握信息搜集的最基础技能.具体有: 各种搜索技巧的应用 DNS IP注册信息的查询 基本的 ...
- 《网络对抗》Exp4 恶意代码分析
20155336<网络对抗>Exp4 恶意代码分析 问题回答 实验后回答问题 (1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监 ...
- 小程序echarts数据不改变,或者是一次渲染成功,第二次进入,渲染失败的解决办法
1.引入echarts插件: import * as echarts from '../../ec-canvas/echarts'; 2.data中定义: ecBar: { onInit: initC ...
- powersheel远程连接方法操作
powersheel远程连接密码加密连接高级玩法 ConvertTo-SecureString 和 ConvertFrom-SecureString 命令都支持选项 -Key.在处理密码时通过使用 K ...
- HW 2017 12 17可禾大佬神题
好不容易搞来的题目,不写一写怎么行呢. 不过难度真心不高(一小时K掉),都是老题+暴力题,没有欧洲玄学. 再说一句,这试卷是叶可禾出的吧. T1 好老的题目,看到有多组数据我还怕了,以为有更流弊的算法 ...
- flask登录注册简单的例子
1.主程序 # app.py # Auther: hhh5460 # Time: 2018/10/05 # Address: DongGuan YueHua from functools import ...
- [51Nod1238]最小公倍数之和 V3[杜教筛]
题意 给定 \(n\) ,求 \(\sum_{i=1}^n \sum_{j=1}^n lcm(i,j)\). \(n\leq 10^{10}\) 分析 推式子 \[\begin{aligned} an ...
- PHP调用WCF提供的方法
一.准备工作 1.安装wampserver:过程略 2.配置wampserver: 2.1打开php.ini文件,去掉 ;extension=php_soap.dll 这里那个分号. 也有说把这个 ; ...