Revit读取cad的文字信息需要借助Teigha的开源dll,在程序中添加下图中红色框的dll文件的引用,其他的dll文件全部放在同一个文件夹中即可,运行的时候,会自动把这些dll文件全部复制到bin文件当中,同时,在Revit中运行插件,Revit也会自动加载这些dll文件. 以下是关键方法,在Revit里读取cad文字信息,图层信息,几何信息等. using System; using System.Collections.Generic; using System.Linq; using…
Element element = doc.getElement(elementId); Autodesk.Revit.DB.Parameter familyType = element.get_Parameter(BuiltInParameter.ELEM_FAMILY_AND_TYPE_PARAM);//系统族与类型的参数(里面包含系统族与类型对象的ElementId) if (familyType != null && familyType.StorageType == Storag…
最近一个月一直在研究Revit二次开发-BIM模型的导出,在网上找了很多相关资料学习.下面简单介绍一下我最近做的这个BIM模型的导出功能. 开始尝试使用Revit2015的样例程序里提供的读取模型几何信息的方式直接将所有的模型的坐标点XYZ.三角网信息全部导出来,形成我想要的.x文件,结果还真的得到了我想要的模型数据,但是仅仅得到模型的坐标信息还远远不够,模型的材质信息.UV坐标贴图数据才是最关键的.其实要实现模型导出功能,不需要这样费劲的一个信息一个信息的去调API取了,Revit提供了专门的…
第一次在博客园上写东西,也不知道该写些什么,我想就写点最近项目到遇到的问题吧. 最近在做一个小项目,具体需求大概是在一个revit模型中的对应的楼板位置绘制钢筋. 由于刚接触Revit二次开发,之前也没有画过钢筋,所以在网上搜了一些用Revit画钢筋的资料. Revit中是提供了用于为混凝土柱.梁.墙.基础墙和结构楼板中的钢筋进行建模的工具.因此我们是可以通过类似于画墙或者柱的方法来画钢筋的. 通过检索,Revit API 中提供了两种绘制钢筋的方法: 一是通过给定几何形状创建Rebar.Cre…
最近换了下工作,由之前的互联网企业转入了BIM软件开发行列.具体原因不多说,作为一个程序员来说学习永无止境.下面来一个Hello World体验下Revit的二次开发 事前准备 VS Revit 2017 Revit二次开发中会使用到两个dll文件,由这两个文件来提供对Revit中项目数据的访问,两个dll文件的名称为RevitAPI.dll和RevitAPIUI.dll.获取方式在Revit的安装目录中,我本机Revit安装在E盘,E:\Autodesk\2017\Revit 2017,这个路…
不能在revit提供的api外部使用事务,解决此方法, 1.把button里要实现的功能写到外部事件IExternalEventHandler中,注册外部事件,在button事件中.raise()使用. public class NewWall : IExternalEventHandler    {        public void Execute(UIApplication app)        {           “”比如说创建墙的代码”        } public stri…
1背景小伙伴在做revit二次开发的时候,可能需要在族环境中将族的类型参数与实例参数相互转换. 2思路1.使用族管理器FamilyManager,参见注释12.首先获取需要转换的参数(单个与批量),参见注释2,33.实例参数转类型参数,或者类型参数转实例转实例参数,参见注释4,5 3代码using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;using Sy…
应笔墨闲谈群的邀请, 在10月11号晚8:30分在其群做了一次关于BIM二次开发的讲座. 因为參与者基本上都是从设计院和施工单位来的,所以对Revit二次开发做了纵览性的解说, 以非程序猿能听懂的方式解说Revit二次开发.使这些行业领导或负责人能明确Revit二次开发的大概特点,以及其能实现的功能. 便于他们在自己的业务须要Revit插件时,能更好的思考和决策插件项目的立项和推动. 以下是这次讲座的提纲: Revit二次开发纵览,以橄榄山快模为例演示API概念Revit二次开发原理Revit二…
1 前言 Revit被Autodesk收购之后,整理和开放了一大部分API,供开发者实现自己的功能和程序,总体来说API的功能比较完善,毕竟市面上已经出现了各式各样的插件. 本人也是初学者,在Revit分类中分享一些自己记录的笔记内容. 2 准备工作 工欲善其事,必先利其器. 2.1 语言 首先,定下你自己想使用的编程语言,官方SDK中给出的语言示例包括C#.VB.C++三种,至于选择哪一种来开发,可以根据个人喜好和语言掌握情况.不过一般来说,大家都使用C#,C#出自微软Anders Hejls…
一.起因    自己在写revit二开时,有一个Winform窗体按钮点击事件需要 触发调用事务进行处理,结果出现“异常“Starting a transaction from an external application running outside of API context is not allowe“” 其实这是 上面异常是Revit的一种保护机制,创建的非模态对话框Form1后,在Form1未关闭的状态下,Revit认为是处于非API的上下文环境,所以异常弹出来了. 在非模态对话…