BIMFACE最核心能力之一是工程文件格式轉換。無需安裝插件,支持數十種工程文件格式在雲端轉換,完整保留原始文件信息。開發者將告別原始文件解析煩惱,數據抽取所有自動完成。BIMFACE目前可以解析38種常見工程圖紙和模型,具體包括:rvt、rfa、rte、skp、nwd、nwc、ifc、dwg、dxf、3dm、stl、dgn、stp、3ds、obj、dae、ply、fbx、dwf、gmp、gtj、gbq、gcl、ggj、gqi、gdq、gjg、igms、gpb、gpv、gsc、gbg、gsh、gtb、gzb。html
下面詳細介紹如何獲取應用支持的文件類型。api
請求地址:GET https://file.bimface.com/support測試
說明:獲取當前應用支持轉換的文件類型,如上傳的文件格式不在列表裏,BIMFACE不支持對其發起轉換。url
參數:
spa
請求 path(示例):https://file.bimface.com/support插件
請求 header(示例):"Authorization: Bearer dc671840-bacc-4dc5-a134-97c1918d664b"3d
HTTP響應示例(200):code
{ "code" : "success", "data" : { "length" : 1073741824, "types" : [ "rvt", "rfa", "dwg", "dxf", "skp", "ifc", "dgn", "obj", "stl", "3ds", "dae", "ply", "igms", "zip", "gtj", "bfcatzip" ] }, "message" : "" }
C#實現方法:htm
1 /// <summary> 2 /// 獲取應用支持的文件類型 3 /// </summary> 4 /// <param name="accessToken">令牌</param> 5 public virtual FileSupportResponse GetFileSupport(string accessToken) 6 { 7 //GET https://file.bimface.com/support 8 string url = BimfaceConstants.FILE_HOST + "/support"; 9 BimFaceHttpHeaders headers = new BimFaceHttpHeaders(); 10 headers.AddOAuth2Header(accessToken); 11 12 try 13 { 14 FileSupportResponse response; 15 16 HttpManager httpManager = new HttpManager(headers); 17 HttpResult httpResult = httpManager.Get(url); 18 if (httpResult.Status == HttpResult.STATUS_SUCCESS) 19 { 20 response = httpResult.Text.DeserializeJsonToObject<FileSupportResponse>(); 21 } 22 else 23 { 24 response = new FileSupportResponse 25 { 26 Message = httpResult.RefText 27 }; 28 } 29 30 return response; 31 } 32 catch (Exception ex) 33 { 34 throw new Exception("[獲取應用支持的文件類型]發生異常!", ex); 35 } 36 }
其中引用的 httpManager.Get() 方法,請參考《C#開發BIMFACE系列6 服務端API之獲取文件信息》,方法徹底同樣。
能夠看到獲取應用支撐的文件類型成功,返回瞭如下信息:數據長度、支持的類型。blog
可是此處只返回瞭如下17種: rvt、rfa、dwg、dxf、skp、ifc、dgn、obj、stl、3ds、dae、ply、imgs、zip、fbx、dwf、nwd 格式。與官網介紹的38種相差不少,緣由是我註冊的帳號只是一個開發者測試帳號。因此默認只提供了17種。若是須要其餘的格式,須要聯繫管理員增長其餘的格式。
測試程序以下:
// 獲取應用支持的文件類型 protected void btnGetFileSupport_Click(object sender, EventArgs e) { txtFileInfo.Text = string.Empty; string token = txtAccessToken.Text; FileApi api = new FileApi(); FileSupportResponse response = api.GetFileSupport(token); txtFileInfo.Text = response.Code + Environment.NewLine + response.Message + Environment.NewLine + response.Data.ToString(); }