- EngineManager now only exposes public SDK API (initialize, loadModel, pause/resumeRendering, getEngineComponent, destroy) - Internal managers access Engine component directly via this.engineComponent getter on BaseManager - Non-manager components use registry.engine3d.getEngineComponent() for direct Engine access - Replaced getEngine() with onRawEvent()/offRawEvent() for raw engine event access - Migrated 62 call sites across 13 files (9 managers, 1 panel, 3 toolbar buttons) - Updated all architecture docs, API docs, and README to reflect new patterns
28 KiB
BIM Engine SDK API 文档
本文档为 BIM Engine SDK 的完整 API 参考,适合大模型阅读和理解引擎的功能结构。
2026-03 更新说明(SDK 接入层)
本文档主体描述的是底层 3D 内核与模块能力。SDK 接入层在本次重构后有以下关键变化:
EngineManager已收敛为少量公共 API,不再作为全量透传层。- SDK 内部 Manager 统一通过
BaseManager.engineComponent直接访问Engine组件能力。- 非 Manager 组件通过
registry.engine3d?.getEngineComponent()?.xxx()访问Engine组件。Engine.getEngine()已移除,原始事件访问改为onRawEvent()/offRawEvent()。若你在接入层实现新功能,请优先参考:
docs/架构设计.mddocs/API调用链.mddocs/引擎API对接.md
目录
1. 核心引擎类
EngineKernelV2
引擎核心组件,负责整合和管理所有模块。
文件路径: src/core/v2/EngineKernel.ts
构造函数
constructor(options: any)
参数:
options.containerId: string - 容器元素的 ID
功能:
- 初始化所有基础模块(场景、相机、渲染器、控制器等)
- 初始化所有功能管理器(测量、剖切、模型树等)
- 设置渲染循环
- 添加性能监视器
公共属性
// 基础对象
public scene: THREE.Scene | null // 三维场景
public camera: THREE.Camera | null // 当前使用的相机
public renderer: THREE.WebGLRenderer | null // 渲染器
public controls: any // 控制器(轨道控制或第一人称)
// 基础模块
public sceneModule: SceneModule // 场景模块
public cameraModule: CameraModule // 相机模块
public deviceModule: DeviceModule // 设备模块
public renderModule: RenderModule // 渲染模块
public controlModule: ControlModule // 控制模块
public composerModule: ComposerModule // 合成器模块
public loaderModule: LoaderModule // 加载器模块
public lightModule: LightModule // 光照模块
public interactionModule: InteractionModule // 交互模块
public modelToolModule: ModelToolModule // 模型工具模块
// 功能管理器
public viewCube: ViewCube // 视图立方体
public rangeScale: RangeScale // 范围缩放
public setting: Setting // 设置
public measure: Measure // 测量
public clipping: Clipping // 剖切
public modelTree: ModelTree // 模型树
public engineInfo: EngineInfo // 引擎信息统计
public modelProperties: ModelProperties // 模型属性
public modelMapperBatch: ModelMapperBatch // 模型批量映射
public modelEdge: ModelEdge // 模型边线
// 状态管理
public engineStatus: EngineStatus // 引擎状态
public events: EventModule // 事件模块
// 业务数据
public models: any[] // 已加载的模型数组
public reactBoundingClientRect: { left: number; top: number } // 容器的边界矩形
公共方法
pauseRendering()
public pauseRendering(): void
功能: 暂停渲染循环
- 停止动画帧请求
- 禁用控制器
- 用于性能优化或后台运行
resumeRendering()
public resumeRendering(): void
功能: 恢复渲染循环
- 重新启动动画帧请求
- 恢复控制器状态
isRenderingPausedState()
public isRenderingPausedState(): boolean
功能: 检查渲染是否暂停
返回值: boolean - true 表示已暂停
dispose()
public dispose(): void
功能: 销毁引擎,释放所有资源
- 停止渲染循环
- 清理所有模块
- 释放几何体、材质、纹理
- 移除 DOM 元素
- 清理事件监听器
注意: 调用此方法后引擎不可再使用
2. 基础模块
2.1 SceneModule - 场景模块
文件路径: src/core/v2/modules/sceneModule.ts
公共属性
public scene: THREE.Scene | null // 三维场景对象
功能:
- 创建并管理 THREE.Scene
- 初始化边线组(groupEdge)用于存储模型边线
2.2 CameraModule - 相机模块
文件路径: src/core/v2/modules/cameraModule.ts
公共属性
public perspectiveCamera: THREE.PerspectiveCamera // 透视相机
public orthographicCamera: THREE.OrthographicCamera // 正交相机
公共方法
switchCurrentCamera()
public switchCurrentCamera(): void
功能: 切换当前相机类型(透视 ↔ 正交)
switchToPerspectiveCamera()
public switchToPerspectiveCamera(): void
功能: 切换到透视相机
- 保持当前位置和目标点
- 更新控制器
- 重新初始化合成器
switchToOrthographicCamera()
public switchToOrthographicCamera(): void
功能: 切换到正交相机
- 保持当前位置和目标点
- 更新控制器
- 重新初始化合成器
getCameraType()
public getCameraType(): CameraType
功能: 获取当前相机类型
返回值:
CameraType.PERSPECTIVE- 透视相机CameraType.ORTHOGRAPHIC- 正交相机
getCameraPose()
public getCameraPose(): ICameraPose
功能: 获取当前相机姿态(位置、旋转、目标点、缩放等)
返回值: ICameraPose 对象
interface ICameraPose {
type: CameraType;
position: { x: number; y: number; z: number };
rotation: { x: number; y: number; z: number };
quaternion: { x: number; y: number; z: number; w: number };
target?: { x: number; y: number; z: number };
zoom?: number;
}
restoreCameraPose()
public restoreCameraPose(pose: ICameraPose): void
功能: 通过相机姿态还原相机位置
- 自动切换相机类型
- 恢复位置、旋转、目标点
- 恢复正交相机的缩放值
参数:
pose: ICameraPose - 相机姿态对象
2.3 DeviceModule - 设备模块
文件路径: src/core/v2/modules/deviceModule.ts
公共属性
public deviceType: string // 设备类型(默认 'PC')
公共方法
getDeviceType()
public getDeviceType(): string
功能: 获取设备类型
返回值: 'PC' 或其他设备标识
getContainerSize()
public getContainerSize(): { width: number; height: number }
功能: 获取容器尺寸
返回值: 容器的宽度和高度
2.4 RenderModule - 渲染模块
文件路径: src/core/v2/modules/renderModule.ts
公共属性
public renderer: THREE.WebGLRenderer | null // WebGL 渲染器
公共方法
createRenderer()
public createRenderer(): THREE.WebGLRenderer
功能: 创建并配置 WebGL 渲染器
- 启用抗锯齿
- 启用阴影映射(PCFSoftShadowMap)
- 启用本地裁剪(用于剖切平面)
- 配置色彩空间和色调映射
返回值: 配置好的渲染器实例
disposeRenderer()
public disposeRenderer(): void
功能: 释放渲染器资源
2.5 ControlModule - 控制模块
文件路径: src/core/v2/modules/controlModule.ts
公共属性
public orbitControls: any // 轨道控制器
public firstPersonControls: any // 第一人称控制器
public isActive: boolean // 控制器是否激活
公共方法
init()
public init(): void
功能: 初始化控制器
- 创建轨道控制器和第一人称控制器
- 创建旋转中心指示器 UI
active()
public active(): void
功能: 激活控制器
disActive()
public disActive(): void
功能: 禁用控制器
switchFirstPersonMode()
public switchFirstPersonMode(): void
功能: 切换到第一人称漫游模式
- 禁用轨道控制器
- 启用第一人称控制器
switchDefaultMode()
public switchDefaultMode(): void
功能: 切换到默认模式(轨道控制)
- 禁用第一人称控制器
- 启用轨道控制器
update()
public update(): void
功能: 更新控制器状态
- 更新旋转中心指示器位置
- 在渲染循环中调用
2.6 ComposerModule - 合成器模块
文件路径: src/core/v2/modules/composerModule.ts
公共属性
public composer: any // 效果合成器
公共方法
init()
public init(): void
功能: 初始化后处理管线
- RenderPass - 基础渲染
- GTAOPass - 环境光遮蔽(默认禁用)
- UnrealBloomPass - 辉光效果(默认禁用)
- SaturationPass - 饱和度和对比度调整
- OutputPass - 色调映射和颜色校正
- FXAAPass - 抗锯齿
resize()
public resize(): void
功能: 调整合成器大小
- 更新所有 pass 的分辨率
- 更新 FXAA 的分辨率参数
2.7 LoaderModule - 加载器模块
文件路径: src/core/v2/modules/loaderModule.ts
公共方法
loadModels()
async loadModels(urls: string[], options?: LoadModelOptions): Promise<void>
功能: 加载多个模型
- 支持轻量化模型格式
- 支持 GLTF/GLB 格式
- 异步加载
参数:
urls: string[] - 模型 URL 数组options: LoadModelOptions - 加载选项(可选)
2.8 EventModule - 事件模块
文件路径: src/core/v2/modules/eventModule.ts
公共方法
on()
on<T = any>(event: EventType, callback: (data: T) => void): void
功能: 注册事件监听器
参数:
event: EventType - 事件类型callback: 回调函数
off()
off<T = any>(event: EventType, callback: (data: T) => void): void
功能: 移除事件监听器
参数:
event: EventType - 事件类型callback: 要移除的回调函数
trigger()
trigger(event: EventType, data?: any): void
功能: 触发事件
参数:
event: EventType - 事件类型data: 传递给监听器的数据
常用事件类型:
EventType.Click- 点击事件EventType.ViewportResize- 视口大小改变EventType.EngineFree- 引擎空闲EventType.EngineBusy- 引擎繁忙
2.9 LightModule - 光照模块
文件路径: src/core/v2/modules/lightModule.ts
公共方法
init()
public init(): void
功能: 初始化场景基本光照
- 添加定向光(DirectionalLight)
- 强度: 2
- 位置: (10, 20, 10)
- 阴影贴图: 4096x4096(高质量)
- 添加环境光(AmbientLight)
- 强度: 1
2.10 InteractionModule - 交互模块
文件路径: src/core/v2/modules/interactionModule.ts
公共方法
init()
public init(): void
功能: 初始化交互行为处理器
active()
public active(): void
功能: 激活交互功能
disActive()
public disActive(): void
功能: 禁用交互功能
handleMouseClick()
public handleMouseClick(event: any): void
功能: 处理鼠标单击事件
- 射线检测点击的模型
- 高亮选中的模型
- 设置旋转中心
- 支持 Ctrl 多选
handleMouseDoubleClick()
public handleMouseDoubleClick(event: any): void
功能: 处理鼠标双击事件
- 双击模型后缩放到该模型
- 计算模型包围盒并调整相机视角
handleMouseClickInstance()
public handleMouseClickInstance(raycaster: any): any
功能: 判断点击实例化网格节点
参数:
raycaster: 射线投射器
返回值: 相交结果数组
2.11 ModelToolModule - 模型工具模块
文件路径: src/core/v2/modules/modelToolModule.ts
公共方法
highlightModel()
public highlightModel(models: any): void
功能: 设置模型高亮显示
参数:
models: 模型数组,格式:[{url: string, ids: string[]}]
unhighlightModel()
public unhighlightModel(models: any): void
功能: 取消模型高亮
参数:
models: 模型数组
unhighlightAllModels()
public unhighlightAllModels(): void
功能: 取消所有模型高亮
hideModel()
public hideModel(models: any): void
功能: 隐藏模型
参数:
models: 模型数组,格式:[{url: string, ids: string[]}]
showModel()
public showModel(models: any): void
功能: 显示模型
参数:
models: 模型数组
isolateModel()
public isolateModel(models: any): void
功能: 隔离模型(只显示指定模型,隐藏其他)
参数:
models: 要显示的模型数组
showAllModels()
public showAllModels(): void
功能: 显示所有模型
getModelsBox()
public getModelsBox(models: any): THREE.Box3
功能: 获取模型的包围盒
参数:
models: 模型数组
返回值: THREE.Box3 包围盒对象
3. 功能管理器
3.1 ViewCube - 视图立方体
文件路径: src/core/v2/managers/viewCube/index.ts
公共属性
public cubeTool: any // 视图立方体工具
公共方法
init()
public init(): void
功能: 初始化视图立方体
- 创建 3D 小立方体辅助视图
- 支持六个面和边角视图切换
CameraGoHome()
public CameraGoHome(): void
功能: 相机回归正位(默认视角)
zoomToModel()
public zoomToModel(box: THREE.Box3): void
功能: 缩放到指定模型包围盒
参数:
box: THREE.Box3 - 目标包围盒
3.2 RangeScale - 范围缩放工具
文件路径: src/core/v2/managers/rangeScale/index.ts
公共方法
init()
public init(): void
功能: 初始化范围缩放工具
- 创建绘制框 UI 元素
- 初始化坐标转换工具
active()
public active(): void
功能: 激活范围缩放工具
- 禁用控制器
- 启用框选功能
- 鼠标变为十字光标
使用方式:
- 激活工具
- 鼠标拖拽绘制矩形区域
- 松开鼠标自动缩放到该区域
- 按 ESC 键退出
disActive()
public disActive(): void
功能: 停用范围缩放工具
- 恢复控制器
- 移除事件监听
3.3 Setting - 设置管理器
文件路径: src/core/v2/managers/setting/index.ts
公共方法
setStatsVisible()
public setStatsVisible(visible: boolean): void
功能: 显示/隐藏性能监视器
参数:
visible: true 显示,false 隐藏
setAmbientLightIntensity()
public setAmbientLightIntensity(intensity: number): void
功能: 设置环境光照强度
参数:
intensity: 光照强度,范围 0-5
setAmbientLightColor()
public setAmbientLightColor(color: number | string): void
功能: 设置环境光照颜色
参数:
color: 颜色(0xffffff 或 '#ffffff')
setDirectionalLightIntensity()
public setDirectionalLightIntensity(intensity: number): void
功能: 设置定向光源强度
参数:
intensity: 光照强度,范围 0-5
setDirectionalLightColor()
public setDirectionalLightColor(color: number | string): void
功能: 设置定向光源颜色
参数:
color: 颜色
setShadowQuality()
public setShadowQuality(quality: 'low' | 'medium' | 'high' | 'ultra'): void
功能: 设置阴影精细度
参数:
quality: 质量等级- 'low': 1024
- 'medium': 2048
- 'high': 4096
- 'ultra': 8192
setDirectionalLightShadow()
public setDirectionalLightShadow(enabled: boolean): void
功能: 开启/关闭定向光阴影
参数:
enabled: true 开启,false 关闭
setGTAOEnabled()
public setGTAOEnabled(enabled: boolean): void
功能: 开启/关闭 GTAO 环境光遮蔽
参数:
enabled: true 开启,false 关闭
setSceneSaturation()
public setSceneSaturation(saturation: number): void
功能: 设置场景饱和度
参数:
saturation: 饱和度值,1.0 为正常,推荐范围 0.5-2.0
setSceneContrast()
public setSceneContrast(contrast: number): void
功能: 设置场景对比度
参数:
contrast: 对比度值,1.0 为正常,推荐范围 0.5-2.0
setGroundEnabled()
public setGroundEnabled(enabled: boolean, options?: {
size?: number;
color?: number | string;
opacity?: number;
}): void
功能: 开启/关闭地面
参数:
enabled: true 开启,false 关闭options: 地面配置选项size: 地面大小(默认 100)color: 地面颜色(默认 0x808080)opacity: 透明度(默认 0.3)
setHDRBackground()
public setHDRBackground(hdrTexture: THREE.Texture | null): void
功能: 设置 HDR 背景
参数:
hdrTexture: HDR 环境贴图,null 则移除
3.4 Measure - 测量工具
文件路径: src/core/v2/managers/measure/index.ts
公共方法
active()
public active(): void
功能: 激活测量工具
disActive()
public disActive(): void
功能: 停用测量工具
- 清除所有测量
- 恢复点选功能
clearAllPoints()
public clearAllPoints(): void
功能: 清空所有测量点
clearAll()
public clearAll(): void
功能: 清除所有测量标注
update()
update(): void
功能: 更新测量标注
- 在渲染循环中调用
- 更新屏幕坐标
测量类型:
- 距离测量(DistanceMeasure)
- 净高测量(ClearHeightMeasure)
- 净距测量(ClearDistanceMeasure)
- 标高测量(ElevationMeasure)
- 点测量(PointMeasure)
- 角度测量(AngleMeasure)
- 面积测量(AreaMeasure)
- 坡度测量(SlopeMeasure)
3.5 Clipping - 剖切管理器
文件路径: src/core/v2/managers/clipping/index.ts
公共属性
public sectionPlaneX: any // X 轴剖切平面
public sectionPlaneY: any // Y 轴剖切平面
public sectionPlaneZ: any // Z 轴剖切平面
public sectionBox: any // 剖切盒
公共方法
init()
public init(): void
功能: 初始化剖切管理器
- 创建 6 个剖切平面(前、后、左、右、顶、底)
- 初始化 X/Y/Z 轴剖切工具
- 初始化剖切盒工具
disActive()
public disActive(): void
功能: 停用所有剖切工具
3.6 ModelTree - 模型树
文件路径: src/core/v2/managers/modelTree/index.ts
公共方法
getTreeData()
public getTreeData(): any[]
功能: 获取模型树数据
返回值: 模型树数组
[{
name: string, // 模型名称
children: any[] // 模型层级树
}]
3.7 EngineInfo - 引擎信息统计
文件路径: src/core/v2/managers/engineInfo/index.ts
公共方法
getEngineInfo()
public getEngineInfo(): {
totalVertices: number;
totalTriangles: number;
meshCount: number;
}
功能: 获取引擎统计信息
- 统计所有网格的顶点数
- 统计所有网格的三角面数
- 统计网格数量
返回值:
totalVertices: 总顶点数totalTriangles: 总三角面数meshCount: 网格数量
3.8 ModelProperties - 模型属性
文件路径: src/core/v2/managers/modelProperties/index.ts
公共方法
getModelProperties()
public getModelProperties(url: string, id: string, callback: (properties: any) => void): void
功能: 查询构件属性
- 异步加载属性数据(如果未加载)
- 从压缩的 JSON 中解析属性
参数:
url: 模型 URLid: 构件 IDcallback: 回调函数,接收属性对象
返回值格式:
{
properties: [{
name: string, // 分类名称
children: [{
name: string, // 属性名
value: any // 属性值
}]
}],
materials: []
}
3.9 ModelMapperBatch - 模型批量映射
文件路径: src/core/v2/managers/modelMapperBatch/index.ts
公共方法
getModelTypes()
public getModelTypes(): any[]
功能: 获取模型中所有的构件类型
getModelMajors()
public getModelMajors(): any[]
功能: 获取模型中所有的专业
getModelLevels()
public getModelLevels(): any[]
功能: 获取模型中所有的楼层
getModelMapper()
public getModelMapper(url: string, id: number): any
功能: 获取指定构件的映射信息
参数:
url: 模型 URLid: 构件 ID
返回值: Mapper 对象(包含类型、专业、楼层等信息)
getModelSWithType()
public getModelSWithType(type: string, callback: any): any[]
功能: 获取同类型的所有构件
参数:
type: 构件类型名称callback: 回调函数
返回值: [{url: string, ids: number[]}]
getModelSWithLevel()
public getModelSWithLevel(level: string, callback: any): any[]
功能: 获取同楼层的所有构件
参数:
level: 楼层名称callback: 回调函数
返回值: [{url: string, ids: number[]}]
getModelsWithMajor()
public getModelsWithMajor(major: string, callback: any): any[]
功能: 获取同专业的所有构件
参数:
major: 专业名称callback: 回调函数
返回值: [{url: string, ids: number[]}]
3.10 ModelEdge - 模型边线管理器
文件路径: src/core/v2/managers/modelEdge/index.ts
公共方法
active()
public active(): void
功能: 启动边线显示
- 显示所有模型的边线
- 用于技术制图风格渲染
disActive()
public disActive(): void
功能: 关闭边线显示
getModelEdge()
public getModelEdge(url: string, id: Number): any
功能: 获取指定模型的边线数据
参数:
url: 模型 URLid: 构件 ID
返回值: 边线数据 [startIndex, endIndex, points]
hideModelEdge()
public hideModelEdge(url: string, id: Number): void
功能: 隐藏指定构件的边线
参数:
url: 模型 URLid: 构件 ID
showModelEdge()
public showModelEdge(url: string, id: Number): void
功能: 显示指定构件的边线
参数:
url: 模型 URLid: 构件 ID
4. 状态管理
4.1 EngineStatus - 引擎状态
文件路径: src/core/v2/status/engineStatus.ts
公共属性
public isFree: boolean // 引擎是否空闲
public highlightModels: any[] // 高亮的模型数组
public hideModels: any[] // 隐藏的模型数组
public models: any[] // 已加载的模型数组
公共方法
init()
public init(): void
功能: 初始化引擎状态监听
- 监听
EventType.EngineFree事件 - 监听
EventType.EngineBusy事件
updateFree()
public updateFree(status: boolean): void
功能: 更新引擎空闲状态
参数:
status: true 表示空闲,false 表示繁忙
closeAllFunction()
public closeAllFunction(): void
功能: 关闭所有功能
4.2 HandelBehaved - 行为处理器
文件路径: src/core/v2/status/handelBehaved.ts
这是一个工厂函数,返回行为处理器对象。
公共方法
init()
init(self: any, options: any): void
功能: 初始化行为处理器
参数:
self: 当前激活的行为对象options: 行为配置选项showCatch: boolean - 是否显示捕捉点
active()
active(): void
功能: 开启事务(激活事件监听)
- 监听鼠标事件(mousedown, mouseup, mousemove)
- 监听键盘事件(keydown, keyup)
disActive()
disActive(): void
功能: 关闭事务(禁用事件监听)
支持的键盘事件:
- Delete / Backspace - 删除
- Escape - 取消
- Enter - 确认
- Space - 空格
- Ctrl / Control - 控制键
- Shift - 切换键
- Alt - 辅助键
- Meta / Command - 命令键
支持的鼠标事件:
- handleMouseDown - 鼠标按下
- handleMouseMove - 鼠标移动
- handleMouseUp - 鼠标弹起
- handleMouseClick - 鼠标单击
- handleMouseDoubleClick - 鼠标双击
捕捉功能:
- 点捕捉(距离 < 5 像素)
- 线捕捉(距离 < 5 像素)
- 面捕捉(默认)
使用示例
初始化引擎
import { EngineKernelV2 } from './src/core/v2/EngineKernel';
const engine = new EngineKernelV2({
containerId: 'canvas-container',
antialias: true
});
加载模型
await engine.loaderModule.loadModels([
'https://example.com/model1.light',
'https://example.com/model2.light'
]);
高亮模型
engine.modelToolModule.highlightModel([
{ url: 'model1.light', ids: ['wall-001', 'wall-002'] }
]);
切换相机
// 切换到正交相机
engine.cameraModule.switchToOrthographicCamera();
// 或切换当前相机类型
engine.cameraModule.switchCurrentCamera();
保存和恢复相机姿态
// 保存当前相机姿态
const pose = engine.cameraModule.getCameraPose();
// 恢复相机姿态
engine.cameraModule.restoreCameraPose(pose);
设置光照和渲染质量
// 设置环境光强度
engine.setting.setAmbientLightIntensity(1.5);
// 设置阴影质量
engine.setting.setShadowQuality('ultra');
// 开启 GTAO
engine.setting.setGTAOEnabled(true);
// 调整饱和度和对比度
engine.setting.setSceneSaturation(1.3);
engine.setting.setSceneContrast(1.1);
获取模型属性
engine.modelProperties.getModelProperties('model.light', 'wall-001', (data) => {
console.log('属性:', data.properties);
});
按类型筛选构件
engine.modelMapperBatch.getModelSWithType('墙', (models) => {
// 高亮所有墙体
engine.modelToolModule.highlightModel(models);
});
监听事件
// 监听点击事件
engine.events.on(EventType.Click, (hit) => {
console.log('点击了:', hit.object.name);
});
// 监听视口大小改变
engine.events.on(EventType.ViewportResize, ({ width, height }) => {
console.log('视口大小:', width, height);
});
暂停和恢复渲染
// 暂停渲染(节省性能)
engine.pauseRendering();
// 恢复渲染
engine.resumeRendering();
// 检查渲染状态
if (engine.isRenderingPausedState()) {
console.log('渲染已暂停');
}
销毁引擎
// 释放所有资源
engine.dispose();
总结
BIM Engine SDK 提供了完整的 3D BIM 模型渲染和交互能力,主要特性包括:
- 完整的相机系统: 支持透视和正交相机,可保存和恢复相机姿态
- 强大的模型操作: 高亮、隐藏、隔离、批量筛选
- 丰富的测量工具: 距离、净高、净距、标高、角度、面积、坡度
- 灵活的剖切功能: 支持 X/Y/Z 轴剖切和剖切盒
- 可配置的渲染质量: 阴影、环境光遮蔽、饱和度、对比度
- 事件驱动架构: 支持自定义事件监听和触发
- 性能优化: 支持暂停/恢复渲染,八叉树加速
- 完善的资源管理: 自动释放几何体、材质、纹理等资源
适用场景:
- BIM 模型在线浏览
- 建筑设计审查
- 施工模拟
- 运维管理
- AI 辅助设计