

Revit中Dynamo编程——Python代码(类)
Python代码的类和C#中的类的书写区别很大,一时不好转弯。先看一个例子: 来看一下图片里的AddOne的方法里有一个self,其实这个self就是对于对象自身的引用。 再来看另外一个类。这个就相当于不带参数的类。 虽然用起来很不爽,但是...

Revit中Dynamo编程——在Python中怎么利用RevitAPI来写一个过滤
这里以过滤钢筋类别为例。首先需要导入几个RevitAPI。具体代码如下: 其结果跟lookup查看的完全一致。

Python的wxPython的安装及使用
我的Python是3.6版本的,对应的wxPython是4.0版本的。 网上大部分安装解决办法要么是瞎扯淡,要么是版本不对,浪费了大部分时间,最后就发现下面这篇文章是正确的解决办法。 安装好后,可以直接使用,首先用教材的一个例子。 然后自己...

Revit中Dynamo编程——在Python中怎么导入任意的dll文件
其实Dynamo的Python Script就是一个很强大的可扩展的IronPython工具。我们知道IronPython可以很方便的引用dll文件。用过Unity3D的人也知道它可以很好的兼容C#和JavaScript,其实核心原理就是用...

Revit中Dynamo编程——在Python Script中用winform窗口
在上一篇博客中,讲了在Python Script中导入任意的dll文件,那么很自然的,如果dll文件当中包含winform窗口的类,自然可以在Dynamo中用上Revit二次开发用得顺手的窗口。 上篇博文: 这里就直接演示和窗口关联起来的类...

Revit中Dynamo编程——在Python Script中引用Python的py文件
从上两篇博文可以看到:Python Script能够很好的兼容dll文件,甚至可以把winform窗口加入进去,那么自然就可以想到:在Python Script中引用Python的py文件。 ok,这里就直接给一个实例(图一是py文件,图二...

Python编程——与Office交互
首先声明我的Python的版本是3.6的。照着树上抄有很多错误的地方。这也是Python用的很不爽的地方,老是更新方法,2.X的Python升到3.X,附带的模块各种改,解决答案又分布在各个旮旯里。 这里直接放我运行好的代码(与Excel交...

Revit中Dynamo编程——在Python Script中读写txt格式文件
毫无疑问,Python Script是一个很好的python语言的编程环境,它本身是带有很多Python的库。 我们知道,在Python本身的编辑器中,是可以很方便的读写文件,所以Python Script自然也可以很方便的读写文件。 这里...

Revit中Dynamo编程——在Python Script中结合sql server数据库来存储材料的外观属性
首先,来看一篇博文: IronPython使用Sql Server数据库 我们的Dynamo的Python Script环境其实也是 IronPython的一种,结合以上博客可以很好的结合数据库。 我的这篇读取材料的外观属性,并存储到sql...
Revit中Dynamo编程——Python脚本编程与RevitAPI交互的注意事项
本文转自 这可以说是在Dynamo中用RevitAPI的最最好的一篇文章,首先谢谢作者的翻译!!! 输入变量 在0.7版本之后的Dynamo中,Python脚本的节点可接受的变量数目是可变的。在0.6以前的旧版本中,每个输入值都要设定一个变...
Revit中Dynamo编程——如何保护自己的算法成果
Dynamo可视化编程有诸多好处,但也有一个坏处就是没法进行算法保护。 那如果我们想保护我们的算法怎么办呢?其实也是有好办法的——核心的办法就是把算法写成dll文件。 1)在Visual Studio里,把算法写成类,并生成dll文件 2)...

在Revit中自由快速的给复杂结构加钢筋的办法
首先得明确用哪个版本的Revit给复杂的结构加钢筋。经过尝试,发现最好的版本还是2016版本的,2017、2018的不适合给复杂结构加钢筋。 原因如下: 2016版本的钢筋限制只有一个面,通过调整这一个限制就可以得到我们想要的位置; 201...

Revit明细表读取、将明细表数据存储到sql server数据库、python读取数据库
BIM运维,一个很重要的方向就是工程量。 怎么读取工程量? 1)软件本身读取:即所见即所得,需要依靠软件本身的计算功能,在Revit分析里有个明细表的功能。 2)通过插件以及自制功能来获得扣减后的工程量。 今天就顺带讲一下第一个功能,重点讲...

Revit中Dynamo编程——利用反编译工具读取Dynamo的ProtoGeometry.dll的代码
上一篇博客讲了怎么用反编译工具,这篇博客直接可以用在实战方面。 我们知道Dynamo好用,其实原因是它里面封装了好多方法,免去我们重复的操作。而RevitAPI又没有那么多方法怎么办?这个时候完全可以借鉴一下Dynamo的ProtoGeom...

Revit二次开发——怎样在类中直接应用WPF窗口
WPF是winform的升级版,在做Revit二次开发,用WPF界面来做会好看且方便快捷好多。那么怎么在Revit二次开发中用到WPF呢?这个也很简单。 在类中,没办法直接添加WPF窗口,只能方便快捷的添加Winform窗口,所以winfo...

Revit二次开发winform简单的标准模板以及wpf简单的标准模板
《Revit二次开发官方教程》里的代码适合练手以及功能测试,但是在实际开发中,这种代码肯定不符合开发公司的标准。 这里可以使用这个简单的标准模板,这个标准模板的主要参考revit的SDK的Samples案例以及我自己在公司开发的实践来写的。...
Revit二次开发——从链接文件中选取指定元素
这里稍微讲一下怎么从链接文件中选取指定元素,这里以选取Space为例。 首先要另写一个Class。 public class SelectionLinkFilter : ISelectionFilter { Document linkDoc...
Revit二次开发——让窗口一直显示在Revit前面
在做开发的时候,经常会碰到这个问题,你把插件的窗口打开之后,然后运行其他软件,盖住Revit后,然后再打开Revit就会发现窗口不见了,感觉像死机一样。这个时候需要将窗口绑定到主窗口之上,也就是在view.ShowDialog()的时候,要...
Revit二次开发——读取链接cad文件的地址
链接cad文件的地址没法用Lookup来查找,所以常规方法读取不了这个地址。 这个时候需要用如下方法来读取这个地址: Reference reference = uiDoc.Selection.PickObject(ObjectType.E...

Revit二次开发——怎样建变直径螺旋箍筋
变截面螺旋箍筋是一条空间曲线,在Revit当中,空间曲线可以通过CurveByPoints来建立空间可见的螺旋曲线,也可以通过HermiteSpline在后台来建立空间曲线。 其实通过LookUp,就可以看到,其实CurveByPoints...