BIMBANK 导言:很多刚接触 Revit 二次开发的同学们是不是感觉代码很烦躁,每次看相关技术文章都感觉看的太专业,感觉太枯燥。此次用烹饪方式来讲解一下关于 Revit 的开发,我一直认为写代码和大厨做一道美味可口的佳肴是一个道理,每一道美味可口的佳肴,都是由各种食材、配料加以独特的烹饪方式,并摆盘展现在各位客官面前。完成后吃的人多了,夸赞一两句就是对厨师最大的认可。还说什么呢,感谢上一章辣翅大师给我们熬的高汤(▶ 辣翅大师文章请戳),咱们开整一个小火锅,点啥咱涮啥!
我们先看一下最终效果的一段功能演示视频吧:
前期食材准备
- 高汤锅底(请查看辣翅大师的DockablePane文章)
- 空闲事件一枚(Idling事件,稍作讲解)
- 外部事件火锅料(IExternalEventHandler,此次小火锅只提供涮一涮,出来的肯定是你想要的口味)
- 放入火锅的小菜自备,喜欢吃啥(水管,墙体,常规构件......),自备(创建一个测试项目,构件随喜好放置),本厨就喜欢随心所欲
第一步,先容我拿个放入高汤的锅出来,这次我们就不用什么鸳鸯锅了,直接来个一锅涮。想吃其他火锅料的可以看完本厨的教程,自己动手添加自己要的火锅料。
第二步,我们来对准备的食材进行了解一下:
空闲事件一枚:让我们看看官方给这道素材的官方介绍
咳咳咳......官方的看完了,我就通俗点来讲,就是你选择小菜(Revit构件)后,肯定有停顿的时间,毕竟我们不是超人,一直保持不动,这个不动的时间,Revit就处于空闲状态,这个时候就触发了这个空闲事件,就可以进行你要做的事情了,毕竟小菜不动的时候你才好下手处理。切记,切记,切记,空闲事件千万别出现弹框,不然你会发现就出现无限死循环了。若问解决方案,那我只能说,火锅就别吃了,先撤掉这桌,从头开始一桌吧。
此处空闲事件我们做的是,把选中的构件的信息(族名称,族类型名称)读取出来。
此处有个实用的工具(RevitLookup),这个工具是Revit二次开发的辅助神器,可以让你看每个构件内在数据信息,分分钟让你有洞察食材内在的火眼金睛。这个小工具的安装包我也会分享给各位看官。
此处分享两个方法:
a获取构件族名称
b获取构件族类型名称
外部事件火锅料(IExternalEventHandler):
此处的外部事件可以说是十三香,随心所欲的味道,此次演示的功能为:涮一涮,涮完就可以出现你想要涮出来的味道。
让我们看看这个十三香的秘方,框出来的地方,可以根据自己的需要进行添加方法。
十三香火锅料使用方法:
窗体加载时先把这个十三香定义出来。
使用的方法如下:
Ps.此方法用途比较广,如果是非悬浮框的话同样可以调用,这样你的界面框不用ShowDialog而用Show方法,也可以实现处理结果。
放入要处理的方法即可,即可实现你所要的味道。
Ps.对食材的分析的过程就是编程中写每一个的小方法,便于整个界面功能开发的时候进行调用。方便你在烹饪的时候进行整合。
准备开整
食材都搞定了,那我们开整:
- 摆好放置高汤的火锅,俗称摆盘摆好(界面设置好)
- 定义空闲事件,选中小菜后你想怎么办它们。(界面加载的时候这个就得空闲事件就得定义好)
- 放下火锅底料:
a代码见食材分析中的
b此处功能是按钮功能,此次写入的是"涮一涮"按钮的点击事件
- 试试味道,不行,看看是不是放入的料是不是出问题了(如有问题多调试几次,看看具体问题出在哪里,一次成功最好)
Ps.整个烹饪过程是把所有小方法整合到设计好的界面中,把小方法汇聚起来,就能实现界面上的所有功能。所以写好每个小方法,就决定了整个项目的处理效率。
制作的大概逻辑和流程图
结语(资源)
此时小火锅制作完毕,如果各位看官想体验一下,可加入我们的QQ交流群,在群文件中下载小火锅的安装包,以及RevitLookup神器的安装包,还有更过小工具等着各位看官来领取;也可以通过公众号后台回复“小火锅”获取百度云链接。
提示:写代码一次成功最好,如果失败,多调试几次。有问题可以在交流群中提出来,我们会进行解答。