筆者於去年十月底找到人生第一份正職工作,就是BIM(Building Information Modeling)相關的軟體開發,因此對於Autodesk forge早已略知一二。快轉到2020的現今,全世界正被疫情受虐,有幸筆者的工作環境與內容並沒有受到嚴重的影響,不過也因如此,不禁引發我開始思索未來公司專案的需求與目標,是否能夠在需要的時候學會相應的技能並加以應用,畢竟現在正是養精蓄銳學習技術的好時機呀!這也是我參加鐵人賽的原因,想要透過30天不間斷的學習與筆記,掌握forge Api的使用,可以在未來工作需要web base X BIM的需求時足以應對。
時間回到2018年底,研究所期間曾經接手一個簡易的forge專案,那個時候還不懂網頁開發、不懂後端開發,只會簡單的html/css切版,接手後的專案在一行npm start index.js
啟動後,就不敢關掉terminal,因為當時完全不知道之後該怎麼辦,也不知道要改什麼,做什麼。當時的我僅僅就是知道如何將一個forge專案執行起來而已。
接著,時間來到2020年,這時的我已了解網頁開發從前端到後端的基礎實作,學習的是node.js這個框架。透過公司參與了Autodesk官方的工作坊,實際走過了一遍從註冊帳號到搭建一個forge viewer的流程,過程中只能讓學生複製老師的code將一個專案完成,當下學習到的內涵十分有限,後續仍需要將程式碼逐行理解才算是真的學會。
總結上述以及自己學習網頁開發的經驗,相較於廣大的軟體開發(網頁,手機App)市場,AEC產業的軟體應用資源少很多,其中也包括forge。因此,想透過這次鐵人賽以文章的方式重新梳理與理解當時的教材與官方文件,以較熟悉的node.js框架實作forge viewer。希望能透過我30天的筆記,讓偶然看到與我相同背景的開發者們有一個更使用者友善的學習路徑。
本系列文最適合與我有相似技術背景的讀者:對於網頁開發有基本的理解,能夠做出包含前後端的小型專案,至少對一項物件導向程式設計的語言,像是c++, c#, javascript, python有一定的開發經驗,但對forge完全陌生,或者你甚至對node.js從沒接觸過,也沒有問題。
相信學經歷與我相近的讀者多少都有用過dynamo script做簡單的自動化工具(dynamo就是python寫的),甚至是寫過Autodesk Revit API開發插件(無疑的就是c#),這點就不再贅述。
本系列文會帶大家走過一遍learn forge的官方教材中的View your models這個主題,完成一個forge viewer,並且從中解釋語法的撰寫與使用。視情況與篇幅帶到View BIM 360 & Fusion models以及Modify your models兩個項目,或是拆解與案例分析有關的題目。
先醜話說在前:因為筆者第一次參賽,加上最近工作剛好趕10月案子demo與進修任務,真的是忙碌X壓力啊,所以沒辦法肯定會帶到多少內容,但是至少View your models會走完的(點頭)
本文到了尾聲,下一篇文會講解forge帳號申請以及開發環境的設定,很高興能一起學習forge=]]]
謝謝你的這個系列文章, 我個人最近找到一家公司在做BIM的相關服務, 會用到Forge API和Revit API, 所以你的文章看起來會對我很有幫助, 從今天起會將您的文章一篇一篇讀完, 希望學習過程一切順利, 感謝您!
(嗚嗚 剛剛打完回應竟然因為等級不夠不能回應留言,訊息直接不見白打了QQ)
謝謝你注意到我的系列文,但其實當時寫這個系列文的時候到後來有點爛尾,所以我刪掉不少篇文章,可能不會對你有太大幫助 QQ
不過我以前的工作經驗確實蠻常使用 Revit API 跟 Tekla Open API ,如果有需要的話可以交流一下技術的使用唷
我的 email: emily40830@gmail.com
太好了, 先謝謝妳!