WIKI WIKI
首页
  • 升级日志
  • 转换器部署
  • 使用须知
  • 基础功能
  • 材质替换
  • 模型批注
  • 常见问题
双碳
演示站点 (opens new window)
SuperAPI (opens new window)
  • CIM (opens new window)
  • TIM (opens new window)
  • WIM (opens new window)
首页
  • 升级日志
  • 转换器部署
  • 使用须知
  • 基础功能
  • 材质替换
  • 模型批注
  • 常见问题
双碳
演示站点 (opens new window)
SuperAPI (opens new window)
  • CIM (opens new window)
  • TIM (opens new window)
  • WIM (opens new window)
  • 升级日志
  • 转换器部署
  • 使用须知
  • 基础功能

    • 初始化
    • 模型获取
    • 模型操作
      • 模型加载
        • 加载流程图
        • 单模型加载
        • 指定位置加载
        • 批量加载
        • 拖拽加载
        • 加载上次模型
        • 获取加载进度
        • 加载回调
        • 文件加载偏移自适应
      • 模型卸载
        • 单模型卸载
        • 批量卸载
      • 模型激活/取消激活
        • 激活
        • 取消激活
        • 获取激活模型
      • 模型聚焦
      • 模型显隐
      • 模型删除
        • 单模型删除
        • 批量删除
      • 模型坐标
        • 回调监听
    • 模型构件
    • 模型移动
    • 模型旋转
    • 模型缩放
    • 模型剖切
    • 模型漫游
    • 功能开关
  • 材质替换
  • 构件取点
  • 建筑分层
  • 模型批注
  • 模型框选
  • 模型搜索
  • 进度模拟
  • 资产库
  • 瓦片服务
  • 特效库
  • 数据接口

  • 常见问题
目录

模型操作

# 模型加载

把模型渲染到场景中实现查看

警告

不管使用哪种方式把模型加载进入场景,同一个模型文件仅支持一种方式加载,超出一次会导致场景崩溃。

# 加载流程图

提示

  1. 矩形为 BIM API 操作
  2. 菱形为 Web 操作

# 单模型加载

参数说明

  1. ModelName: 模型名称
  2. DuplicateName: 副本名称(可选参数)。如果该属性值为空,自动换算模型名称;否则使用参数值,若重名也会自动换算 V2.7+
let jsonData = {
    "ModelName":"ModelName",
    "DuplicateName": "Name"
}

cloudRender.SuperAPI("BIM51API_LoadSingleModel", jsonData)

# 指定位置加载

参数说明

  1. ModelName: 模型名称
  2. ModelLocation: 模型坐标点,X、Y、Z轴坐标点
  3. UseGis: 是否使用GIS坐标, 详细说明见 使用须知#常见参数
  4. DuplicateName: 副本名称(可选参数)。如果该属性值为空,自动换算模型名称;否则使用参数值,若重名也会自动换算 V2.7+
let jsonData = {
    "ModelName": "ModelName",
    "ModelLocation": "100,-100,100",
    "UseGis": "0",
    "DuplicateName": "Name"
}

cloudRender.SuperAPI("BIM51API_LoadSingleModelWithTrans", jsonData)

注意

  • 有些模型本身就存在极大的内坐标偏差,暂时无法控制和影响其正确性
  • 指定位置加载暂不支持批量操作

# 批量加载

let jsonData = {
   "ModelNames":[ "ModelName1", "ModelName2" ]
}

cloudRender.SuperAPI("BIM51API_LoadMultiModels", jsonData)

# 拖拽加载

从模型文件列表中拖拽模型到指定位置

提示

  • 矩形为 BIM API 接口
  • 圆形为 浏览器 标准事件

# 开始监听鼠标位置

cloudRender.SuperAPI("BIM51API_OpenMouseEvent")

# 获取鼠标位置信息

cloudRender.SuperAPI("BIM51API_GetMouseLocation")
# 回调监听
{
  "command": "event",
  "func_name": "BIM51API_GetMouseLocation",
  "args": {
    "Coord": {
      "bHit": "1",
      "GisCoord": "X,Y,Z"
    }
  }
}

提示

  • bHit 是否有值,1 表示有值
  • GisCoord 文件拖放的GIS坐标信息,分别为 经度、纬度、高度

# 结束监听鼠标位置

cloudRender.SuperAPI("BIM51API_CloseMouseEvent")

# 加载上次模型

用来自动加载上次关闭/退出页面时没有卸载的模型

cloudRender.SuperAPI("BIM51API_LoadBeforeModel")

# 获取加载进度

cloudRender.SuperAPI("BIM51API_GetModelLoadPercent")

# 回调监听

// 进度值为0-1.0
{
    "command": "event",
    "func_name": "GetModelLoadPercent",
    "args": {
        "GetModelLoadPercent": "1.0"
    }
}

提示

需要监听OnMeshLoadComplete回调事件判断是否加载结束

# 加载回调

参数说明

bRoot: 加载的类型

  • 1: 表示BIM模型加载
  • 0: 表示BIM构件加载

# 开始加载

{
  command: "event",
  func_name: "OnMeshLoadStart",
  args: {
    LoadInfo: {
      "FileName": "模型名称",
      "bRoot": "1 or 0"
    }
  }
}

# 加载完成

{
  command: "event",
  func_name: "OnMeshLoadComplete",
  args: {
    LoadInfo: {
      "FileName": "模型名称",
      "bRoot": "1 or 0"
    }
  }
}

# 文件加载偏移自适应

# 开启

通常用于模型加载后偏移巨大的情况,可以尝试使用,在不考虑相对位置的情况下。但依然不能保证正确显示,且原点为程序计算的位置,无法指定原点。

cloudRender.SuperAPI("BIM51API_OpenZeroOffset")

注意

  • 需要在加载 FBX 文件到场景之前调用一次即可
  • 需要及时关闭,否则之后加载的所有模型都会自动处理偏移

# 关闭

cloudRender.SuperAPI("BIM51API_CloseZeroOffset")

# 模型卸载

# 单模型卸载

let jsonData = {
   "ModelName":"ModelName"
}

cloudRender.SuperAPI("BIM51API_UnloadSingleModel", jsonData)

# 批量卸载

let jsonData = {
   "ModelNames":[ "ModelName1", "ModelName2" ]
}

cloudRender.SuperAPI("BIM51API_UnloadMultiModels", jsonData)

# 模型激活/取消激活

# 激活

let jsonData = {
   "ModelName":"ModelName"
}

cloudRender.SuperAPI("BIM51API_ActiveModel", jsonData)

# 回调监听

{
  "command": "event",
  "func_name": "OnMeshActived",
  "args": {
    "OnMeshActived":"ModelName"
  }
}

# 取消激活

cloudRender.SuperAPI("BIM51API_DeactiveModel")

# 获取激活模型

cloudRender.SuperAPI("BIM51API_GetActivedModel")

# 回调监听

{
  "command": "event",
  "func_name": "GetActivedModel",
  "args": {
    "GetActivedModel": "ModelName"
  }
}

# 模型聚焦

切换场景视角到模型所在位置

let jsonData = {
   "ModelName": "ModelName"
}

cloudRender.SuperAPI("BIM51API_FocusModel", jsonData)

注意

模型必须已经加载到场景中

# 模型显隐

控制模型整体显隐

参数说明

  1. ModelName:模型名称
  2. IsVisible:
  • 0: 隐藏模型
  • 1: 显示模型
let jsonData = {
   "ModelName": "ModelName",
   "IsVisible": "1 or 0"
}

cloudRender.SuperAPI("BIM51API_SetModelVisibility", jsonData)

注意

模型可以不激活但是必须加载

# 模型删除 更新

把模型从场景底板中物理删除,删除后无法通过模型获取找到

# 单模型删除

let jsonData = {
    "ModelName": "ModelName"
}

cloudRender.SuperAPI("BIM51API_DeleteSingleModel", jsonData)

注意

  1. 模型名称必须有值,不可传 null 或者 undefined
  2. 母本和副本作用效果有所不同:
    • 母本:卸载该母本、删除磁盘源文件、清除保存文件,移除所有副本信息
    • 副本:卸载该副本,清除保存文件

# 批量删除

let jsonData = {
    "ModelNames": ["Name1", "Name2"]
}

cloudRender.SuperAPI("BIM51API_DeleteMultiModels", jsonData)

注意

  1. 模型名称必须有值,不可传 null 或者 undefined
  2. 母本和副本作用效果有所不同:
    • 母本:卸载该母本、删除磁盘源文件、清除保存文件,移除所有副本信息
    • 副本:卸载该副本,清除保存文件

# 模型坐标

获取模型变化参数

let jsonData = {
    "ModelName": "ModelName"
}

cloudRender.SuperAPI("BIM51API_GetModelTransform", jsonData)

# 回调监听

{
  "command": "event",
  "func_name": "GetModelTransform",
  "args": {
    "Transform": {
      "GisCoord": "Lon,Lat,Height",
      "Location": "X,Y,Z",
      "Rotaion": "Roll,Pitch,Yaw",
      "Scale": "1,1,1"
    }
  }
}

返回参数说明

  • GisCoord: 模型GIS坐标
  • Location:模型UE坐标
  • Rotaion:模型旋转角
  • Scale:模型缩放比例

注意

模型可以不激活但是必须加载

上次更新: 2023/08/24, 17:11:34
模型获取
模型构件

← 模型获取 模型构件→

最近更新
更多文章>
Theme by Vdoing | Copyright © 2021-2024 51AES
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式