# 自定义文件转换
# 背景
为了能够在web端实现模型和图纸的浏览,需要将文件转换为轻量化数据包,并提取文件数据上传到云端数据库进行结构化存储。
# 说明
- 文件必须首先上传到云端才能发起转换;
- 不同的文件格式有不同的转换方式,其转换结果也不同。
# 主要流程
模型和图纸上传转换后,会生成BIMFACE定义的轻量化数据包,包含模型的几何数据和属性、空间等非几何信息。
# 1. 配置转换参数
一般情况下,使用默认参数调用转换API即可,但如果需要获取差异化的结果,可以通过参数来进行控制。以下为不同格式转换支持的config:
# 1.1 模型通用参数
字段 | 描述 | 取值 | 默认值 |
---|---|---|---|
toBimtiles | 是否转换为流式加载数据 | true, false | true |
bimtilesVersion | 流式加载数据版本,仅"toBimtiles"为true时生效 | V2, V3 | V3 |
# 1.2 rvt模型
字段 | 描述 | 取值 | 默认值 |
---|---|---|---|
texture | 转换时是否添加材质 | true, false | false |
viewName | 转换使用的3D视图 | string | {3D} |
displaylevel | 设置转换的精细度 | fine(精细)medium(中等)coarse(粗略) | fine |
exportHiddenObjects | 是否导出三维视图中隐藏的构件 | true, false | false |
exportSchedule | 是否使用明细表内容 | true, false | false |
exportViewImage | 是否导出视图图片 | true, false | false |
viewImageDPI | 设置导出视图图片精度 | 72, 150, 300 | 150 |
export3DViews | 导出三维视图列表 | array("all"代表所有视图) | [] |
exportDrawing | 是否导出模型自带图纸 | true, false | false |
drawingColor | 设置导出模型自带图纸的颜色 | indexColor, trueColor | indexColor |
exportSectionBox | 是否按剖切模式导出 | true, false | false |
drawingGroups | 导出指定分组中的图纸 | array(多个层级用"\"划分,如:{"drawingGroups": ["03.PUBLISHED\DETAILS", "02.SHARED"]}) | [] |
language | 语言版本 | zh_CN(中文版),en_GB(英文版) | zh_CN |
customizedObjectData | 指定构件属性作为objectData,并根据objectData组织构件树。指定的构件属性作为构件树的各级节点,层级顺序与输入的属性顺序一致,前面的字段作为后面字段的父节点。 | Array | 空 |
# 1.3 dwg图纸
字段 | 描述 | 取值 | 默认值 |
---|---|---|---|
exportPdf | 是否导出pdf文件 | true, false | false |
exportThumb | 是否导出缩略图 | true, false | true |
exportAxisGrids | 解析轴网信息 | { "gridLines":["轴线所在图层"], "gridBubbles":["轴号所在图层"] } | 空 |
viewType | dwg文件的显示类型 | 2D, 3D | 空 |
# 1.4 压缩文件
rvt文件与材质文件打包的zip文件,其转换参数config内容与rvt文件一致。
# 1.5 其他格式
字段 | 支持格式 | 描述 | 取值 | 默认值 | |
---|---|---|---|---|---|
objectMap | ifc | 导出指定属性与构件ID的映射关系 | Array(如:{"objectMap": ["tag"]}) | [] |
# 2. 发起文件转换
调用服务端API即可发起转换。 API:发起转换 (opens new window)
# 3. 等待转换结果
转换发起后,一般需要等待5~10分钟,可以通过两种方式获取转换状态:
1)BIMFACE完成转换后,回调(即callback)自己的系统。我们推荐这种方式;回调的URL在调用“发起文件转换”的API时通过参数指定,如何处理回调结果,请参考“发起转换”API的详细说明;
2)您也可以调用服务端接口获取转换状态。 API:获取转换状态 (opens new window)
# 4. 显示转换后的模型
通过BIMFACE提供的显示组件,用户可以直接在浏览器中显示三维模型和二维图纸,使用JavaScript API能够在显示的基础上进行二次开发,创建更加丰富的业务功能。
# 5. 获取转换后的BIM数据
在模型转换成功后,模型内的BIM数据会在云端进行解析,提取并结构化入库。
通过BIMFACE提供的服务端API,用户可以直接获取转换后的轻量化数据包中的所有内容,包括构件的所有属性信息、图纸信息、空间信息……
BIM信息 | 获取方式 |
---|---|
符合条件的构件ID列表 | 查询符合条件的构件ID列表 (opens new window) |
构件材质 | 获取构件材质 (opens new window) |
构件属性信息 | 获取构件属性 (opens new window) |
楼层 | 获取多模型楼层信息 (opens new window) |
模型链接 | 获取模型链接信息 (opens new window) |
房间 | 获取单个房间信息 (opens new window) |
面积分区 | 获取单个面积分区信息 (opens new window) |
构件分类树 | 获取构件分类树 (opens new window) |
图纸 | 获取图纸列表 (opens new window) |
← 服务端 Java SDK 模型集成 →