历史版本8 :三维场景更新参数模型 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

报表服务器版本插件版本
11.0.22V3.1.0

注:该功能仅开放内测使用,如有需求,可扫描下方二维码填写申请

FVS实时孪生需求表单_公开链接.png

1.2 应用场景

在三维场景中,往往需要三维场景内的模型能够结合数据实时的反馈现实场景内对应实体的数量变化。FVS V3.3.0 版本,新增参数模型和「更新参数模型」事件,可实现在三维场景内实时生成某种三维模型,比如仓库内 AGV 小车数量增加,运输轨道上货箱增加等场景。

1.3 注意事项

  • 单个参数模型在三维场景内生成数量上限为 500 个。

  • 数据图层支持匹配参数模型生成的模型名称,匹配方式与普通模型保持一致。

  • 参数模型支持设置显示隐藏。

  • 参数模型不支持的效果:反射、模型动画及动画方案、线框风格、公共视角绑定、JS API。

2. 功能介绍编辑

2.1 参数模型

参数模型是指三维场景内能通过数据变化的模型。

1)进入三维自定义场景组件编辑界面,在模型列表>选中模型>右键根节点模型>点击「转为参数模型」,可将普通模型转换成参数模型。如下图所示:

2)点击「转为参数模型」后,需进行数据来源、模型名称、模型位置设置。

具体说明如下表所示:

配置说明
数据来源
  • 用于绑定生成参数模型的数据

  • 支持接入当前模板已添加的模板数据集和服务器数据集

  • 更新频率默认不设置,即默认情况下仅预览查询一次

  • 勾选后可设置更新频率,最低和默认频率都是 30min 

模型名称

定义三维场景内根据数据生成的模型名

可选择数据来源中已选数据集中含有的字段

模型位置

定义模型生成的位

需要先选择坐标类型,才能配置具体位置。支持「经纬度空间坐标父物体坐标

  • 经纬度:必须开启坐标系经纬度映射,才可选中。需要选择对应的字段,格式:经度,纬度,h。经纬度映射详细配置:三维场景坐标系

  • 空间坐标:需要选择对应的字段,格式:x,y,z

  • 父物体坐标:必须设置参照模型对应的参照模型名称字段,持设置基于参照模型的坐标上的偏移距离(x,y,z)。若未设置偏移,参考点默认取父物体模型游标中心位置。

  • 模型偏移:可选,用于设置参照模型的坐标基础上的偏移;

  • 当前仅支持手动输入统一的偏移,不支持根据数据灵活定义,(X,Y,Z)分别代表对应方向上的偏移距离;

3)「模型数据设置」配置完成后,返回模型列表,模型已转换为参数模型。

  • 模型列表中不会呈现模型的子节点

  • 参数模型仅支持显示隐藏、删除、重命名、组合操作

  • 点击模型列表下方「数据设置」可再次进行模型数据配置

2.2 更新参数模型

更新参数模型是指,更新参数模型在三维场景里的的生成、销毁状态。

1)进入三维自定义场景组件编辑界面,点击「模型>场景事件>更新参数模型」,再点击「添加更新参数模型」。

2)更新参数模型事件包括:事件名称、指定模型、数据来源、模型名称、模型位置五项设置。如下图所示:

具体说明如下表所示:

配置
说明
事件名称默认名称为「更新参数模型x」
指定模型

用于指定当前场景内需要更新的模型,仅支持选择参数模型

数据来源

用于链接更新所需的数据来源,仅支持 websocket 的形式,需要配置数据源名称、url

模型名称

输入数据来源对应的 key 值,定义更新模型的名称

模型位置

根据参数模型配置时设置的模型坐标类型进行展示设置

  • 若参数模型设置的坐标为经纬度/空间坐标,只展示模型坐标

  • 若参数模型设置的坐标为父物体坐标,只展示模型名称

3)更新规则

  • 支持更新的操作包括:删除、生成参数模型

  • 指定更新类型的 Key 值:parametric_model

  • 不同更新类型的具体取值

    • "delete_model" :销毁模型;

    • "create_model" :生成模型;

  • 若更新参数模型中数据出现重复,新增模型则不重复生成,删除模型始终执行,后者覆盖前者

注意:参数模型生成后会一直存在,如果需要在场景里删除生成后的参数模型,必须进行销毁,即需要指定更新类型为“delete_model”销毁模型。

JavaScript 示例如下:

{    {        "data": {            "time": "1721216959",            "modelName": "小车001",            "modelPosition": "109.371947,97.809256,0" //经度、纬度、高度,其中高度可省略  匹配方式:时刻:data.time        },        "parametric_model": "create_model"    }      {        "parametric_model": "create_model",        "time": "1721216959",        "modelName": "小车001",        "modelPosition": "110.371947,97.809256,0" //经度、纬度、高度,其中高度可省略    匹配方式:时刻:time    }     {        "parametric_model": "create_model",        "time": "1721216959",        "modelName": "小车001",        "referenceModel": "父模型001" //根据参数模型生成    }     {        "parametric_model": "delete_model",        "time": "1721216959",        "modelName": "小车002"//销毁生成的参数模型小车002    }}

3. 示例1:参数模型编辑

3.1 数据准备

数据字段要包含:生成的模型名称、模型位置。此处以父物体坐标为示例,货箱位置为货箱生成的轨道模型名称

3.2 添加模型

将货箱模型载入到三维场景里

3.3 转化为参数模型

选中货箱模型,鼠标右键选中「转化为参数模型」,并且配置数据来源。

模型名称选择「货箱名称」,模型位置选择「父物体坐标」,配置参数模型名称为「货箱位置」。

3.4 为参数模型配置数据图层

3.5 最终效果

三维场景里自动在轨道运输板上生成5个货箱。

4. 示例2:更新参数模型编辑

如何实现货箱在轨道运输板上实时生成的效果。

4.1 参数模型设置

按照 3.3 节配置参数模型,可以将配置的数据来源设置为空表,这样就不会在编辑数据来源后三维场景里自动生成模型。

4.2 添加更新参数模型事件

「场景事件->更新参数模型->添加一个参数模型事件」,配置对应的的Key值。

数据解读:

  • modeName:为模型名称

  • parametric_model:指定模型是生成/销毁

  • referenceModel:父物体名称

  • time:时间戳

4.3 预览效果

可以看到,下图中不同轨道板上货箱实时生成。

货箱生成动画.gif