From d3accdc237c482ff025f06c8c29c81104396969e Mon Sep 17 00:00:00 2001 From: HHY Date: Mon, 21 Sep 2026 02:50:25 -0700 Subject: [PATCH] =?UTF-8?q?feat:=20v1.9=203D=20=E5=BB=BA=E6=A8=A1=E6=B7=B1?= =?UTF-8?q?=E5=BA=A6=E5=AE=8C=E5=96=84=E2=80=94=E2=80=94=E5=9E=8B=E6=9D=90?= =?UTF-8?q?=E6=88=AA=E9=9D=A2=E6=8C=A4=E5=87=BA+=E5=9C=BA=E6=99=AF+?= =?UTF-8?q?=E5=85=89=E7=85=A7+=E8=A7=86=E8=A7=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 探明源站 3D 技术路线: BabylonJS + DXF 型材截面挤出 + sashOpen 开合 - 自研对齐实现(Three.js): U 型槽型材截面 ExtrudeGeometry 沿框架挤出(外框/中梃/扇框) 墙体洞口+地面场景(可开关), PCFSoft 阴影 光照氛围(日景/黄昏/夜景), 视角预设(正面/45°/侧面/室内) 自动旋转, 3D 截图导出 PNG(preserveDrawingBuffer) - 开合动画保留: 平开绕铰链/推拉沿轨道/门大角度 --- CHANGELOG | 1 + frontend/src/components/WindoorThreed.vue | 287 +++++++++++++++++----- 2 files changed, 221 insertions(+), 67 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 01b5859..4cfedcb 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,6 @@ # CHANGELOG +- [2026-09-21 11:40] FEAT: v1.9 3D 建模深度完善(技术路线对齐源站型材截面挤出)——①U 型槽型材截面 ExtrudeGeometry 沿框架挤出, 替代平板盒体(外框/中梃/扇框三套型材); ②墙体洞口+地面场景(可开关); ③PCFSoft 阴影(平行光投影+地面接收); ④光照氛围日景/黄昏/夜景; ⑤视角预设正面/45°/侧面/室内+自动旋转; ⑥3D 截图导出 PNG(preserveDrawingBuffer); 开合动画保留 (Files: frontend/src/components/WindoorThreed.vue) - [2026-09-21 11:20] FIX+FEAT: v1.8 修复工作台"接口不存在"+3D 区域分配制重建。①补齐公告后端: Announcement 模型+/api/announcements 接口+种子 4 条自撰公告(修复工作台/布局页调用不存在的接口报"接口不存在"); 修复 seed init_db 前置模型导入(announcements 表未建); ②WindoorThreed 重建改为区域分配制: 每个重放区域唯一归属(扇认领重叠最大区域/其余静态玻璃), 杜绝扇面板与玻璃重叠混乱; 全区域绘制薄框线还原真实窗格; 扇面板含玻璃+四边扇框 (Files: src/huamenchuang/models/announcement.py, src/huamenchuang/api/platform.py, src/huamenchuang/scripts/seed.py, frontend/src/components/WindoorThreed.vue) - [2026-09-21 11:00] FIX: v1.7 修复 3D NaN 崩溃/样品图不刷新/画布点选失效——①THREE NaN: drawing_data 畸形数据进入 3D 网格, replayShape 段过滤补 Y 轴有限值校验、inferSashGlyphs bdRect 有限值校验、WindoorThreed 逐网格有限值防护+maxDim 守卫、CombineCanvas shapePts 过滤; ②样品图不刷新: 组合画布原地变异 shapes 数组, combinedJson computed 感知不到深层变化 → 引入 rev 版本号强制重算驱动 3D 重建; ③点选失效: 单元包围盒被非有限值污染致命中测试失效, 随①修复 (Files: frontend/src/types/drawing.ts, frontend/src/components/WindoorThreed.vue, frontend/src/components/CombineCanvas.vue, frontend/src/views/CombineView.vue) - [2026-09-21 10:50] FIX: 修复 spa_fallback 的 NameError(JSONResponse 未导入导致未匹配 /api 路径 500)与 JWT 密钥长度警告(默认密钥补足 32 字节以上) (Files: src/huamenchuang/main.py, src/huamenchuang/core/config.py) diff --git a/frontend/src/components/WindoorThreed.vue b/frontend/src/components/WindoorThreed.vue index 9799f67..e2484e2 100644 --- a/frontend/src/components/WindoorThreed.vue +++ b/frontend/src/components/WindoorThreed.vue @@ -5,9 +5,36 @@ {{ info }} 左键旋转 · 滚轮缩放 · 右键平移 + +
+
+ 光照 + + 日景 + 黄昏 + 夜景 + +
+
+ 视角 + + 正面 + 45° + 侧面 + 室内 + +
+
+ 场景 + 墙体 + 自动旋转 + 截图 +
+
+
开合 - + 自动演示 {{ openPct > 0 ? '全关' : '全开' }}
@@ -16,13 +43,14 @@