From 316f42ae6b634d332418a1d8980872e40f2fab40 Mon Sep 17 00:00:00 2001 From: yuding <1023798085@qq.com> Date: Mon, 2 Feb 2026 16:38:43 +0800 Subject: [PATCH] feat(clipping): add section-move event listener Listen for 'section-move' event from underlying engine and emit as 'section:move'. Currently outputs to console for debugging. Event type: { x?: {min, max}, y?: {min, max}, z?: {min, max} } --- src/components/engine/index.ts | 7 +++++++ src/types/events.ts | 3 +++ 2 files changed, 10 insertions(+) diff --git a/src/components/engine/index.ts b/src/components/engine/index.ts index ec7dda7..3bb186a 100644 --- a/src/components/engine/index.ts +++ b/src/components/engine/index.ts @@ -141,6 +141,13 @@ export class Engine implements IBimComponent { registry.emit('component:deselected', {}); } }); + + // 监听剖切值变化事件 + this.engine.events.on('section-move', (data: any) => { + console.log('[Engine] 剖切值变化:', data); + const registry = ManagerRegistry.getInstance(); + registry.emit('section:move', data); + }); } catch (error) { console.error('[Engine] Failed to initialize engine:', error); this._isInitialized = false; diff --git a/src/types/events.ts b/src/types/events.ts index 32f11db..457262a 100644 --- a/src/types/events.ts +++ b/src/types/events.ts @@ -35,6 +35,9 @@ export interface EngineEvents { 'component:selected': { url: string; id: string }; 'component:deselected': {}; + // 剖切事件 + 'section:move': { x?: { min: number; max: number }; y?: { min: number; max: number }; z?: { min: number; max: number } }; + // AI 聊天事件 'aiChat:opened': {}; 'aiChat:closed': {};