AEC Data Model技术问询:如何获取房间元素的Phase信息
问题
使用AEC Data Model Explorer按Rooms类别检索元素时,能获取大部分属性参数,但Phase属性始终不在返回结果中。原查询代码如下:
query GetElementsFromCategory { elements( designId: "WORKING DESIGN ID" filter: {query: "property.name.category=='Rooms' and 'property.name.Element Context'==Instance"} ) { pagination { cursor } results { properties{ results{ name } } } } }
返回结果示例(无Phase属性):
{ "data": { "elements": { "pagination": { "cursor": null }, "results": [ { "properties": { "results": [ { "name": "Comments" }, { "name": "Edited by" }, { "name": "Workset" }, { "name": "External ID" }, { "name": "Export to IFC" }, { "name": "Export to IFC As" }, { "name": "IFC Predefined Type" }, { "name": "IfcGUID" }, { "name": "Family Name" }, { "name": "Element Name" }, { "name": "Element Context" }, { "name": "Revit Element ID" }, { "name": "Area" }, { "name": "Computation Height" }, { "name": "Department" }, { "name": "Base Finish" }, { "name": "Ceiling Finish" }, { "name": "Floor Finish" }, { "name": "Wall Finish" }, { "name": "Unbounded Height" }, { "name": "Base Offset" }, { "name": "Name" }, { "name": "Number" }, { "name": "Occupancy" }, { "name": "Perimeter" }, { "name": "Limit Offset" }, { "name": "Volume" } ] } } ] } } }
解决方案
Phase属于引用型属性,关联到项目中的Phase对象,这类属性不会出现在properties字段下,需要在查询中显式请求references字段来获取。修改后的查询代码如下:
query GetElementsFromCategory { elements( designId: "WORKING DESIGN ID" filter: {query: "property.name.category=='Rooms' and 'property.name.Element Context'==Instance"} ) { pagination { cursor } results { properties{ results{ name } } # 添加references字段获取关联属性 references { results { name displayValue value { id } } } } } }
结果示例
修改后即可获取到Phase属性,返回结果中的references部分如下:
"references": { "results": [ { "name": "Upper Limit", "displayValue": "LEVEL 1", "value": { "id": "this item id" } }, { "name": "Level", "displayValue": "LEVEL 1", "value": { "id": "this item id" } }, { "name": "Phase", "displayValue": "New Construction", "value": { "id": "this item id" } } ] }
内容的提问来源于stack exchange,提问作者Sean_Page
相关产品推荐
相关产品推荐

