
Revit中Dynamo编程——在Python Script中引用Python的py文件
从上两篇博文可以看到:Python Script能够很好的兼容dll文件,甚至可以把winform窗口加入进去,那么自然就可以想到:在Python Script中引用Python的py文件。 ok,这里就直接给一个实例(图一是py文件,图二...
从上两篇博文可以看到:Python Script能够很好的兼容dll文件,甚至可以把winform窗口加入进去,那么自然就可以想到:在Python Script中引用Python的py文件。 ok,这里就直接给一个实例(图一是py文件,图二...
首先声明我的Python的版本是3.6的。照着树上抄有很多错误的地方。这也是Python用的很不爽的地方,老是更新方法,2.X的Python升到3.X,附带的模块各种改,解决答案又分布在各个旮旯里。 这里直接放我运行好的代码(与Excel交...
毫无疑问,Python Script是一个很好的python语言的编程环境,它本身是带有很多Python的库。 我们知道,在Python本身的编辑器中,是可以很方便的读写文件,所以Python Script自然也可以很方便的读写文件。 这里...
首先,来看一篇博文: IronPython使用Sql Server数据库 我们的Dynamo的Python Script环境其实也是 IronPython的一种,结合以上博客可以很好的结合数据库。 我的这篇读取材料的外观属性,并存储到sql...
本文转自 这可以说是在Dynamo中用RevitAPI的最最好的一篇文章,首先谢谢作者的翻译!!! 输入变量 在0.7版本之后的Dynamo中,Python脚本的节点可接受的变量数目是可变的。在0.6以前的旧版本中,每个输入值都要设定一个变...
Dynamo可视化编程有诸多好处,但也有一个坏处就是没法进行算法保护。 那如果我们想保护我们的算法怎么办呢?其实也是有好办法的——核心的办法就是把算法写成dll文件。 1)在Visual Studio里,把算法写成类,并生成dll文件 2)...
首先得明确用哪个版本的Revit给复杂的结构加钢筋。经过尝试,发现最好的版本还是2016版本的,2017、2018的不适合给复杂结构加钢筋。 原因如下: 2016版本的钢筋限制只有一个面,通过调整这一个限制就可以得到我们想要的位置; 201...
BIM运维,一个很重要的方向就是工程量。 怎么读取工程量? 1)软件本身读取:即所见即所得,需要依靠软件本身的计算功能,在Revit分析里有个明细表的功能。 2)通过插件以及自制功能来获得扣减后的工程量。 今天就顺带讲一下第一个功能,重点讲...
上一篇博客讲了怎么用反编译工具,这篇博客直接可以用在实战方面。 我们知道Dynamo好用,其实原因是它里面封装了好多方法,免去我们重复的操作。而RevitAPI又没有那么多方法怎么办?这个时候完全可以借鉴一下Dynamo的ProtoGeom...
WPF是winform的升级版,在做Revit二次开发,用WPF界面来做会好看且方便快捷好多。那么怎么在Revit二次开发中用到WPF呢?这个也很简单。 在类中,没办法直接添加WPF窗口,只能方便快捷的添加Winform窗口,所以winfo...
《Revit二次开发官方教程》里的代码适合练手以及功能测试,但是在实际开发中,这种代码肯定不符合开发公司的标准。 这里可以使用这个简单的标准模板,这个标准模板的主要参考revit的SDK的Samples案例以及我自己在公司开发的实践来写的。...
这里稍微讲一下怎么从链接文件中选取指定元素,这里以选取Space为例。 首先要另写一个Class。 public class SelectionLinkFilter : ISelectionFilter { Document linkDoc...
在做开发的时候,经常会碰到这个问题,你把插件的窗口打开之后,然后运行其他软件,盖住Revit后,然后再打开Revit就会发现窗口不见了,感觉像死机一样。这个时候需要将窗口绑定到主窗口之上,也就是在view.ShowDialog()的时候,要...
链接cad文件的地址没法用Lookup来查找,所以常规方法读取不了这个地址。 这个时候需要用如下方法来读取这个地址: Reference reference = uiDoc.Selection.PickObject(ObjectType.E...
变截面螺旋箍筋是一条空间曲线,在Revit当中,空间曲线可以通过CurveByPoints来建立空间可见的螺旋曲线,也可以通过HermiteSpline在后台来建立空间曲线。 其实通过LookUp,就可以看到,其实CurveByPoints...
在建族的时候,有个关联族参数的操作。应用场景比如:给族里的元素关联材质,关联长度等。 string paramName = "材质"; FamilyParameter familyParameter = familyDoc.FamilyMa...
当程序运行时间很长,然后避免程序假死,比较好的办法是增加一个进度条,如果当前只有你的这一个功能在跑,用Dispatcher类是一个简单的好选择。 这里用wpf的窗口来实现。 public partial class ProgressBarV...
非模态窗口有一个好处,就是可以一直停留在程序之前,然后持续完成操作。但是在Revit二次开发中,非模态窗口也有几个注意事项。 1、需要在文档关闭的时候,把非模态窗口也关闭掉,不然会导致文档关闭,窗口还在这样奇怪的Bug。 2、非模态的窗口的...
在Revit的API中有快过滤器和慢过滤器,其中慢过滤器和快过滤器合用会加快过滤器的速度。 首先来看一个例子,以下是一个用了ElementIntersectsSolidFilter 慢过滤器的例子,如果元素多达几千个,下面最后一行代码起码耗...
在Revit二次开发中设置文字字体还是一件比较容易的事情,因为有现成的API. 首先需要获取系统文字名称,这里用最简单的方式,百度一下: https://zhidao.baidu.com/question/69549353.html 获取好...