# NIVIOBIM-GraphicsEngine-SDK **Repository Path**: nwydbim/NIVIOBIM-GraphicsEngine-SDK ## Basic Information - **Project Name**: NIVIOBIM-GraphicsEngine-SDK - **Description**: NIVIOBIM-GraphicsEngine-SDK 是北京逆维悦动科技有限公司开发的高性能 WebGL 图形渲染引擎,专门用于 BIM 模型的轻量化可视化。该引擎基于 Three.js 构建,提供了完整的 3D 渲染解决方案,支持大规模 BIM 模型的流式加载、高性能渲染和丰富的交互功能。 - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: https://www.niviobim.com - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-18 - **Last Updated**: 2025-11-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # NIVIOBIM-GraphicsEngine-SDK ## 项目简介 NIVIOBIM-GraphicsEngine-SDK 是北京逆维悦动科技有限公司开发的高性能 WebGL 图形渲染引擎,专门用于 BIM 模型的轻量化可视化。该引擎基于 Three.js 构建,提供了完整的 3D 渲染解决方案,支持大规模 BIM 模型的流式加载、高性能渲染和丰富的交互功能。 **重要说明**:这是一个纯图形库,专注于 3D 渲染和数据处理,不包含任何 UI 组件。开发者需要基于此库自行构建用户界面。 **技术亮点**:基于微内核的插拔式架构,将内核系统与插件系统相分离,用户可以通过自定义插件来实现业务需求,同时保持着代码的简洁、便于后期维护。 ## 核心特性 ### 🚀 高性能渲染 - **流式加载**:支持大型 BIM 模型的分批流式加载,避免浏览器阻塞 - **实例化渲染**:智能识别重复对象,自动转换为实例化渲染,大幅提升性能 - **几何合并**:对相似对象进行几何合并,减少 Draw Call,优化渲染效率 - **BVH 加速结构**:内置 BVH 树,优化碰撞检测、射线拾取和视锥剔除 - **Web Worker**:多线程处理 BVH 树构建和文件解压,保持 UI 流畅 ### 📦 智能文件处理 - **多格式支持**:支持 GLB、GLTF 和自研 NIVIO 格式 - **压缩解压**:集成 libarchive.js,支持 ZIP、7-Zip、RAR、TAR 等多种压缩格式 - **加密解密**:自动处理加密压缩包,保护模型数据安全 - **DRACO 压缩**:支持 DRACO 几何压缩,大幅减小模型文件体积 - **WebAssembly**:利用 WASM 实现高性能文件解压和处理 ### 🏗️ BIM 专业功能 - **图模映射**:支持 CAD 图纸与 3D 模型的双向关联和联动 - **构件属性**:完整的 BIM 构件属性管理和查询系统 - **树形结构**:支持模型的层级树形结构导航 - **截面分析**:支持任意平面的模型剖切和截面分析 - **碰撞检测**:基于 BVH 树的高效碰撞检测 ### 🎮 丰富的交互体验 - **轨道控制**:流畅的鼠标和触摸轨道相机控制 - **漫游模式**:支持第一人称和第三人称漫游,键盘+鼠标控制 - **精确拾取**:基于射线的精确 3D 对象选择和高亮 - **测量工具**:距离、角度、面积等多种测量功能 - **视图立方**:直观的六面体视图方向控制 ### 🔌 插件化架构 - **微内核设计**:核心功能与插件分离,保持代码简洁 - **插件热插拔**:支持动态加载和卸载插件 - **标准接口**:统一的插件开发接口和生命周期管理 - **扩展性强**:轻松扩展测量、标注、分析等业务功能 - **独立打包**:插件独立打包,按需加载,减小初始加载体积 ### 🔗 相关链接 - [产品官网](https://www.niviobim.com) - [开发文档](https://www.niviobim.com/docs)