feat: v0.5 画布尺寸编辑+自动报价+扇样式保真修复

- 参数化尺寸编辑: W/H输入框 + 拖拽外框右缘/下缘/右下角手柄
- 全部几何按比例自动缩放(型材料宽不变, 最小300mm)
- 拖拽过程静默更新, 松手提交或回滚撤销点
- 自动报价: 画布变化600ms防抖调用offer-price, 实时显示总价
- 修复样板显示为默认矩形的问题: 扇样式推断引擎三级解析
  (有效bd → polyId区域映射双扇对半 → 帧bbox按扇数竖向均分)
- 还原真实分格与开向(od角度/inward空心/门标注)
- 无图纸订单显示引导提示
This commit is contained in:
HHY
2026-09-20 10:39:54 -07:00
parent dffca83508
commit 6ec30c198f
6 changed files with 307 additions and 54 deletions
+17 -2
View File
@@ -42,16 +42,31 @@ export interface ColorMap {
ben?: string
}
export interface SashEntry {
od?: number
do?: number
opened?: boolean
isDoor?: boolean
enabled?: boolean
wtf?: boolean
polyId?: { idx: number; pos: number }
[k: string]: unknown
}
export interface SashShape {
type: 'Sash' | string
bd?: { from: Pt; to: Pt; hidden?: boolean } // 扇所在区域包围盒
type: 'Sash' | 'DoubleSash' | string
bd?: { from: Pt; to: Pt; hidden?: boolean; offset?: Vec } // 扇所在区域包围盒(可能退化)
od?: number // 开向角度
opened?: boolean
wtf?: boolean // 带转框
withTurningFrame?: boolean
isDoor?: boolean
polyId?: { idx: number; pos: number }
enabled?: boolean
rid?: string
openToward?: string // inward/outward
rt?: number | boolean // 圆弧半径(弧顶扇)
sashes?: SashEntry[] // DoubleSash 的子扇
[k: string]: unknown
}