0 0 0
有了它让Revit不再孤单
发布时间:2021/7/25 10:23:23 作者:牛侃BIM 浏览量:1303次
内容摘要:

Dynamo | 从入门到精通的心法

你好!这里是牛侃BIM。

我喜欢使用Dynamo工具,这是一款个性化的产品,本期我分享一下关于Dynamo学习和应用的那些事儿。





01 不一样的Dynamo

02 为什么要学习Dynamo

03 如何系统性的学习Dynamo--入门

04 如何系统性的学习Dynamo--进阶

05 Revit二次开发和Dynamo对比分析

06 给Dynamo用户的几个小建议




  01 不一样的Dynamo

Dynamo是Autodesk公司推出的一款可视化编程软件,Dynamo可视化程序设计是为了降低开发门槛而诞生的,对于大多数设计师,编程基础相对薄弱,但Dynamo以脚本的形式,提供使用者一个图形化的界面,组织连接预先设计好的节点(Node)来表达数据处理的逻辑,形成一个可执行的程序,降低传统程序实作的复杂度,让开发者能专注于功能开发本身。由于Dynamo程序与Revit的实时联动性,无需繁琐的格式互导,对复杂几何、参数化造型设计、资料连接、工程流程自动化等工作都能有很好的实用性。同时,它是免费的、开源的。这是官方给的介绍(这里我好像有点凑字数的嫌疑了)。


下面是我的个人理解:

Dynamo是一个数据管理及数据交互的好工具,也是个适合懒人日常应用的好工具。如果把Revit比如一个健壮的男人,那么Dynamo就是一个聪明伶俐的女人,正所谓男女搭配干活不累,在Revit这个家庭里,没有dynamo,可以说Reivt是有残缺的。


百分之90以上Revit二次开发可以解决的问题,我们都可以使用Dynamo来实现,从公司运营成本角度来说,Dynamo的性价比很高。


  02 为什么要学习Dynamo

Revit本身的功能限制了我们的日常工作,这里还是举个例子,我们会在群里看到经常有朋友提一些自己解决不了或者需要耗费大量时间去做的问题,然后就有一部分人说使用Dynamo这样那样做。确实对于有一点点dynamo基础的朋友,这种问题可能都是个小问题,不会使用Dynamo的朋友,就没办法了。这时候可能有人会说,用插件呀,可是市面上的插件往往很难满足我们个性化的需求。


Dynamo可以作为一个数据管理数据传递的工具,这在BIM应用中是非常重要的,直至今日,还有很多朋友认为基于模型做应用,笔者更侧重于基于数据,最后将数据表达为模型(故模型的作用是被后置的)。我们举个例子,一个目前较为认可的路桥隧项目的工作流程大致是这样的步骤,对图纸信息转化为表格数据,通过Dynamo分析筛选各分项有用的数据,将数据的最终表达为模型。显然,模型是被后置的。


3.脚本文件可重复利用,在项目实施过程中,往往会出现很多人在做同一件毫无意义的事(浪费时间),如果我们的团队中有一个对Dynamo熟悉的成员,编写一个脚本,每个成员都可以使用,以后的项目中还可以反复使用,说极端点,我宁可花四小时编写脚本来让机器干活,也不愿当四分钟的勤快工具人。


4.活跃思维,有效避免思路固化:BIM圈子里一直存在的现象,绝大数的从业者已经被翻模麻痹了头脑,每个工作日都沉沦在墙梁板柱,风管水管桥架常规模型中,久而久之,思想极为固化,换言之,老翻模了,工具人罢了。反观这个圈子里Dynamo应用的不错的朋友,大多都会有很多新的想法,笔者认为这是个相互作用的过程,相辅相成。你的Dynamo应用越好,随之而来的就是你的新思路越多。程序化设计软件创造更多的可能!条条大路通罗马。


  03 如何系统性的学习Dyanmo(入门)

推荐版本:Dynamo2.0以上的版本。


入门:

学习资料:

书籍:官方出的dynamo primer书籍,dynamo炼金术

视频:B站上搜索Dynamo for revit 播放量最多的那个

初学阶段切记五个字:坚持、不盲目。

学习任何东西都是万事开头难,开头坚持下来,后面的学习自然是顺风顺水的。


不管是看书还是看视频,dynamo是个逻辑性极强的软件,先把思路理清, 再跟着案例做,我在给很多企业培训Dynamo的时候,不少同学就是照着我的案例一个一个节点找,节点少了还行, 多了之后照着截图都会连不对,这就是他没明白了从前到后的逻辑,盲目的学习,很容易半途而废,第一天还照着截图做,第二天就完全跟不上了。反观部分学员,往往可以使用另外的方法实现同样的功能,这是认真思考、逻辑清晰的结果。


初学者按照我上面提的学习资源,结合案例,与下图对号入座即可:



入门学习过程中遇到的问题该如何解决:
1.先自己思考排查错误,不可钻牛角尖,也不宜遇到问题就问。
2.找一个Dynamo的学习群,简单的问题很好解决,避免自己一直走弯路,浪费时间。
初学阶段的练习案例要酌情反复练习,避免时间久了忘记。

进阶:

如果你已经过了入门阶段的学习,相信你应该可以熟练的应用常用的自带节点了,这一阶段我给大家的建议是把自己写好的脚本文件命名并保存,方便调用。


  04 如何系统性的学习Dyanmo(进阶)

进阶:

如果你已经过了入门阶段的学习,相信你应该可以熟练的应用常用的自带节点了,这一阶段我给大家的建议是把自己写好的脚本文件命名并保存,方便调用。这一阶段基本上可以结合自己工作的需求写一些简单的脚本,运用到项目中。


本阶段学习重点如下:

1.节点包应用

2.Dynamo&python基础学习

3.Revit api学习

这一阶段我们可以多去了解下常用的节点包,相当于对自带节点功能的拓展,可以 进一步满足我们的实际需求。


Dynamo常用的节点包,参见九哥Bimer整理的2.0版本,链接我会发在留言区,节点包的使用可以在油管或者dynamonode网站上搜索,也可以自己摸索使用。



接下来Dynamo&python学习了,对于Python基础可以百度菜鸟教程学习下基础的语法,也可以看我发的Dynamo@python,对于初学者基本上够用的:





我这里推荐观看黑夜de骑士在B站上的免费视频(点击学习),以及九哥bimer在BIM的乐趣公众号上的系列分享,如果你的英文还不错,可以油管搜索Dynamo python,分享的课程很多,文末我会把油管博主Danny Bentley的视频分享(只用于学习使用),这一阶段的学习建议把自己练习的代码保存到在线文档中,以后用到相关的功能直接复制自己的代码。


如果你想找dynamo@python的一些案例可以在牛侃历史文章中查看学习:


进阶学习过程中遇到的问题该如何解决:

1.https://forum.dynamobim.com/,这里是全球dynamo爱好者的集聚地,大多数问题都能在这里解决,可以使用网页翻译,中英文对照‘,并且在论坛中,也有来自五湖四海的爱好者链接到自己的博客或者网站。


2.如果自己有想法但完全不知道如何下手可以油搜索自己的问题,可以找到解决办法的概率较高。


3.CSDN或者知乎搜索相关问题,有可能可以解决问题,并有很多案例供大家参考学习。


4.还是找个大佬聚集的群,会有很对热心的网友帮你解决问题。


5.加我VX:wjl23221314,免费咨询,不保证我能解决,不保证时效。


  05 Revit二次开发与Dynamo对比分析

个人认为,如何选择取决于自己的工作。


如果你是个BIM工程师或者设计师,那没必要都去学习C#,Dynamo可以作为工程人员的编程起点,是个非常好的选择,编程不是主要的工作,强烈建议学习Dynamo,可以很轻松的扩展Revit的实用性。


如果你是一个擅长编程的人员,可以选择去做游戏,而不是去做插件,毕竟对于大多数功能而言,Dynamo就可以很好的解决。


一些最能帮助了我们日常工作的脚本程序,往往都是一些相对简单的脚本,使用Dynamo,时间成本更低。


如果你想保护你的核心算法,请选择二次开发,当然Dynamo也可以做。


如果你通过Dynamo有了比较强的Python基础,也可以选择尝试学习二次开发,这并不冲突。


如果你所在的公司规模较大,可以选择投入二次开发,B格更高,反之,用Dynamo个人认为更实在。


如果你所在的公司要更加深入的研究欧特克的工作流,推荐二次开发,甚至更高级的开发。



  06 给Dynamo用户的几个小建议

代码上传到在线文档,随时可以调用粘贴,很方便。


不可为了Dynamo而Dynamo,怎么简单怎么来,要掌握好如何和Revit巧妙配合。


多借鉴别人写的代码,自己学习整理后消化举一反三。

文章完……

注:图片仅供交流学习使用,严禁用于商业用途。


  • 用户评论