你好,這里是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,我們下次再見!
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。