從事BIM的研究工作快三年了,專業背景是土木工程,從建模到程式設計,從幾何三維到資料,再到系統平臺,都會經歷一段痛苦的學習程式設計的時間,大概經歷完這段時間就會發生一個質的變化,對BIM的認知也會發生翻天覆地的變化,至少感覺到BIM做為建築資訊化的實現途徑,應該往哪方去發展,真正的侷限在哪裡。

我相信絕大部分BIMer都和我一樣,專業背景是土木工程,限於工作或者學習環境,沒有機會深入學習建築資訊化,很可能從事一些翻模和模型的簡單應用工作,每次聽聞BIM大佬的言論,應用點,心裡除了“臥槽,牛逼”之外,也會想這到底怎麼實現的呢?看起來不難啊,還有什麼軟體我不知道嗎?

且行且珍惜,聽作者表達一下自己的觀點,建築資訊化的實現,絕不是幾款軟體能夠實現的,軟體只能包裝一部分面試特定人群的功能,只有自己掌握核心技能—程式設計,才能脫離軟體的限制,做出適用於自己專案,甚至自己單位的平臺功能。

所以,引出今天的主題,一個BIMer應該學習幾門程式語言呢?

答案:C#,Python,網頁。

如果時間充裕,建議Python,C#,網頁。

如果想快速投入生成工作,建議C#,Python,網頁可不學。

下面分別說說各自的應用點。

Python

Python是一門解釋性語言,同時也是我個人最喜歡的需要,語法簡潔,大大降低了計算機語言的門檻,對於沒有程式設計經驗的BIMBIMer來說,無疑是最好的入門語言。近年來有無數的包針對於Python開發,不乏各種大廠。

(1)Dynamo是基於Python來寫得,學習了Python可以更好的理解Dynamo節點,同時Python支援Dynamo的自定義節點。

(2)Python也是Revit二次開發語言之一,雖然不是主流的Revit開發語言,但是Python以其簡潔性,也吸引了一部分的使用者。

(3)使用Python處理日常事務,我真的認識不少人用Python來處理Excel資料的大隻,妥妥的提高工作效率,還有幾個是文科生。

(4)超圖(supermap)做GIS的,也支援Python的介面。

(5)IFC都耳熟能詳,Python也可以把IFC檔案作為資料庫來獲取其中的資訊。

(6)作為一個系統平臺的後臺程式,也可以開啟新天地。

(7)之前我做過的使用Python來獲取資料庫中BIM模型資訊,並做一些簡單應用的案例也算得上一個應用。

(8)機器學習,人工智慧最近幾年火的一塌糊塗,如果你沒有自己寫演算法的能力,不妨試試Python的機器學習包和大資料框架,土木工程資訊化也需要機器學習。

2。 C#

這是一門想對C來說比較簡潔的語言,是一個BIMer必須掌握的需要,可謂是萬金油,雖然趕不上JAVA,但是做BIM的二次開發,很多時候就是用的微軟的編譯軟體,windows電腦的作業系統就是C#。

(1)Revit二次開發,主流語言,不多講。

(2)IFC開發,透過XBIM對IFC進行二次開發,這可比Python開發IFC強多了。

(3)快速搭建平臺,C#的WPF和winform可謂是神器。

(4)前幾期講的Forge開發也可以用C#來做,想不到吧。

3。 網頁

在我的理解裡面網頁包括HTML,JavaScript和CSS,HTML作為超文字語言專注於網頁佈局,JavaScript作為指令碼語言專注於功能,CSS是網頁樣式,主要用於基於B/S系統平臺開發,可能應用在建造過程的各個方面。

(1)之前幾期講到的node。js,就一直是用的JavaScript語言,作用就是建立一個服務。

(2)同樣的,前幾期的介面有一個HTML檔案和css檔案,就是用HTML和CSS佈局,javasJavaScript 是基礎功能和拓展功能的功能語言。

(3)類似於之前講到的Forge,很多的瀏覽器端的三維模型都是基於three。 js來進行開發的,而three。 js是用JavaScript寫的,換句話說想要做瀏覽器端的三維模型就逃不過HTML。

程式設計的語言還有很多,可以做的事情也很多,合理的學習一些程式語言可以提高自己對BIM或者建築資訊化的理解能力和應用能力。

暫時就這麼多,歡迎各位大隻評論區留言補充。

歡迎加入QQ群:427981585,進群交流。

微信公眾號後臺【BIM技術應用交流】回覆“學習心得13”,獲取Python,C#,JavaScript教程。

關注知乎專欄【BIM學習心得】獲取更多腦洞應用。

點個贊再走吧。