就上文提到的四類常見諮詢內容,本文介紹第二類:常見場景的程式碼樣例,常見問題的診斷技巧。(注:本文提及的資源連結若訪問不了,請嘗試VPN)
當有了一定Forge基礎後,例如Forge Viewer以及背後的轉換過程服務,具體的使用中,必然會遇到這樣或那樣的問題,先看看是後端的問題(例如token,上傳,模轉換),還是前端(Forge Viewer)的問題和需求。
對於後端的問題,首先透過StackOverflow(SO), 在autodesk-forge標籤下看看有無相關的討論。還有細化的標籤,例如:
autodesk-designautomation:雲端設計自動化(DesignAutomation)
autodesk-data-managemen:模型上傳下載(DataManagement
autodesk-model-derivative: 模型轉換和資料提取服務(ModelDerivative)
在SegmentFault上也有autodesk-forge標籤,不方便英文交流的朋友可發帖在這裡,我們也會陸續的貼一些常見問題,便於大家中文查詢。目前只有一個autodesk-forge標籤。
而後端的內容,建議可以使用我們提供的SDK包。現有的SDK包可從這裡下載使用:
https://developer.autodesk.co...
包括了 Node.js, Ruby, VB.NET, Java,C#
可以避免浪費很多時間在基本的上載,轉換過程中。
說到這裡,你可以開始嘗試用一下新鮮出爐的【Learn Forge tutorial - 嚮導式Forge進階教程】,它涵蓋了模型網頁瀏覽的所有知識點,而且是一步步帶著大家練習,多種語言方式。強力推薦:
對於前端,例如Forge Viewer,雖然SO上有autodesk-viewer標籤,但更建議上Autodesk-Forge的Github程式碼庫查詢已經有的程式碼樣例,看看是否已經有程式碼實現了您需要的場景。兩個工具特別推薦:
Forge Viewer 測試器:此程式碼有對應的測試網站。包括了多個基本Viewer操作的場景,例如:改變構件顏色,操作相機,操作檢視狀態,構件可見性,查詢構件等等,更酷的是,對應的程式碼也直接可以顯示出來,方便理解和測試。注意:此網站不再維護,已無法載入模型進行測試,但其程式碼樣例還是有一定參考作用(部分APIs用法可能在新版已變化)點選右側的列表,對應的程式碼就出現在頁面下方
另外一個程式碼庫是Viewer 功能擴充套件包,這裡包含了幾十個Viewer的可能需要的應用場景,實現較為綜合的功能,例如,變換構件位置(旋轉,),匯入額外的模型資料,為構件貼圖,獲取構件的三角面片等等,所以,請務必在這裡先查查是否有程式碼樣例了。
為了讓這些擴充套件的功能得以生動體現,我們還部署了一個測試網站,大部分可找到對應的原始碼。子頁面載入一個模型,右側有一些常規擴充套件的測試。另外一個子頁面提供了一些預設模型進行測試,也允許客戶上傳自己的模型,但只保留30天。
假設這些地方沒看到樣例,或者您是遇到特定的問題,錯誤了,和上面類似,在SO或SegmentFault上查詢。
或者這些都沒找到頭緒,由於是客戶端程式碼,建議大家可以多分析和除錯Viewer3D.js。通常我們引用Viewer的JS庫,是用到其壓縮版,含有sourcemap,可以在瀏覽器控制檯視窗的Source中直接設定斷點進行除錯,包括Viewer載入的的Extension程式碼。
<script src="https://developer.api.autodesk.com/modelderivative/v2/viewers/6.*/viewer3D.min.js"></script>
也可在引用的時候設定為非壓縮版,
<script src="https://developer.api.autodesk.com/modelderivative/v2/viewers/6.*/viewer3D.js"></script>
若您發現有些功能有問題,或有不足的地方,可以反饋給Autodesk Forge團隊,由開發部進行功能的改進或提供。