Autodesk Data Exchange元素检索与创建技术问询
问题解答
一、获取元素详细信息的方法
你可以通过扩展GraphQL查询的字段,直接获取所需的几何、位置、主体关系及类型数据:
1. 扩展查询字段示例
修改你的查询,添加geometry(几何)、location(坐标位置)、host(主体关系)和type(类型数据)字段,完整查询如下:
query GetElementsOfCategoryWalls( $exchangeId: ID! $elementFilter: ElementFilterInput $elementPagination: PaginationInput ) { exchange(exchangeId: $exchangeId) { id name elements(filter: $elementFilter, pagination: $elementPagination) { pagination { pageSize cursor } results { id name # 几何形状(实体/网格) geometry { representation { ... on MeshRepresentation { vertices indices } ... on SolidRepresentation { faces } } } # 坐标与位置信息 location { origin { x y z } rotation { x y z w } } # 主体关系(依附的元素) host { id name } # 类型数据访问 type { id name properties { results { name value } } } # 原有属性字段 properties { results { name value } } } } } }
字段说明
geometry.representation:根据元素类型返回MeshRepresentation(网格)或SolidRepresentation(实体),包含顶点、面等几何数据;location:返回元素的原点坐标和四元数旋转信息,用于定位;host:如果元素有依附主体(比如墙上的门窗),会返回主体元素的ID和名称;type:返回元素所属的类型对象,包含类型级别的属性信息。
二、创建/复制元素并同步回Revit的可行性
目前Data Exchange的GraphQL API仅支持只读查询操作,不支持创建、复制或修改元素,也无法将外部更改同步回Revit模型。
Data Exchange的核心定位是将Revit数据导出为标准化格式供外部系统读取,双向编辑同步不在它的当前功能范围内。如果需要实现双向协同修改,建议直接使用Revit API进行本地或云端的模型操作,或者选择专门支持双向同步的协同工具。
内容的提问来源于stack exchange,提问作者SergeySSH
相关产品推荐
相关产品推荐

