1. 复制标准模型创建整体场景
复制标准模型(如标准层)生成整体模型,并可递增修改特定构件属性。
请求方式:POST
请求地址:/api/{databaseKey}/scenes/array/standard
1.1. 请求参数
Headers:
参数名 | 类型 | 示例 | 是否必填 | 参数含义 |
---|---|---|---|---|
Authorization | string | c4570cb9ca324bc8ba7dd9d1967710ea | 是 | 操作的通关令牌 |
PathParas:
参数名 | 类型 | 示例 | 是否必填 | 参数含义 |
---|---|---|---|---|
databaseKey | string | test | 是 | 数据库key,必传 |
SearchParas:
参数名 | 类型 | 示例 | 是否必填 | 参数含义 |
---|---|---|---|---|
无参数 | NULL | NULL | NULL | NULL |
Body
application/json:
{
"name": "复制标准层形成的整体模型",
"mesh": [
{
"type": "model",
"modelKey": "M157767667407",
"count": 10, // 递增数量,必传
"attributeIncr": [ // 递增(减)属性
{
"name":"BeePC.BOM.PCData.PCCode",
"initial": 1, //初始值
"increment": 1, //递增值,非必传,默认为1
"pattern": "SPLIT(-, 4)" // 替换方式,必传
},
{
... ...
"pattern": "SUBSTRING(11, 12)" // 替换方式,必传
},
... ...
],
"matrixIncr":{
//第一个模型相对于原始位置的偏移xyz
"base":[0,0,0]
//后续模型基于第一个模型的偏移xyz
"increment":[0,3,1]
}
"attribute": { // 固定值属性
"约束.标高": "标高1",
......
}
},
{
"type": "components",
"componentsKey": ["M157767674083_24", .....],
"count": 10, // 递增数量,必传
"attributeIncr": [ // 递增(减)属性
... ...
],
"matrixIncr":{}, // 递增(减)矩阵
"attribute": { // 固定值属性
... ...
}
}
]
},
"docKey": "012e245f581788970"
}
1.2. 参数说明
参数名 | 类型 | 示例 | 是否必填 | 参数含义 |
---|---|---|---|---|
name | string | 阵列 | 是 | 名字 |
type | string | model | 是 | 类型 |
modelKey | string | M157767667407 | 是 | 模型key |
matrix | string | [1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1] | 是 | 矩阵 |
1.3. 正确返回
{
"message": "请求处理成功",
"code": "SUCCESS",
"data": {
"remark": "场景正在创建中",
"key": "M1604894785223",
"status": "0"
}
}
1.4. 状态码
状态码 | code | message | data | 原因 |
---|---|---|---|---|
400 | BAD_PARAMETER | type(xxx)类型不正确 | NULL | 当type类型不是model、components时;当参数中某个key的值类型不正确时;当attributeIncr和attribute中的属性名重复时 |
400 | PARAMETER_REQUIRED | 参数(children)不能为空 | NULL | 当group类型下不包含children时;当attributeIncr、name、pattern、matrixIncr或者matrixIncr中的increment为空时 |
400 | COMPONENT_NOT_FOUND | 构件(xxx)不存在 | NULL | 当component的key不存在时 |
400 | MODEL_NOT_FOUND | 模型(xxx)不存在 | NULL | 当model的key不存在时 |
400 | BAD_PARAMETER_TYPE | 参数(xxx)类型不正确 | NULL | 当count或attributeIncr中的 initial、increment不为int时;当pattern不以SPLIT或SUBSTRING开头时 |
400 | BAD_PARAMETER_FORMAT | 参数(pattern)格式不正确 | NULL | 当pattern格式错误时 |
400 | BIZ_EXCEPTION | modelKey为xxxx的模型几何正在转换中,请稍后再试! | NULL | 场景中同时包含2.0、3.0几何格式的模型,且几何格式是3.0的模型几何尚在转换中 |
400 | BIZ_EXCEPTION | modelKey为xxxx的模型未开始几何转换,构件几何不存在! | NULL | 场景中同时包含2.0、3.0几何格式的模型,且几何格式是3.0的模型几何尚未转换 |
400 | BIZ_EXCEPTION | modelKey为xxxx的模型的几何转换失败! | NULL | 场景中同时包含2.0、3.0几何格式的模型,且几何格式是3.0的模型几何转换失败 |
1.5. 备注
1、1.0版几何格式的模型或构件与2.0、3.0版几何格式不兼容。
2、此接口DWG图纸不适用。
1.6. 注意事项
1)type类型必须为model、components其中之一
2)生成新场景的长度单位是mm,若参数模型长度为其他单位,统一转为mm
3)复制原模型中的几何、材质、纹理和属性数据,构建一个独立的模型
4)attribute在components下代表修改一组构件的属性;attribute在model下代表修改模型所有构件的属性。如构件无指定属性,则增加,如有则替换原属性
5)attribute属性中,key为多层级属性名,层级间用点号隔开,value为属性值。
6)在递增属性中,pattern为SPLIT开头时,根据分隔符和分隔区域(area)确定需要修改的数字位置,区域在第area-1至第area个分隔符之间。当area超出分隔符总数时,不作处理。同时,这种递增只支持"xxF"格式的递增。
7)在递增属性中,pattern为SUBSTRING开头时,使用下标类型截取数字进行递增。
8)在递增属性中,initial传值为0时,视为未传值;未传值时,根据attributeIncr中的name、start、end取基准模型相应属性值
9)在递增属性中,increment传值为0时,视为未传值;increment允许传负数,传负数时属性递减
10)在递增属性中,只允许修改构件attribute中的属性
11)若递增属性不为String类型,不作处理
12)自动生成空间树,以构件为单位,每次递增的所有构件代表一层楼,在空间树中按类型划分,空间树从1楼开始递增。
13)当场景中同时包含2.0、3.0几何格式模型时,校验3.0几何格式的模型几何转换是否完成
14)数据库启用gacl时,有模型关联的BOSF文档编辑权限的用户
15)数据库未启用gacl时,有数据库访问权限的用户