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文件
模型要求
- 模型应包含完整的几何体和材质信息
- 使用相对路径引用纹理
- 模型大小控制在合理范围内
相关链接
- Plugin - 插件基类
- Viewer3D - 主引擎类
- SceneManager - 场景管理器
- NIVIOBIMLoader - 模型加载器