模型构件
警告
调用本页面的接口方法都需要激活对应模型
# 构件树
# 获取模型构件树
cloudRender.SuperAPI("BIM51API_GetModelTree")
# 回调监听
{
"command": "event",
"func_name": "GetModelTree",
"args": {
"Nodes": ["文件树JSON串"]
}
}
注意
如果当前模型构件树过大需要使用获取分层构件树API
# 获取分层构件树
参数说明
- NodeID:
- *: 从根节点开始查找
- number: 从对应节点开始向下查找
- Level:向下查找层级
- 0: 不查找子集
- -1: 子集全查找
let jsonData = {
"NodeID" : "*",
"Level": "-1"
}
cloudRender.SuperAPI('BIM51API_GetSubModelTree', jsonData)
# 回调监听
{
"command" : "event",
"func_name": "GetSubModelTree",
"args": {
"Nodes": ["文件树JSON串"]
}
}
注意
- 如果结构树过大,存在返回失败的可能,建议通过参数合理限定返回范围
- 当
Level
超过结构树最大层级,以最大层级返回
# 文件树JSON串
{
"id": "-1",
"title": "villa",
"visibility": "1",
"expansion": "1",
"Nodes": ["文件树JSON串"]
}
# 构件操作
# 获取BIM信息
let jsonData = { NodeID: "NodeID" }
cloudRender.SuperAPI("BIM51API_GetNodeBIMInfo", jsonData)
注意
只有最底端的BIM构件拥有BIM信息
# 回调监听
{
"command":"event",
"func_name":"GetNodeBIMInfo",
"args":{
"GetNodeBIMInfo":[ "多个Node结构体" ]
}
}
# Node结构体
{
"PropertyType":"Integer",
"Name":"Element_Volume",
"Lable":"Element_Volume",
"Value":"0.05 m³"
}
# 设置显隐
参数说明
IsVisible:字符串传输
- true: 可见
- false: 不可见
let jsonData = {
NodeID: "NodeID",
IsVisible: "true"
}
cloudRender.SuperAPI("BIM51API_SetNodeVisibility", jsonData)
注意
该功能动态控制数个Node的显隐,不仅仅影响对应NodeID的节点。模型构件数量多或者构件顶点复杂,在项目中可能出现执行异常或者项目崩溃的问题,此时建议使用 BIM51API_SetNodeVisibilityOnly
# 强制显隐 V2.7+
参数说明
IsVisible:字符串传输
- true: 可见
- false: 不可见
let jsonData = {
NodeID: "NodeID",
IsVisible: "true"
}
cloudRender.SuperAPI("BIM51API_SetNodeVisibilityOnly", jsonData)
注意
仅控制NodeID对应的构件,不干涉其他父级、子级、兄弟级节点。一定程度上能避免显隐崩溃问题
# 显示所有
cloudRender.SuperAPI("BIM51API_ShowAllNode")
# 获取中心点
let jsonData = { NodeID: "NodeID" }
cloudRender.SuperAPI("BIM51API_GetNodePosition", jsonData)
# 回调监听
{
"command":"event",
"func_name":"GetNodePosition",
"args":{
"GetNodePosition":"X,Y,Z"
}
}
# 隔离
let jsonData = {
"NodeID":"NodeID"
}
cloudRender.SuperAPI("BIM51API_IsolateSingleNode", jsonData)
# 高亮
参数说明
- bHightlight:
- 0: 取消高亮
- 1: 高亮
let jsonData = {
"NodeID":"NodeID",
"bHightlight":"0 or 1"
}
cloudRender.SuperAPI("BIM51API_SetNodeHighlight", jsonData)
# 聚焦
let jsonData = {
"NodeID":"NodeID"
}
cloudRender.SuperAPI("BIM51API_SetNodeFocused", jsonData)
# 构件点选
# 开启
启用场景中的构件点击相关的操作
cloudRender.SuperAPI("BIM51API_OpenClickElement")
# 关闭
禁用场景中的构件点击相关的操作
cloudRender.SuperAPI("BIM51API_CloseClickElement")
# 点击回调
构件被点击的回调函数
{
"command": "event",
"func_name": "OnElementNodeChange",
"args": {
"OnElementNodeChange": "NodeID"
}
}
上次更新: 2023/01/03, 10:12:41