Revit 二次开发,新手和高手到底差了关键的哪一步?

你好,这里是BIMBOX。

这两年我们明显看到,学习二次开发成了很多BIMer突破职场瓶颈的一条道路,BOX也出过不少相关的学习课程。目前Revit二次开发也形成了大大小小的社区文化,从Github、Stack Overflow、Autodesk 开发论坛、再到QQ技术交流群、微信技术交流群等。

大家讨论的问题大部分都是:

Revit有没有提供XX相关的API ?

Revit这个XXAPI怎么用?

不过,这些都是「的问题,而鲜少有人去关心那些「的问题,比如:

代码框架

设计模式

设计原则

虽然计算机科学的发展和技术更迭日新月异,但是这些基础理论却是几十年没有变化。

有许多小伙伴写了挺久的代码,但还是没有形成对代码结构和设计原则的认知,设计模式这些也知之甚少,往往是想到哪写哪,久而久之,这笔乱账本就越堆越多。

不过这也很正常,特别是只涉及二次开发方向的研发人员,更容易缺乏这方面的学习和训练。去网上搜相关资料,在Revit二次开发这方向就很少有相关内容,所以就只能自己去学习基础知识再融合应用到Revit二次开发项目中。

随着行业的发展,Revit二次开发已经不是BIM软件厂商的专职工作。现在工程各个领域都意识到了两个问题:

软件的开发需求本身也是一种企业无形资产;

在数字化进程中,企业增强技术壁垒最有效的方式就是根据自身业务、流程和标准开发自有平台和工具。

所以这两年从施工单位、到设计单位、再到业主方,只要是有一定基础的企业都在组建开发团队,解决企业内部的技术问题。

由于市场人才缺口的存在,我们也可以看到身边不断有工程领域相关人员跃跃欲试,成为计算机和工程行业的跨界达人。并且有越来越多的软件开发知识分享官,在分享自己跨界、转行、学习和工作的心路历程。

这些感悟都是出自一位行业里的老朋友,是初一不是十五,之前和BOX合作出过一门《Revit样板课程》,这门课程获得了大家的一致好评,大家都叫他十五

别再重复干活儿了,Revit样板了解一下

2020-11-16

 

 

十五作为一名土木学子,大学毕业后,抱着对BIM的热爱,满腔热血的进入了这个行业。一开始,做的更多的是需求的分析和整理、写标准、写文档;后来他想,既然我可以写需求,为什么我不能自己实现需求。

抱着这么一个想法,十五从软件公司辞职,专心在家自学软件开发。

或许兴趣就是学习最好的老师,入门学习阶段并没有给他造成太大的阻碍,第一阶段的学习目标很快就达成了,但是对于计算机基础知识了解的匮乏,明显感觉到学习中期的无力,算是吃了没基础的亏。

勿在浮沙筑高台,跨界学习最多的方式就是碎片化的学习。虽然可以快速见成效,但是许多知识点都处于一知半解的状态。

好在运气算好,十五新的工作碰到了一个情投意合的领导,对他的放权管理让他有了更大的想象空间和发挥空间,他的工作内容从技术研发,转到软件开发,工作成果也从企业数字化整体解决方案的制定,到方案的具体落实。

在这几年的项目开发过程中,让他印象最深刻的就是第一次的项目重构。重构的原因主要是:

研发团队扩张,从单兵作战模式要转成协同工作模式;

旧的项目架构无法适应新的产品需求,再写下去也只是在堆积「祖传代码」。

重新推翻自己是一个痛苦的过程,但是好在付出的代价也有了不错的回报。

从项目层面,代码更加「干净」,提高了复用性、扩展性和可维护性,让项目可以继续承受未来需求的加入;

从个人层面,第一次有了对技术的全局性思考,无论是业务架构,还是代码架构,都有了一个更深层次的认识。

重构代码的同时,也在不断重塑十五对技术的敬畏之心。

于是,十五和BOX再度合作,把他这几年的积累经验都融到了一门新的课程里,希望能帮助到和他一样想在二次开发领域进一步发展的伙伴们。

课程介绍

 

接下来带你了解一下这门新课。

在Revit开发过程中,通常我们会使用WinForms(Windows Forms)或者WPF(Windows Presentation Foundation)技术进行图形界面编程,相对于WinForms,WPF更具有优势和前景。

所以,更推荐使用WPF技术进行Revit开发。而使用WPF编程,必不可少的就是要了解MVVM开发模式。

这门课程提供了一个基于MVVM开发模式的Revit多版本开发框架,课程会教给你下面这些知识:

如何进行多版本开发,让你更加了解csproj的项目配置;
➤ 如何进行模块化开发,而不是一个类写上千行代码;
 如何进行数据驱动,让你摆脱窗体事件驱动的束缚;

➤ 如何进行规范化的代码编写,真正了解面向对象的编程思想,让你有一个更加清晰的项目结构;

课程内容

 

本课程一共有22节课,包括Revit多版本开发,MVVMLight框架、设计原则、架构设计等内容,经过BOX的后期精剪,总时长5个多小时,在这个课程结束后,你将学会以下的内容:

1.多版本开发框架

目前网上的Revit开发多版本兼容方案,大多是教你通过复制多个项目去实现,这种配置方式灵活性差,不利于标准化的项目模板开发。

这门课程教你不用去复制项目,而是通过MSBuild开发SDK Style的项目,从而实现一个项目、多目标框架、多Revit版本的开发项目配置。

SDK Style风格的项目对比以往项目,有以下优势:

使用Visual Studio即可编辑项目文件

➤ 具备代码智能提示

➤ 程序集管理变成了更直观的依赖项管理

整个配置文件采用的是XML格式,配置后,你可以得到一个简洁清晰的项目配置文件。

2.Addin加载调试

日常开发过程中,我们一般会使用Addin-Manager进行功能测试,如果需要在多个功能间、或者在软件打开过程中添加服务再进行集中软件测试,就需要使用Addin调试,这套课程教你如何在项目中进行多版本的Addin加载调试。

3.设计模式

这门课程教你如何基于MVVM架构对项目进行分层,通过MVVM设计模型使代码UI和业务逻辑进行分离。

4.设计原则

C#是面向对象的语言,作为使用C#程序员,就必须要了解的是,面向对象的基本设计原则,让你从一个全新的视角去进行程序设计。

5.控制反转

课程会引入IOC(Inversion Of Control)的思想,让你明白什么是高内聚、低耦合。教你如何进行模块化设计。

学习成果

 

Programs are meant to be read by humans and only icidentally for computers to execute

—Donald Ervin Knuth

这句话告诉我们,代码不仅仅是要让计算机可执行,更重要的是要让人可以读懂你写的每一行代码。

而提高代码的可读性除了注释以外,关键的是要有一个规范、科学的代码编写习惯、以及合理的代码架构。

课程学习结束,你将掌握一个专门为Revit开发设计的代码框架。

课程亮点

 

课程不是照本宣科的理论基础,那些晦涩难懂的名词,都会结合代码和业务、让你更好的理解。

由浅入深,一个案例贯穿全课程掌握所有知识点。

课程难易程度

 

这个课程适合希望提高自己开发水平的小伙伴,希望学会MVVM的小伙伴。学习建议是:

有基本的C# 语言基础

有一定的Revit二次开发基础

有一定的WPF基础

如果没有Revit二次开发基础,可以先学习一下Kevin的二次开发小白入门课。

6年经验大牛,带你一起打开 Revit 二次开发的新世界大门

2020-06-12

 

BIMBOX小伙伴的评语

 

十五的这门课程被群里的小伙伴催了很久,十五也是在年初的时候就录制完成了,后来还进行了课程的改进,重新录制了一次。我们提前找来了几位小伙伴学习这套课程,分别从不同的学习视角给出了建议和评语,十五又针对大家给出的建议进行了调整,后面有新的变动也会同步到课程里。

下面是几位小伙伴给的评语:

@ Brick Miao:

我是个对二开、编程彻彻底底的小白,也是一个对BIM未来技术发展十分关切的公司管理者。对于这门课程我有以下几点感悟和收获:

1、这门课针对的人群应该是公司管理人员、在学习编程方向的学生、有基础想要入坑的BIMer、专业BIM开发人员。

对于公司管理人员,担心自己公司族库的安全性,或者是有二开的招人需求,还是多少要懂如何提高你的需求和相关技术。

在学习编程方向的学生,未来对软件开发的需求不单单是软件公司的需求,同时也是例如咨询单位、设计院、造价公司的需求,有基础想要入坑的BIMer,抓住机会用二开推动BIM技术的发展。

专业BIM开发人员,可以说「不为别的,交个朋友」,十五绝对是我在这个圈子里最高兴认识的一个朋友之一,希望你能因课结缘,在群里认识不止一个「十五」。

2、作为小白我还是很容易接受这门课的学习,前七节课讲基础问题,如多版本配置、多目标框架,从第八节课开始以材质增删改查为讲课的开发案例贯穿始终,带领学习者在开发的过程中了解和认识事件命令、消息传递等,不过这个过程中建议先快速看一遍整个课程讲了什么,理清讲了那几个板块,哪块有不理解,然后带着这些问题从头再跟着细细的学习一遍

3、如果你实在听不懂建议不妨在努力一下,入坑BOX「Revit二次开发小白入门+进阶」这门课程,希望你和我一样永远青春,永远激情,永远热泪盈眶。

@人物:

课程从一个非常简单的功能,详细描述了如何用相对简洁的代码来实现,讲解了很多常用的思路。对于企业来讲可以私人定制一些更加贴合实用的小插件,同时解决市场上一些大厂开发的大锅饭插件的问题,也给立志于在BIM道路上走下去的从业人员一些的动力,原来BIMer不仅仅是建模,还能这样玩。

对于讲师十五,应该是属于被小伙伴白嫖最多的老师之一,不仅帅气而且也很耐心。如果你是喜欢研究二开的小伙伴,强烈建议你购买这套课程,十五老师知道的远比课程多得多。如果想更深入的了解,和我一起加入十五老师的Revit开发课程群,一起卷起来。

@ BIMCoder梁老师:

很高兴参与本课程的评审工作。课程安排合理,内容丰富。特别是使用了SDK-Style项目文件创建二次开发应用,同时还详细介绍了MVVM模式的WPF开发及Revit二次开发程序的架构思路。很多人在二次开发群里询问哪里有好的Revit二次开发课程可以学习,那么本课程将是大家不容错过的好课程。我极力推荐!

希望这些小伙伴们学完之后的点评,可以给你一些参考,我们也会建立一个课程专属微信群,供大家一起交流探讨。

课程上线有优惠和团购,感兴趣就扫码拿下吧!

有态度,有深度,这里是BIMBOX,我们下次再见!

本篇文章来源于微信公众号: BIM清流BIMBOX

暂无评论

相关推荐

微信扫一扫

微信扫一扫

微信扫一扫,分享到朋友圈

Revit 二次开发,新手和高手到底差了关键的哪一步?