公司最近來了一個實習(xí)生,建筑和工程雙學(xué)位,對自動化和算法設(shè)計很感興趣,跟我詢問過類似的問題!以下是我的個人觀點,希望可以幫到你。
先問自己兩個問題:
建模軟件本身夠精嗎?無論Su,Rhino,還是Revit,首先是能把設(shè)計和出圖軟件玩轉(zhuǎn)。
軟件本身的視覺編程夠精嗎?Rhino有Grasshopper,Revit有Dynamo,Bentley有GC,甚至Dassault和SolidWorks平臺也有。這些是否已經(jīng)用到極致,依然不夠滿足復(fù)雜的項目需求?
我當時給小同事的原話就是當你把GH用到極致的程度之前不要去碰代碼。VisualScripting本身就是為了快速解決問題的,把更多精力放在目標而不是手法。
如果滿足以上條件,那么再來討論代碼語言。C語言直接略過,建筑工程領(lǐng)域不需要底層語言。基本應(yīng)用內(nèi)容是調(diào)用Api為主。
就語言難度來說Python容易,語法簡單,并且結(jié)合visualscripting對數(shù)據(jù)結(jié)構(gòu)的經(jīng)驗和理解很好開始上手。另外常用平臺幾乎都支持Python,gis,gh,dynamo,rhino,revit(通過pythonshell)這些都有很不錯的支持。Python在實際建筑領(lǐng)域的操作里主要是快速做出自定義模塊,嵌入到視覺編程平臺,或者是快速出工具原型做理論驗證。
除了Python之外繞不開的第二個語言是DotNetC#,(不推薦VB,沒有為什么,不喜歡。[機智])首先就算是只用Python也要懂得基本C#閱讀。因為主流建筑軟件ApiDocumentation是以C#為主的,可以使用IronPython里clr調(diào)用。但是如果都不懂基本結(jié)構(gòu)那也無從調(diào)用。CSharp的實際應(yīng)用主要在于做一些常用的固定的工作流程或者軟件擴展開發(fā),以windows平臺為主,比如Rhino,Grasshopper的插件,Revit插件,Dynamo的zero-touchPackage之類的都是C#寫出來。(C#是StrongType強類型語言所以數(shù)據(jù)結(jié)構(gòu)和類型會明確標出來,清晰嚴謹)。