C#開發BIMFACE系列9 服務端API之獲取應用支援的文件類型

  • 2019 年 10 月 5 日
  • 筆記

系列目錄 【已更新最新開發文章,點擊查看詳細】

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。

下面詳細介紹如何獲取應用支援的文件類型。

請求地址:GET https://file.bimface.com/support

說明:獲取當前應用支援轉換的文件類型,如上傳的文件格式不在列表裡,BIMFACE不支援對其發起轉換。

參數:

請求 path(示例):https://file.bimface.com/support

請求 header(示例):"Authorization: Bearer dc671840-bacc-4dc5-a134-97c1918d664b"

HTTP響應示例(200):

{    "code" : "success",    "data" : {      "length" : 1073741824,      "types" : [ "rvt", "rfa", "dwg", "dxf", "skp", "ifc", "dgn", "obj", "stl", "3ds", "dae", "ply", "igms", "zip", "gtj", "bfcatzip" ]    },    "message" : ""  }

C#實現方法:

 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之獲取文件資訊》,方法完全一樣。

測試

可以看到獲取應用支撐的文件類型成功,返回了以下資訊:數據長度、支援的類型。

但是此處只返回了以下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();  }

系列目錄 【已更新最新開發文章,點擊查看詳細】