C#开发BIMFACE系列33 服务端API之模型对比4:获取模型对比结果
模型对比可以对两个文件/模型进行差异性分析,确定两个文件/模型之间构件的几何和属性差异,包括增加的构件、删除的构件和修改的构件。 模型对应可以用于进行文件/模型的版本对比。
- 几何对比
-
几何数据的对比的粒度为构件级,即只要构件的某一部分几何数据或材质发生改变,就认为整个构件发生变化。
几何差异,是指:文件A相对于文件B,到底在显示方面有哪些几何图形发生了变化。 为了清晰描述几何差异,我们通过举例来详细说明:
- 假设文件A中,包含有5个构件,分别是:1、2、3、4、5;
- 假设文件A经过修改后,保存为文件B,其包含的构件为:2、3、4'、5、6、7。
通过对比,我们知道:文件B相对于文件A,删除了构件 1,新增了构件 6、7,修改构件4变成了构件4'。 因此,经过对比计算,几何差异保留了如下信息:
- 删除的构件1;
- 修改构件中,修改前的构件4。
特别注意:在几何差异中,保留的是文件A相对于文件B的修改内容,因此,新增的构件6、7,和修改构件中修改后的构件4',并没有包含在几何差异内。
- 属性对比
-
属性对比的粒度为构件的属性级,即对两个文件中的相同ID的构件挨个属性值进行对比。
变更构件指的是文件B相对于文件A新增、删除和修改的构件;变更的属性指的是构件修改前后,其属性值发生的变化。 在对比完成之后,您可以调用2个服务端的API获取变更构件的列表,和修改前后发生变化的构件属性列表。
1. 获取模型对比结果
您可以调用服务端“获取模型对比结果”API,其返回的结果是一个列表,列表中详细列出了新增、删除、修改构件的ID和名称,并按照专业、类型进行了分组;
2. 获取修改构件属性差异
您可以调用服务端“获取修改构件属性差异”API,其返回的结果也是一个列表,仅针对修改的构件(不包含新增、删除的构件),是指对于一个修改过的构件ID,其修改前后分别新增、删除了哪些属性,或是属性值发生了变化。
如何显示模型对比结果的几何图形部分
- 完整显示文件B;
- 在此基础上显示几何差异;
- 隔离未变更的构件(如:半透明未变更的构件);
- 对新增、删除、修改前后的构件进行着色。 如下图,在界面中呈现的构件,应该表达为如下结果:
下面介绍BIMFACE提供的服务端API来获取模型对比的所有结果。
请求地址:GET https://api.bimface.com/data/v2/comparisons/{comparisonId}/diff
说明:分页获取模型对比结果
参数:
请求 path(示例):https://api.bimface.com/data/v2/comparisons/1136906400211168/diff
请求 header(示例):"Authorization: Bearer dc671840-bacc-4dc5-a134-97c1918d664b"
HTTP响应示例(200):
{
"code" : "success",
"data" : {
"data" : [ {
"categoryId" : "-2001320",
"categoryName" : "framework",
"diffType" : "CHANGE",
"elementId" : "",
"elementName" : "250 x 600 mm",
"family" : "framework 1",
"followingFileId" : "",
"id" : "",
"previousFileId" : "",
"specialty" : "civil"
} ],
"page" : ,
"total" :
},
"message" : ""
}
特别说明
该接口是提供分页查询对比结果的。如果把参数 page(当前页面索引)设置为1,把参数 pageSize(每页记录数) 设置为 In32.MaxValue,即可一次性获取所有对比结果。
该接口默认每页记录数为50。
C#实现方法:
/// <summary>
/// 获取模型对比的所有结果
/// </summary>
/// <param name="accessToken">【必填】令牌</param>
/// <param name="compareId">【必填】对比ID</param>
/// <param name="elementName">构件名称</param>
/// <param name="family">族名称</param>
/// <returns></returns>
public ModelCompareDiffResponse GetModelCompareDiffAll(string accessToken, long compareId, string elementName = "", string family = "")
{
return GetModelCompareDiff(accessToken, compareId, elementName, family, , Int32.MaxValue);
}
调用了分页查询的方法 GetModelCompareDiff(),实现如下:
/// <summary>
/// 分页获取模型对比结果
/// </summary>
/// <param name="accessToken">【必填】令牌</param>
/// <param name="compareId">【必填】对比ID</param>
/// <param name="elementName">构件名称</param>
/// <param name="family">族名称</param>
/// <param name="page">页码。默认第1页</param>
/// <param name="pageSize">每页记录数。默认50</param>
/// <returns></returns>
public virtual ModelCompareDiffResponse GetModelCompareDiff(string accessToken, long compareId,
string elementName = "", string family = "",
int page = , int pageSize = )
{
// GET https://api.bimface.com/data/v2/comparisons/{comparisonId}/diff
string url = string.Format(BimfaceConstants.API_HOST + "/data/v2/comparisons/{0}/diff", compareId);
if (page <= )
{
page = ;
} if (page <= )
{
page = ;
} url += "?page=" + page;
url += "&pageSize=" + pageSize; if (elementName.IsNotNullAndWhiteSpace())
{
url += "&elementName=" + elementName;
}
if (family.IsNotNullAndWhiteSpace())
{
url += "&family=" + family;
} BimFaceHttpHeaders headers = new BimFaceHttpHeaders();
headers.AddOAuth2Header(accessToken); try
{
ModelCompareDiffResponse response; HttpManager httpManager = new HttpManager(headers);
HttpResult httpResult = httpManager.Get(url);
if (httpResult.Status == HttpResult.STATUS_SUCCESS)
{
response = httpResult.Text.DeserializeJsonToObject<ModelCompareDiffResponse>();
}
else
{
response = new ModelCompareDiffResponse
{
Message = httpResult.RefText
};
} return response;
}
catch (Exception ex)
{
throw new Exception("[分页获取模型对比结果]发生异常!", ex);
}
}
方法的返回结果类ModelCompareDiffResponse如下:
/// <summary>
/// 分页获取模型对比结果的响应类
/// </summary>
public class ModelCompareDiffResponse : GeneralResponse<PaginationModelCompareDiff>
{ } public class PaginationModelCompareDiff
{
/// <summary>
/// 模型对比差异类数组
/// </summary>
[JsonProperty("data", NullValueHandling = NullValueHandling.Ignore)]
public ModelCompareDiff[] Data { get; set; } /// <summary>
/// 当前页码
/// </summary>
[JsonProperty("page", NullValueHandling = NullValueHandling.Ignore)]
public int Page { get; set; } /// <summary>
/// 总页数
/// </summary>
[JsonProperty("total", NullValueHandling = NullValueHandling.Ignore)]
public int Total { get; set; }
} /// <summary>
/// 模型对比差异类
/// </summary>
public class ModelCompareDiff
{
/// <summary>
/// 对比差异构件所属类别ID。样例 : "-2001320"
/// </summary>
[JsonProperty("categoryId", NullValueHandling = NullValueHandling.Ignore)]
public string CategoryId { get; set; } /// <summary>
/// 对比差异构件所属类别名称。样例 : "framework"
/// </summary>
[JsonProperty("categoryName", NullValueHandling = NullValueHandling.Ignore)]
public string CategoryName { get; set; } /// <summary>
/// 对比差异构件差异类型。 NEW、DELETE、CHANGE
/// </summary>
[JsonProperty("diffType", NullValueHandling = NullValueHandling.Ignore)]
public string DiffType { get; set; } /// <summary>
/// 对比差异构件ID。样例 : "296524"
/// </summary>
[JsonProperty("elementId", NullValueHandling = NullValueHandling.Ignore)]
public string ElementId { get; set; } /// <summary>
/// 对比差异构件名称
/// </summary>
[JsonProperty("elementName", NullValueHandling = NullValueHandling.Ignore)]
public string ElementName { get; set; } /// <summary>
/// 对比差异构件的族名称。样例 : "framework 1"
/// </summary>
[JsonProperty("family", NullValueHandling = NullValueHandling.Ignore)]
public string Family { get; set; } /// <summary>
/// 对比差异构件来源构件ID。样例 : "0213154515478"
/// </summary>
[JsonProperty("id", NullValueHandling = NullValueHandling.Ignore)]
public string Id { get; set; } /// <summary>
/// 对比差异构件变更文件ID,即(当前)变更后的文件ID。样例 : "1136893002033344"
/// </summary>
[JsonProperty("followingFileId", NullValueHandling = NullValueHandling.Ignore)]
public string FollowingFileId { get; set; } /// <summary>
/// 对比差异构件来源文件ID,即 (历史)变更前的文件ID。样例 : "0213154515478"
/// </summary>
[JsonProperty("previousFileId", NullValueHandling = NullValueHandling.Ignore)]
public string PreviousFileId { get; set; } /// <summary>
/// 对比差异构件所属专业。样例 : "civil"
/// </summary>
[JsonProperty("specialty", NullValueHandling = NullValueHandling.Ignore)]
public string Specialty { get; set; }
}
代码中使用的 HttpManager 类请参考我的博客文章《C# HTTP系列 HttpWebRequest 与 HttpWebResponse》。
测试代码:
/// <summary>
/// 获取模型对比结果(所有)
/// </summary>
protected void btnGetModelCompareDiffAll_Click(object sender, EventArgs e)
{
txtResult.Text = string.Empty; long compareId = txtCompareID.Text.ToLong();
IModelCompareApi api = new ModelCompareApi();
ModelCompareDiffResponse response = api.GetModelCompareDiffAll(txtAccessToken.Text, compareId); txtResult.Text = response.SerializeToJson(true);
}
测试结果:
该结果列表中详细列出了新增、删除、修改构件的ID和名称,并按照专业、类型进行了分组。完整的对比结果如下:
{
"code": "success",
"message": null,
"data": {
"data": [
{
"categoryId": "-2001000",
"categoryName": "橱柜",
"diffType": "CHANGE",
"elementId": "",
"elementName": "4500_Kitchen Island",
"family": "4500_Kitchen Island",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001000",
"categoryName": "橱柜",
"diffType": "CHANGE",
"elementId": "",
"elementName": "4500_Kitchen Island_DW",
"family": "4500_Kitchen Island_DW",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000080",
"categoryName": "家具",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Bar Chair",
"family": "Bar Chair",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000080",
"categoryName": "家具",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Bar Chair",
"family": "Bar Chair",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000080",
"categoryName": "家具",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Bar Chair",
"family": "Bar Chair",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000080",
"categoryName": "家具",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Bar Chair",
"family": "Bar Chair",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000080",
"categoryName": "家具",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Bar Chair",
"family": "Bar Chair",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000080",
"categoryName": "家具",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Bar Chair",
"family": "Bar Chair",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000080",
"categoryName": "家具",
"diffType": "CHANGE",
"elementId": "",
"elementName": "W1500XD400XH530",
"family": "Cabinet 1",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001160",
"categoryName": "卫浴装置",
"diffType": "CHANGE",
"elementId": "",
"elementName": "5000L 3500x900x1860",
"family": "DC_Tankworks_PLM_5000L",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001160",
"categoryName": "卫浴装置",
"diffType": "CHANGE",
"elementId": "",
"elementName": "5000L 3500x900x1860",
"family": "DC_Tankworks_PLM_5000L",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000080",
"categoryName": "家具",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Dining Chair (3)",
"family": "Dining Chair (3)",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000080",
"categoryName": "家具",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Dining Chair (3)",
"family": "Dining Chair (3)",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000080",
"categoryName": "家具",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Dining Chair (3)",
"family": "Dining Chair (3)",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000080",
"categoryName": "家具",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Dining Chair (3)",
"family": "Dining Chair (3)",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000080",
"categoryName": "家具",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Dining Chair (3)",
"family": "Dining Chair (3)",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000080",
"categoryName": "家具",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Dining Chair (3)",
"family": "Dining Chair (3)",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000080",
"categoryName": "家具",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Dining Chair (3)",
"family": "Dining Chair (3)",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000080",
"categoryName": "家具",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Dining Chair (3)",
"family": "Dining Chair (3)",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001160",
"categoryName": "卫浴装置",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Standard",
"family": "Lavatory-TOTO-Luminist_Rectangle_Vessel_LLT151",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001160",
"categoryName": "卫浴装置",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Standard",
"family": "Lavatory-TOTO-Luminist_Rectangle_Vessel_LLT151",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001160",
"categoryName": "卫浴装置",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Standard",
"family": "Lavatory-TOTO-Luminist_Rectangle_Vessel_LLT151",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001160",
"categoryName": "卫浴装置",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Standard",
"family": "Lavatory-TOTO-Luminist_Rectangle_Vessel_LLT151",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001330",
"categoryName": "结构柱",
"diffType": "CHANGE",
"elementId": "",
"elementName": "M_1000",
"family": "M_Concrete-Round-Column with Drop Caps",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001300",
"categoryName": "结构基础",
"diffType": "CHANGE",
"elementId": "",
"elementName": "600 x 600 x 900mm",
"family": "M_Pile Cap-600 Pile",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001300",
"categoryName": "结构基础",
"diffType": "CHANGE",
"elementId": "",
"elementName": "600 x 600 x 900mm",
"family": "M_Pile Cap-600 Pile",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001300",
"categoryName": "结构基础",
"diffType": "CHANGE",
"elementId": "",
"elementName": "600 x 600 x 900mm",
"family": "M_Pile Cap-600 Pile",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001300",
"categoryName": "结构基础",
"diffType": "CHANGE",
"elementId": "",
"elementName": "600 x 600 x 900mm",
"family": "M_Pile Cap-600 Pile",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001300",
"categoryName": "结构基础",
"diffType": "CHANGE",
"elementId": "",
"elementName": "600 x 600 x 900mm",
"family": "M_Pile Cap-600 Pile",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001300",
"categoryName": "结构基础",
"diffType": "CHANGE",
"elementId": "",
"elementName": "600 x 600 x 900mm",
"family": "M_Pile Cap-600 Pile",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001300",
"categoryName": "结构基础",
"diffType": "CHANGE",
"elementId": "",
"elementName": "600 x 600 x 900mm",
"family": "M_Pile Cap-600 Pile",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001300",
"categoryName": "结构基础",
"diffType": "CHANGE",
"elementId": "",
"elementName": "600 x 600 x 900mm",
"family": "M_Pile Cap-600 Pile",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001300",
"categoryName": "结构基础",
"diffType": "CHANGE",
"elementId": "",
"elementName": "600 x 600 x 900mm",
"family": "M_Pile Cap-600 Pile",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001300",
"categoryName": "结构基础",
"diffType": "CHANGE",
"elementId": "",
"elementName": "600 x 600 x 900mm",
"family": "M_Pile Cap-600 Pile",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001300",
"categoryName": "结构基础",
"diffType": "CHANGE",
"elementId": "",
"elementName": "600 x 600 x 900mm",
"family": "M_Pile Cap-600 Pile",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001300",
"categoryName": "结构基础",
"diffType": "CHANGE",
"elementId": "",
"elementName": "600mm Diameter",
"family": "M_Pile-Steel Pipe",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001300",
"categoryName": "结构基础",
"diffType": "CHANGE",
"elementId": "",
"elementName": "600mm Diameter",
"family": "M_Pile-Steel Pipe",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001300",
"categoryName": "结构基础",
"diffType": "CHANGE",
"elementId": "",
"elementName": "600mm Diameter",
"family": "M_Pile-Steel Pipe",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001300",
"categoryName": "结构基础",
"diffType": "CHANGE",
"elementId": "",
"elementName": "600mm Diameter",
"family": "M_Pile-Steel Pipe",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001300",
"categoryName": "结构基础",
"diffType": "CHANGE",
"elementId": "",
"elementName": "600mm Diameter",
"family": "M_Pile-Steel Pipe",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001300",
"categoryName": "结构基础",
"diffType": "CHANGE",
"elementId": "",
"elementName": "600mm Diameter",
"family": "M_Pile-Steel Pipe",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001300",
"categoryName": "结构基础",
"diffType": "CHANGE",
"elementId": "",
"elementName": "600mm Diameter",
"family": "M_Pile-Steel Pipe",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001300",
"categoryName": "结构基础",
"diffType": "CHANGE",
"elementId": "",
"elementName": "600mm Diameter",
"family": "M_Pile-Steel Pipe",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001300",
"categoryName": "结构基础",
"diffType": "CHANGE",
"elementId": "",
"elementName": "600mm Diameter",
"family": "M_Pile-Steel Pipe",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001300",
"categoryName": "结构基础",
"diffType": "CHANGE",
"elementId": "",
"elementName": "600mm Diameter",
"family": "M_Pile-Steel Pipe",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001300",
"categoryName": "结构基础",
"diffType": "CHANGE",
"elementId": "",
"elementName": "600mm Diameter",
"family": "M_Pile-Steel Pipe",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001370",
"categoryName": "环境",
"diffType": "CHANGE",
"elementId": "",
"elementName": "M_RPC Beetle",
"family": "M_RPC Beetle",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000080",
"categoryName": "家具",
"diffType": "CHANGE",
"elementId": "",
"elementName": "0810mm",
"family": "M_TV - Flat Screen",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001260",
"categoryName": "场地",
"diffType": "CHANGE",
"elementId": "",
"elementName": "9 Meters High",
"family": "M_Wind Power Generator",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001260",
"categoryName": "场地",
"diffType": "CHANGE",
"elementId": "",
"elementName": "9 Meters High",
"family": "M_Wind Power Generator",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001260",
"categoryName": "场地",
"diffType": "CHANGE",
"elementId": "",
"elementName": "9 Meters High",
"family": "M_Wind Power Generator",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001350",
"categoryName": "专用设备",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Miele Microwave M 8260-2",
"family": "Miele Built-in Microwave M 8260-2",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001350",
"categoryName": "专用设备",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Rangehood DA-2210",
"family": "Miele Built-in Rangehood DA 2210",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000151",
"categoryName": "常规模型",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Miele Built-under Dishwasher G 4101 U CS",
"family": "Miele Built-under Dishwasher G 4101 U CS",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000151",
"categoryName": "常规模型",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Miele Induction Cooktop 6350 LPT",
"family": "Miele Induction Cooktop KM 6350 LPT",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001350",
"categoryName": "专用设备",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Miele Fridge/Freezer KF 1911 Vi",
"family": "Miele MasterCool KF 1911 Vi",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001350",
"categoryName": "专用设备",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Miele Oven H 5681 BP",
"family": "Miele Oven H 5681 BP",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001350",
"categoryName": "专用设备",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Miele Tumble Dryer T 7944 C",
"family": "Miele Tumble Dryer T 7944 C",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000151",
"categoryName": "常规模型",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Miele Washing Machine W 5820 WPS",
"family": "Miele Washing Machine W 5820 WPS",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001040",
"categoryName": "电气设备",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Solarworld Sunmodule Plus",
"family": "Photovoltaic-Panel-SolarWorld-SunModule-(235-240)",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001040",
"categoryName": "电气设备",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Solarworld Sunmodule Plus",
"family": "Photovoltaic-Panel-SolarWorld-SunModule-(235-240)",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001040",
"categoryName": "电气设备",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Solarworld Sunmodule Plus",
"family": "Photovoltaic-Panel-SolarWorld-SunModule-(235-240)",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001040",
"categoryName": "电气设备",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Solarworld Sunmodule Plus",
"family": "Photovoltaic-Panel-SolarWorld-SunModule-(235-240)",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001040",
"categoryName": "电气设备",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Solarworld Sunmodule Plus",
"family": "Photovoltaic-Panel-SolarWorld-SunModule-(235-240)",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001040",
"categoryName": "电气设备",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Solarworld Sunmodule Plus",
"family": "Photovoltaic-Panel-SolarWorld-SunModule-(235-240)",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001040",
"categoryName": "电气设备",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Solarworld Sunmodule Plus",
"family": "Photovoltaic-Panel-SolarWorld-SunModule-(235-240)",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001040",
"categoryName": "电气设备",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Solarworld Sunmodule Plus",
"family": "Photovoltaic-Panel-SolarWorld-SunModule-(235-240)",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001040",
"categoryName": "电气设备",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Solarworld Sunmodule Plus",
"family": "Photovoltaic-Panel-SolarWorld-SunModule-(235-240)",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001040",
"categoryName": "电气设备",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Solarworld Sunmodule Plus",
"family": "Photovoltaic-Panel-SolarWorld-SunModule-(235-240)",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001040",
"categoryName": "电气设备",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Solarworld Sunmodule Plus",
"family": "Photovoltaic-Panel-SolarWorld-SunModule-(235-240)",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001040",
"categoryName": "电气设备",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Solarworld Sunmodule Plus",
"family": "Photovoltaic-Panel-SolarWorld-SunModule-(235-240)",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001370",
"categoryName": "环境",
"diffType": "CHANGE",
"elementId": "",
"elementName": "YinYin",
"family": "RPC Female",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001370",
"categoryName": "环境",
"diffType": "CHANGE",
"elementId": "",
"elementName": "YinYin",
"family": "RPC Female",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001370",
"categoryName": "环境",
"diffType": "CHANGE",
"elementId": "",
"elementName": "YinYin",
"family": "RPC Female",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001370",
"categoryName": "环境",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Alex",
"family": "RPC Male",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001360",
"categoryName": "植物",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Hawthorn - 25'",
"family": "RPC Tree - Deciduous",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001360",
"categoryName": "植物",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Honey Locust - 25'",
"family": "RPC Tree - Deciduous",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001360",
"categoryName": "植物",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Honey Locust - 25'",
"family": "RPC Tree - Deciduous",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001360",
"categoryName": "植物",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Honey Locust - 25'",
"family": "RPC Tree - Deciduous",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001360",
"categoryName": "植物",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Honey Locust - 25'",
"family": "RPC Tree - Deciduous",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001360",
"categoryName": "植物",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Honey Locust - 25'",
"family": "RPC Tree - Deciduous",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001360",
"categoryName": "植物",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Honey Locust - 25'",
"family": "RPC Tree - Deciduous",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001360",
"categoryName": "植物",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Honey Locust - 25'",
"family": "RPC Tree - Deciduous",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001360",
"categoryName": "植物",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Honey Locust - 25'",
"family": "RPC Tree - Deciduous",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001360",
"categoryName": "植物",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Largetooth Aspen - 25'",
"family": "RPC Tree - Deciduous",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001360",
"categoryName": "植物",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Lombardy Poplar - 40'",
"family": "RPC Tree - Deciduous",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001360",
"categoryName": "植物",
"diffType": "DELETE",
"elementId": "",
"elementName": "Red Ash - 25'",
"family": "RPC Tree - Deciduous",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001360",
"categoryName": "植物",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Red Maple - 30'",
"family": "RPC Tree - Deciduous",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001360",
"categoryName": "植物",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Red Maple - 30'",
"family": "RPC Tree - Deciduous",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001360",
"categoryName": "植物",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Scarlet Oak - 42'",
"family": "RPC Tree - Deciduous",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001360",
"categoryName": "植物",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Scarlet Oak - 42'",
"family": "RPC Tree - Deciduous",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000080",
"categoryName": "家具",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Model with Island",
"family": "Seat - Single with Island",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000080",
"categoryName": "家具",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Seating - Artemis - Lounge chair",
"family": "Seating - Artemis - Lounge chair",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000080",
"categoryName": "家具",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Seating - Artemis - Lounge chair",
"family": "Seating - Artemis - Lounge chair",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000080",
"categoryName": "家具",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Side Table 2 (2)",
"family": "Side Table 2 (2)",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000080",
"categoryName": "家具",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Side Table 2 (2)",
"family": "Side Table 2 (2)",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000080",
"categoryName": "家具",
"diffType": "CHANGE",
"elementId": "",
"elementName": "W600XD600",
"family": "Sofa - Ottoman",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000080",
"categoryName": "家具",
"diffType": "CHANGE",
"elementId": "",
"elementName": "W600XD600",
"family": "Sofa - Ottoman",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000080",
"categoryName": "家具",
"diffType": "CHANGE",
"elementId": "",
"elementName": "W600XD600",
"family": "Sofa - Ottoman",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000080",
"categoryName": "家具",
"diffType": "CHANGE",
"elementId": "",
"elementName": "W600XD600",
"family": "Sofa - Ottoman",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000080",
"categoryName": "家具",
"diffType": "CHANGE",
"elementId": "",
"elementName": "W600XD600",
"family": "Sofa - Ottoman",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000080",
"categoryName": "家具",
"diffType": "CHANGE",
"elementId": "",
"elementName": "W600XD600 2",
"family": "Sofa - Ottoman",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000080",
"categoryName": "家具",
"diffType": "CHANGE",
"elementId": "",
"elementName": "W600XD600 2",
"family": "Sofa - Ottoman",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000080",
"categoryName": "家具",
"diffType": "CHANGE",
"elementId": "",
"elementName": "1800 x 900 mm",
"family": "Table-Dining 01 (M)",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000080",
"categoryName": "家具",
"diffType": "CHANGE",
"elementId": "",
"elementName": "1800 x 900 mm",
"family": "Table-Dining 01 (M)",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001120",
"categoryName": "照明设备",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Trck_BswySystms_Cooper_RSA_Profile Series_AR111 Closed Back Integral Xfmr",
"family": "Trck_BswySystms_Cooper_RSA_Profile Series_AR111 Closed Back Integral Xfmr",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001120",
"categoryName": "照明设备",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Trck_BswySystms_Cooper_RSA_Profile Series_AR111 Closed Back Integral Xfmr",
"family": "Trck_BswySystms_Cooper_RSA_Profile Series_AR111 Closed Back Integral Xfmr",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001120",
"categoryName": "照明设备",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Trck_BswySystms_Cooper_RSA_Profile Series_AR111 Closed Back Integral Xfmr",
"family": "Trck_BswySystms_Cooper_RSA_Profile Series_AR111 Closed Back Integral Xfmr",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001120",
"categoryName": "照明设备",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Trck_BswySystms_Cooper_RSA_Profile Series_AR111 Closed Back Integral Xfmr",
"family": "Trck_BswySystms_Cooper_RSA_Profile Series_AR111 Closed Back Integral Xfmr",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001120",
"categoryName": "照明设备",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Trck_BswySystms_Cooper_RSA_Profile Series_AR111 Closed Back Integral Xfmr",
"family": "Trck_BswySystms_Cooper_RSA_Profile Series_AR111 Closed Back Integral Xfmr",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001120",
"categoryName": "照明设备",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Trck_BswySystms_Cooper_RSA_Profile Series_AR111 Closed Back Integral Xfmr",
"family": "Trck_BswySystms_Cooper_RSA_Profile Series_AR111 Closed Back Integral Xfmr",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001120",
"categoryName": "照明设备",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Trck_BswySystms_Cooper_RSA_Profile Series_AR111 Closed Back Integral Xfmr",
"family": "Trck_BswySystms_Cooper_RSA_Profile Series_AR111 Closed Back Integral Xfmr",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001120",
"categoryName": "照明设备",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Trck_BswySystms_Cooper_RSA_Profile Series_AR111 Closed Back Integral Xfmr",
"family": "Trck_BswySystms_Cooper_RSA_Profile Series_AR111 Closed Back Integral Xfmr",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001350",
"categoryName": "专用设备",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Vase (3)-with Flower",
"family": "Vase (3)-with Flower",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000151",
"categoryName": "常规模型",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Walvit",
"family": "Walvit_Hung Bowl_604118 W",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000151",
"categoryName": "常规模型",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Walvit",
"family": "Walvit_Hung Bowl_604118 W",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000151",
"categoryName": "常规模型",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Walvit",
"family": "Walvit_Hung Bowl_604118 W",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000151",
"categoryName": "常规模型",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Walvit",
"family": "Walvit_Hung Bowl_604118 W",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000151",
"categoryName": "常规模型",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Water Glass",
"family": "Water Glass",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000151",
"categoryName": "常规模型",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Water Glass",
"family": "Water Glass",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000151",
"categoryName": "常规模型",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Water Glass",
"family": "Water Glass",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000151",
"categoryName": "常规模型",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Water Glass",
"family": "Water Glass",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000151",
"categoryName": "常规模型",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Water Glass",
"family": "Water Glass",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000151",
"categoryName": "常规模型",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Water Glass",
"family": "Water Glass",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000151",
"categoryName": "常规模型",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Water Glass",
"family": "Water Glass",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000151",
"categoryName": "常规模型",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Water Glass",
"family": "Water Glass",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000151",
"categoryName": "常规模型",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Fine China - Plate",
"family": "White Porcelain Plate",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000151",
"categoryName": "常规模型",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Fine China - Plate",
"family": "White Porcelain Plate",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000151",
"categoryName": "常规模型",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Fine China - Plate",
"family": "White Porcelain Plate",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000151",
"categoryName": "常规模型",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Fine China - Plate",
"family": "White Porcelain Plate",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000151",
"categoryName": "常规模型",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Fine China - Plate",
"family": "White Porcelain Plate",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000151",
"categoryName": "常规模型",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Fine China - Plate",
"family": "White Porcelain Plate",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000151",
"categoryName": "常规模型",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Fine China - Plate",
"family": "White Porcelain Plate",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000151",
"categoryName": "常规模型",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Fine China - Plate",
"family": "White Porcelain Plate",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001350",
"categoryName": "专用设备",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Wine Bottles",
"family": "Wine Bottles",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000151",
"categoryName": "常规模型",
"diffType": "CHANGE",
"elementId": "",
"elementName": "White",
"family": "aalto vase - tall",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000151",
"categoryName": "常规模型",
"diffType": "NEW",
"elementId": "",
"elementName": "fire place hang",
"family": "fire place hang",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "CL_W1",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "CL_W1",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "CL_W1",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "CL_W1",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "CL_W1",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "CL_W1",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Cavity wall_sliders",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Foundation - 300mm Concrete",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Interior - 165 Partition (1-hr)",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Interior - 165 Partition (1-hr)",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Interior - 165 Partition (1-hr)",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Interior - Partition",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Interior - Partition",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Interior - Partition",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Interior - Partition",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Interior - Partition",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Interior - Partition",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Interior - Partition",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Interior - Partition",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Interior - Partition",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Interior - Partition",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Interior - Partition",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Interior - Partition",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Interior - Partition",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Interior - Partition",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Retaining - 300mm Concrete",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Retaining - 300mm Concrete",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Retaining - 300mm Concrete",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Retaining - 300mm Concrete",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Retaining - 300mm Concrete",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Retaining - 300mm Concrete",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Retaining - 300mm Concrete",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Retaining - 300mm Concrete",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Retaining - 300mm Concrete",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Retaining - 300mm Concrete",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "SIP 202mm Wall - conc clad",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "SIP 202mm Wall - conc clad",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "SIP 202mm Wall - conc clad",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "SIP 202mm Wall - conc clad",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Wall - Timber Clad",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Wall - Timber Clad",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Wall - Timber Clad",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Wall - Timber Clad",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Wall - Timber Clad",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Wall - Timber Clad",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Wall - Timber Clad",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Wall - Timber Clad",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000011",
"categoryName": "墙",
"diffType": "DELETE",
"elementId": "",
"elementName": "Wall - Timber Clad 2",
"family": "基本墙",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000151",
"categoryName": "常规模型",
"diffType": "DELETE",
"elementId": "",
"elementName": "宣传画",
"family": "宣传画",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2001263",
"categoryName": "建筑地坪",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Pad 2",
"family": "建筑地坪",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000126",
"categoryName": "栏杆扶手",
"diffType": "CHANGE",
"elementId": "",
"elementName": "SH_1100mm",
"family": "栏杆扶手",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000126",
"categoryName": "栏杆扶手",
"diffType": "CHANGE",
"elementId": "",
"elementName": "SH_1100mm",
"family": "栏杆扶手",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000126",
"categoryName": "栏杆扶手",
"diffType": "CHANGE",
"elementId": "",
"elementName": "SH_1100mm",
"family": "栏杆扶手",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000126",
"categoryName": "栏杆扶手",
"diffType": "CHANGE",
"elementId": "",
"elementName": "SH_1100mm",
"family": "栏杆扶手",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000126",
"categoryName": "栏杆扶手",
"diffType": "CHANGE",
"elementId": "",
"elementName": "SH_1100mm",
"family": "栏杆扶手",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000126",
"categoryName": "栏杆扶手",
"diffType": "CHANGE",
"elementId": "",
"elementName": "SH_1100mm",
"family": "栏杆扶手",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000126",
"categoryName": "栏杆扶手",
"diffType": "CHANGE",
"elementId": "",
"elementName": "SH_1100mm",
"family": "栏杆扶手",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000126",
"categoryName": "栏杆扶手",
"diffType": "CHANGE",
"elementId": "",
"elementName": "SH_1100mm",
"family": "栏杆扶手",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000126",
"categoryName": "栏杆扶手",
"diffType": "CHANGE",
"elementId": "",
"elementName": "SH_1100mm",
"family": "栏杆扶手",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000126",
"categoryName": "栏杆扶手",
"diffType": "CHANGE",
"elementId": "",
"elementName": "SH_1100mm",
"family": "栏杆扶手",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000032",
"categoryName": "楼板",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Concrete-Domestic 425mm",
"family": "楼板",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000032",
"categoryName": "楼板",
"diffType": "CHANGE",
"elementId": "",
"elementName": "Generic 150mm",
"family": "楼板",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000120",
"categoryName": "楼梯",
"diffType": "CHANGE",
"elementId": "",
"elementName": "楼梯",
"family": "组合楼梯",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000120",
"categoryName": "楼梯",
"diffType": "CHANGE",
"elementId": "",
"elementName": "楼梯",
"family": "预浇注楼梯",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
},
{
"categoryId": "-2000120",
"categoryName": "楼梯",
"diffType": "CHANGE",
"elementId": "",
"elementName": "楼梯",
"family": "预浇注楼梯",
"followingFileId": "",
"previousFileId": "",
"specialty": ""
}
],
"page": ,
"total":
}
}
特别说明:diffType 对比构件差异类型: NEW、DELETE、CHANGE。
NEW:新增
DELETE:删除
CHANGE:变更。
C#开发BIMFACE系列33 服务端API之模型对比4:获取模型对比结果的更多相关文章
- C#开发BIMFACE系列41 服务端API之模型对比
BIMFACE二次开发系列目录 [已更新最新开发文章,点击查看详细] 在建筑施工图审查系统中,设计单位提交设计完成的模型/图纸,审查专家审查模型/图纸.审查过程中如果发现不符合规范的地方,则流 ...
- C#开发BIMFACE系列42 服务端API之图纸对比
BIMFACE二次开发系列目录 [已更新最新开发文章,点击查看详细] 在我的前一篇博客<C#开发BIMFACE系列42 服务端API之图纸对比>中详细介绍了BIMFACE服务端接口 ...
- C#开发BIMFACE系列40 服务端API之模型集成
BIMFACE二次开发系列目录 [已更新最新开发文章,点击查看详细] 随着建筑信息化模型技术的发展,越来越多的人选择在云端浏览建筑模型.现阶段的云端模型浏览大多是基于文件级别,一次只可以浏览一 ...
- C#开发BIMFACE系列43 服务端API之图纸拆分
BIMFACE二次开发系列目录 [已更新最新开发文章,点击查看详细] 在上一篇博客<C#开发BIMFACE系列42 服务端API之图纸对比>的最后留了一个问题,在常规业务场景下,一 ...
- C#开发BIMFACE系列44 服务端API之计算图纸对比差异项来源自哪个图框
BIMFACE二次开发系列目录 [已更新最新开发文章,点击查看详细] 在前两篇博客<C#开发BIMFACE系列42 服务端API之图纸对比>.<C#开发BIMFACE系列43 ...
- C#开发BIMFACE系列46 服务端API之离线数据包下载及结构详解
BIMFACE二次开发系列目录 [已更新最新开发文章,点击查看详细] 在前一篇博客<C#开发BIMFACE系列45 服务端API之创建离线数据包>中通过调用接口成功的创建一个离线数 ...
- C#开发BIMFACE系列6 服务端API之获取文件信息
在<C#开发BIMFACE系列4 服务端API之源上传文件>.<C#开发BIMFACE系列5 服务端API之文件直传>两篇文章中详细介绍了如何将本地文件上传到BIMFACE服务 ...
- C#开发BIMFACE系列4 服务端API之源上传文件
在注册成为BIMFACE的应用开发者后,要能在浏览器里浏览你的模型或者获取你模型内的BIM数据, 首先需要把你的模型文件上传到BIMFACE.根据不同场景,BIMFACE提供了丰富的文件相关的接口. ...
- C#开发BIMFACE系列3 服务端API之获取应用访问凭证AccessToken
系列目录 [已更新最新开发文章,点击查看详细] BIMFACE 平台为开发者提供了大量的服务器端 API 与 JavaScript API,用于二次开发 BIM 的相关应用. BIMFACE ...
随机推荐
- 1.NET Core 概述
.NET Core 概述 .NET Core是一个免费的.开源的.跨平台的.广泛使用的Web框架:它是由微软维护的.社区广泛参与支持的一个框架..NET Core可以运行在:Windows.MacOS ...
- iOS 编译过程原理(2)
一.前言 <iOS编译过程的原理和应用>文章介绍了 iOS 编译相关基础知识和简单应用,但也很有多问题都没有解释清楚: Clang 和 LLVM 究竟是什么 源文件到机器码的细节 Link ...
- java web综合案例
1.采用的技术: bootstrap+jsp+servlet+三层架构(servlet,service,dao)+mysql 注意:mysql使用的是5.5版本,使用高版本会有很多问题.可以将5.5版 ...
- 8.MSFvenom
Meterpreter 01 Meterpreter API调用 Meterpreter提供了多种APl调用,在编写自己的脚本时可以使用这些API来提供额外功能或定制功能. 关于ruby的更多信息,请 ...
- Java 程序该怎么优化?(工具篇)
程序员:为什么程序总是那么慢?时间都花到哪里去了? 面试官:若你写的 Java 程序,出现了性能问题,该怎么去排查呢? 工欲善其事必先利其器,为你呈上一箩筐性能优化工具,必有一款满足你,废话不多说,直 ...
- 关于C#三层架构增删改查中的“查询”问题
序:问题总是反复出现,可能只是一个小小的问题,但是就像肉中刺. 问题: 关于“姓名”字段的拼接问题 姓名字段的拼接:this.Repeater1.DataSource = db.GetList(&qu ...
- JDBC下Date类型转换问题
一.前言 在学过MVC后,其中的DAO层是负责与数据库进行进行数据交互,而service层个servlet层需要数据时,不允许直接向数据库要,而是通过Dao层来获取相关数据.这个时候,就引出一个规定& ...
- python:列表生成式的学习
看个例子: # 定义一个列表 l=[1,2,3,4,5] #()用于创建一个list,结果依次返回列表l的元素的平方,返回list s=[i*i for i in l] # 打印列表s print(s ...
- STM32F103ZET6的中断管理
1.STM32的中断 STM32的中断管理是属于内核部分的,所以中断管理的寄存器也是属于内核组,不属于芯片外设,在查看相关资料的时候,需要查看相对应的内核手册. STM32F103ZET6是Corte ...
- .NET Core项目部署到Linux(Centos7)(二)环境和软件的准备
目录 1.前言 2.环境和软件的准备 3.创建.NET Core API项目 4.VMware Workstation虚拟机及Centos 7安装 5.Centos 7安装.NET Core环境 6. ...