Skip to content

DrawingMapModel

NIVIOBIM图模映射功能模块,提供CAD图纸与3D模型的关联映射功能。支持加载、管理和移除CAD模型,实现2D图纸与3D模型的联动显示。

类定义

javascript
class DrawingMapModel extends Plugin

构造函数

constructor(viewer3D, options)

创建图模映射插件实例,初始化图模映射功能,设置CAD组和加载器。

参数:

  • viewer3D {Viewer3D} - Viewer3D实例
  • options {Object} - 插件配置选项

示例:

javascript
// 创建图模映射插件
const drawingMapModel = new DrawingMapModel(viewer3D, {
    name: 'DrawingMapModel'
});

属性

enabled

图模映射功能是否启用,控制图模映射功能是否处于活动状态。

类型: {boolean}
默认值: false

示例:

javascript
// 启用图模映射功能
drawingMapModel.enabled = true;

// 禁用图模映射功能
drawingMapModel.enabled = false;

方法

load(config, fileNme, progress, failed)

加载CAD模型,从指定路径加载GLB格式的CAD模型文件,并添加到CAD组中。如果模型已存在,则不会重复加载。

参数:

  • config {Config} - 配置对象,包含CAD路径信息
  • fileNme {string} - CAD文件名(不包含扩展名)
  • progress {function} - 加载进度回调函数
  • failed {function} - 加载失败回调函数

示例:

javascript
// 加载CAD模型
drawingMapModel.load(config, 'floor1', 
    (progress) => {
        console.log('加载进度:', progress.loaded, '/', progress.total);
    },
    (error) => {
        console.error('加载失败:', error);
    }
);

removeCAD(name)

移除CAD模型,从CAD组中移除指定名称的CAD模型,并释放相关内存资源。

参数:

  • name {string} - 要移除的CAD模型名称

返回值:

  • {boolean} 是否成功移除,true为成功,false为未找到模型

示例:

javascript
// 移除CAD模型
const removed = drawingMapModel.removeCAD('floor1');
if (removed) {
    console.log('CAD模型已移除');
} else {
    console.log('未找到指定的CAD模型');
}

dispose()

销毁图模映射插件,清理插件资源,从场景中移除CAD组,并调用父类的销毁方法。

示例:

javascript
// 销毁插件
drawingMapModel.dispose();

// 销毁后插件将无法使用
console.log('图模映射插件已销毁');

事件

update

模型更新时触发,当CAD模型被添加、移除或修改时触发。

示例:

javascript
drawingMapModel.addEventListener('update', () => {
    console.log('CAD模型已更新');
});

使用场景

建筑信息模型

  • 2D图纸与3D模型的关联
  • 设计图纸的3D展示
  • 施工图纸的可视化

工程管理

  • 图纸版本管理
  • 模型状态跟踪
  • 设计变更管理

协作设计

  • 多专业协同设计
  • 图纸模型同步
  • 设计审查

施工指导

  • 施工图纸可视化
  • 现场施工指导
  • 质量控制

模型格式支持

支持格式

  • GLB - 二进制GLTF格式
  • GLTF - JSON格式的GLTF文件

模型要求

  • 模型应包含完整的几何体和材质信息
  • 使用相对路径引用纹理
  • 模型大小控制在合理范围内

相关链接

文档内容为北京逆维悦动科技有限公司版权所有,禁止未授权转载