
revit 二次开发 读取材料的信息
用lookup查看材料很具有误导性。 找半天才找出原因,要想找到全部材料必须通过CompoundStructureLayer来查找。 附上代码(两种找材料的方式): using System; using System.Collection...
revit二次开发——自适应构件族
自适应构件族有着强大的功能,在桥梁建模里非常实用。 自适应族重要的类:AdaptiveComponentInstanceUtils 自适应族实例化:CreateAdaptiveComponentInstance 得到自适应点的ID:GetI...

revit二次开发——自适应点的局部坐标系
自适点的局部坐标系可以通过lookup找到。修改自适应点的局部坐标系可以直接修改transform。 其中x axis、y axis、z axis的具体含义见图1. 其中自适应点的旋转实际上就是绕x轴旋转,另外x axis的方向实际上就是线...

Revit二次开发——怎样使用dynamo的类
dynamo作为revit的利器,相当有用。而且它里面的好多类库是revit的api里没有的,那有没有什么办法可以直接用dynamo里的类?当然有啦! 步骤:1、在二次开发的引用中,引用“ProtoGeometry.dll”这个dll文件和...

Revit二次开发——读取构件的材料外观信息
revit读取材料的外观信息不能通过lookup来搞定,所以读取起来稍微有点麻烦。但是在revit二次开发的官方基础教程里有相关的解释。 这里就以一个墙体为例,读取墙体材料的所有外观信息(如下图)。这里主要...
revit二次开发——建连续刚构桥(方法1)
其实建连续刚构桥也不是很难,主要是用代码来驱动族而已。好多牛人用dynamo来做这件事情,我觉得也挺好,我也用过dynamo来操作过,但是用起来还是没有插件爽。 其实代码也挺简单的,这里就直接放主要的代码吧。核...
revit二次开发——建连续刚构桥2(带平纵曲线)
上一个方法对于直线的连续刚构桥行得通,但对于有平纵曲线的连续刚构桥还是行不通,这里主要是族的原因,因为带平纵曲线的连续刚构桥每一个节段都可以算作一个异形结构。人工建死族的话,耗时耗力,而且效果还不好。这就需要用到二次开发来解决。 首先得明确...

Revit二次开发——怎样将插件添加到面板上
做好了插件,后面一步就需要把插件加载到面板上了。 这里revit专门为加载插件提供了一系列api。具体api的介绍看revit二次开发官方教程第10章。但这里讲得很泛,缺少完整代码的实际例子。另外有个难点(textbox),我现在也没搞清楚...

Revit二次开发——revit怎么给桥梁加钢筋
Revit自身带的钢筋功能比较鸡肋,哪怕是用在它所擅长的建筑结构里,也是坑得飞起。很多情况,特别是异形结构,几乎不能准确建好钢筋模型。 所以这里,我就想了一个办法利用revit给桥梁加钢筋。桥梁其实包含了很多异形结构,更坑的是桥梁的钢筋几乎...
Revit怎样给桥梁里加上预应力钢筋
在Revit里建桥本身就是一件麻烦事情,然后在桥里加上预应力钢筋更麻烦。 所以这里就需要了解其规则,然后做相应的预应力钢筋插件。预应力比较好的输入方法首推Midas Civil。 基于这种方法做的预应力钢筋插件见视频: http://v.y...

Revit二次开发 向量运算
开发到最后都是在跟数学打交道,revit作为一款三维建模软件,表达的是各种结构的空间关系,二次开发中自然也包括大量的向量计算。 好在revit 的api里已经事先提供了很多向量的运算,方便开发人员使用,免得自己写方法。 首先通过帮助文档看一...

Revit二次开发 体量里的放样
Revit体量的放样功能最多,而恰巧官方出版的那本经典的二次开发教程这方面的内容讲得特别少。然而,以我开发桥梁方面的插件发现,异形结构也就在体量或者自适应构建族里好解决一些,所以准备讲一下这方面的内容。 其实,自适应构件族里的放样功能跟体量...

Revit二次开发——场地地形
Revit的场地地形其实没有什么特别的,其实它就是一个面而已,创建这个面用下面这个方法: Form NewFormByCap(bool isSolid, ReferenceArray profile); 如果是做成五花肉那种的,就用另一个...
Revit二次开发 自带的钢筋
这里以Revit的自带的钢筋功能为例(非Revit自带的钢筋功能见我的优酷自频道) 具体步骤: 1)进行开发之前,要把钢筋导入到Revit里面。 2)如果钢筋族的形状不够项目用的话,可以自己做钢筋族 3)了解Revit的钢筋的功能( Re...
Revit二次开发----在项目环境中直接建族
**** Revit的一个比较不爽的事情是:需要在族环境中建族,然后导入到项目中。有没有什么方法不用导入族,直接在项目环境中建好族,并放到相应的位置处?好吧,这个必须有。 要实现这个过程,需要通过代码做两步工作。 1)打开相应的族,然后在族...
Revit二次开发----分割族
**** 其实在revit里是不存在分割族的概念。 对于基于线形的族,截面沿线都是一样,要想达到分割的状态,只需要把族基于线的那条线变短,然后再在分割点复制一个新的族即可。 过程是先获得线的均分点,然后把族的线缩短,接着再复制族,即可变成均...
Revit二次开发——怎么读取cad里的单独的一条线
今天有朋友问我怎么通过Revit读取cad里的单独的一条线,我刚开始在网上找了一下,发现并没有相关介绍,网上都是读取cad里所有的线的信息或者图层相关。于是我自己尝试了一下,只要通过这个关键的PickObject(ObjectType.Po...
Revit二次开发——空间曲线
Revit怎么建空间曲线? 其实对该软件比较熟悉的人应该知道,比较好建的是通过空间点串成空间曲线,也即通过CurveByPoints形成空间曲线。 这个比较简单,就直接放一段原始代码: private void CreateAdaptive...

Revit中的dynamo编程——code block
在网上捣鼓了半天,找code block的用法,全是官网的那个帮助文档。 经过几个小时的摸索,总算把这个code block摸透了。 首先几个基本的内容就不讲了,直接看这里, ,这也仅仅只是把官网的给翻译一下。但是如何定义输入进来的参数的类...

Revit中Dynamo编程——Python Script模块(引用RevitApi、RevitApiUI、math库)
Revit中Dynamo中的Python Script模块能够自由编程,做Revit二次开发的人能够很熟练的使用Revit的API,但是都是用的C#语言,而且是在Visual Studio的环境中使用的。如果能够在Python Script...