revit

Revit选取元素

大兔子大兔子 提交于 2020-03-21 20:02:29
Revit包含以下几种交互方式: 1.先选择元素,在执行外部命令,外部命令可以获取选择元素并做相应处理。 2.先执行命令,在选择元素或者位置,选择结束后命令继续执行。 这种形式又包括:单选、多选、框选、点选、 public class RevitSelect : IExternalCommand { public Result Execute(ExternalCommandData commandData, ref string message, Autodesk.Revit.DB.ElementSet elements) { try { //取得当前文档 UIDocument uidoc = commandData.Application.ActiveUIDocument; //取得当前选择集 Selection selection = uidoc.Selection; //获取当前选择元素Id List<ElementId> elementIdList = selection.GetElementIds().ToList(); StringBuilder strBuild = new StringBuilder(); foreach (var id in elementIdList) { Element ele = uidoc.Document.GetElement(id);

Revit单构件导出IFC

人走茶凉 提交于 2020-03-11 12:00:16
Revit单构件导出IFC 对revit模型的应用中,由于模型过大,不得不进行模型拆分导出。本文针对模型单构件导出ifc,写了个小功能。revit支持只仅导出视图可见的模型,窗口操作如下图: 我们要用代码实现上述功能。 revit提供API用于导出IFC,是IFCExportOption,其中的AddOption(string name,string value)方法的参数name和value,是指导出option的name,以及相应的值,代码如下: public static Result ExportToIfc(UIDocument uidoc, Transaction transaction, string name, string Path) { transaction.Start(); Result r = Result.Failed; IFCExportOptions opt = new IFCExportOptions(); opt.ExportBaseQuantities = true; // ExporterIFC exporter; opt.FilterViewId = uidoc.ActiveView.Id; // exporter.GetOptions(); opt.FileVersion = IFCVersion.IFC2x3; opt.AddOption

Revit API: 创建族实例 FamilyInstance

我们两清 提交于 2020-03-04 16:20:32
前言 族(Family)作为 Revit 的一个核心,API 提供了很好的支持。本文是我自己对族相关的认识,供自己以后查询和参考。 创建族实例 代码来源 Revit 官方文档。 如果你找到某个 element 的创建方法,那么它多半在 Autodesk.Revit.Creation.Document 。 下面是创建族实例相关接口,参数的不同表明他们适用于不同的族类型。 如果你使用了错误的接口,族实例可能会创建成功,但是它的行为可能不正常。 所以,一定要自己弄明白自己创建的族的类型。 namespace Autodesk . Revit . Creation { public class Document : ItemFactoryBase { // 创建族实例相关接口 public FamilyInstance NewFamilyInstance ( DB . XYZ location , DB . FamilySymbol symbol , DB . Element host , Level level , StructuralType structuralType ) ; public FamilyInstance NewFamilyInstance ( DB . XYZ location , DB . FamilySymbol symbol , Level level ,

视图显示内容与Revit的比较:

夙愿已清 提交于 2020-01-29 04:42:06
时间:2020.01.16 参与人:陈百炼,余斌晟,邹亚明 邹亚明,余斌晟:认为没有Revit显示类别方便 陈百炼:有关联节点的需求,如每个管系出一个轴测视图 邹亚明,余斌晟,陈百炼:A=有设置显示节点的同时,再可以设置显示类别 结果:A 来源: CSDN 作者: qq_31577553 链接: https://blog.csdn.net/qq_31577553/article/details/104009238

Starting a transaction from an external application running outside of API context is not allowed

江枫思渺然 提交于 2020-01-25 12:35:20
问题 Starting a transaction from an external application running outside of API context is not allowed. cannot start transaction. 回答1: Using my magic psychic crystal ball to guess you are asking how to avoid getting this error message in your Revit / RPS plugins, here is a short bit of extra information: all Revit API calls should happen inside the "API context" this "API context" lives in a special thread you are probably accessing the API from another thread this often happens when you make a

【.NET架构】BIM软件架构01:Revit插件产品架构梳理

天大地大妈咪最大 提交于 2020-01-24 11:03:26
一、前言 BIM:Building Information Modeling 建筑信息模型,就是将建筑的相关信息附着于模型中,以管理该建筑在设计、算量、施工、运维全生命周期的情况。创建模型的主要主流软件有Autodesk(欧特克)的Revit、Bentley的 microstation 、达索的CATIA(曾被我国在80、90年代用于制造战斗机,比较高端)。我所在的公司是从事BIM软件研发,隶属于一家上市企业。 我在两个部门工作过。第一个部门是算量软件部门,专门制作基于Revit的算量插件(桌面端)。第二个部门是BIM数据平台部门,专门为大型企业制作BIM施工管控平台(Web及移动App端)。刚研究生毕业即进入公司,在两年整的工作中主要负责WPF(DevExpress)、识别算法、网络通信编程(Remoting、WebService、WCF、Socket)以及Web开发。 架构的改造也是我工作的一部分,站在公司老司机的肩膀上还是很爽的。那么,我就从桌面端软件开始吧! 二、架构简图 制作Revit插件必须要引用2个dll:RevitAPI和RevitAPIUI,每年根据Autodesk发布Revit产品进行迭代,支持C#、Managed C++及VB编程。 该解决方案共含有15个C#项目,红色模块都需要引用Revit的dll,灰色部分不用引用。编译完之后,在C:

Revit导入lumion渲染

 ̄綄美尐妖づ 提交于 2020-01-13 04:58:44
利用Revit导出DAE文件格式插件,可以将Revit模型导入到lumion中进行图片渲染和漫游动画的制作。 lumion中的效果果然比Revit中好得多,材质显示漂亮,编辑方便,图片渲染速度快,特别是漫游动画的制作,Revit中画漫游路径的方式根本没法跟lumion相比。 这地板可以以假乱真。 lumion强大的漫游功能,丰富的附加组件,绚丽的视频特效。 lumion没有建模功能,但是Revit建模的没有统一的标准,导致一些不该同样的材质的地方,无法更改;如果有统一的标准,那么Revit结合lumion能做出任何想要的效果。 Revit13版本能给风管等几点模型直接添加材质,这样导入到lumion中时,同样可编辑其材质。但是lumion中的漫游路径无法复制,一些在Revit中可以方便的做出来的施工模拟效果估计在lumion中很难做到。不过有利有弊,lumion中的视频特效也是Revit望尘莫及的。 来源: https://www.cnblogs.com/bimgoo/archive/2013/03/05/2945084.html

Revit中如何自定义快捷键

大兔子大兔子 提交于 2020-01-13 04:57:30
最佳的绘图方式是左手键盘,右手鼠标,使用快捷键将大大提高绘图效率,Revit同样提供了自定义绘图工具快捷键的功能(Revit2011及以后版本),有两种方式调出自定义快捷键窗口,第一种是Revit窗口点击左上角调出“选项”对话框,切换到“用户界面”选项卡,其中有“快捷键”按钮,即可调出快捷键设置窗口。 或者点击“视图--用户界面--快捷键同样可以调出快捷键定义对话框,需要说明的是,Revit跟Autocad快捷键不同,Autocad快捷键是单个字母,一般是命令的英文首字母,但是Revit快捷键只能是两个字母,Revit跟Autocad稍有不同是,AutoCAD中Enter或者空格都能重复上个命令,但Revit重复上个命令只能用Enter键,空格键不能重复上个命令。 举例说明如何自定义Revit快捷键,比如我们要定义对齐命令的快捷键,那么我们打开“自定义快捷键对话框,前提我们已经知道,”对齐“按钮在Revit”修改“菜单栏下,在过滤器中将搜索范围限定为”修改“制位表”,在”搜索“栏中输入”对齐“,即可找到要修改的命令,可以看到Revit默认的对齐快捷键是AL,也就是应为的align的前两个字母,我们想把“AA”指定为对齐工具快捷键,那么我们在“新按键”栏输入“AA”,点击”指定“。 完成之后即可将“AA”指定给对齐命令,需要说明的是,自定义快捷键不会覆盖掉原来Revit默认的快捷键

ArchiCAD与Revit深度对比

谁说胖子不能爱 提交于 2020-01-13 04:56:32
这个论题本是老生常谈了,谈到BIM绕不过的就是Revit与ArchiCAD。两者的对比许多帖子都讨论过,但往往大而化之,原则性的东西多,细节的东西少,因此我想再作一次比较,希望能深入一点,具体一点,力争较为全面地反映两者的真实面貌。 先介绍一下本人对这两个软件的熟悉程度。我用ArchiCAD快4年了,出过几套施工图,编过若干gdl,对ArchiCAD的认识偏重于施工图;用Revit不到一年,出过三个工程的土建及MEP模型,也用其API编了若干插件,对Revit的认识偏重于结构及MEP建模。应该说对ArchiCAD与Revit的认识都算深入了。 当然两者的深度比较是一个庞大的工程,我也是边用边写,没有什么条理,而且个人看法难免有偏见,技术上也多有不了解的地方,因此希望各位能指正与补充。 本贴会持续更新,我先在前面几个楼里搭个框架,再慢慢完善。因为许多问题都在使用中才会想到、体会到,平时都是一边画图、一边不断在骂软件,真要一下子回忆起来又有点难~ 一、软件的思想、架构对比 从软件的历史来说,无疑是ArchiCAD悠久的多,Revit是Autodesk在2002年才收购回来的,可说是“半路出家”,但Revit有一个强有力的东家,马上推出“BIM”这个很潮很炫的口号,一下把ArchiCAD沿用多年的“虚拟建筑”这个老老实实的口号给打败了,于是ArchiCAD也只好宣称自己是个BIM软件

如何调用Revit API实现风道末端与风管连接?

时间秒杀一切 提交于 2020-01-07 21:57:35
将风道末端连接到风管上,在Revit的UI界面上操作步骤如下:选择"风道末端"->"风道末端安装到风管上"->"拾取风管"。 那么,如何调用Revit API来实现上述操作步骤? 经过一番查找资料,发现有一个非常有用的类MechanicalUtils。 实现操作主要有两步: 1、创建风道末端实例,要求该实例位置可以投影到风管的中心线上。 Document..::..NewFamilyInstance public FamilyInstance NewFamilyInstance( XYZ location, FamilySymbol symbol, Level level, StructuralType structuralType ) 2、连接风道末端到风管。 MechanicalUtils.ConnectAirTerminalOnDuct public static bool ConnectAirTerminalOnDuct( Document document, ElementId airTerminalId, ElementId ductCurveId ) 此外,MechanicalUtils和PlumbingUtils两个类包含很多有用的方法,如BreakCurve,用于打断管件。感兴趣的朋友可以去查找Revit API的帮助文档。 来源: CSDN 作者: mye918