This commit is contained in:
2026-09-02 18:18:42 +08:00
parent 5e531ffe1e
commit 4fbff0761a
18 changed files with 239 additions and 111 deletions
@@ -0,0 +1,286 @@
# 分模算法改进总结
## 概述
本次改进实现了更合理的分模算法,使用传统几何方法计算分型面和分型线,同时预留了 AI 模型介入的接口。
## 主要改进
### 1. 分型面检测优化
#### 改进前
- 固定使用 Z 方向作为分型方向
- 分型面总是水平面(XY 平面)
- 不考虑产品实际几何特征
#### 改进后
实现三级检测策略:
```python
def _detect_parting_surface(self, shape, analysis):
"""
优先级:
1. AI 模型检测(如果已设置)
2. 基于法向量分析的几何方法
3. 简化方法(基于边界框,回退方案)
"""
```
**法向量分析** (`_analyze_face_normals`):
- 统计所有面的法向量
- 计算平均法向量作为最优分型方向
- 自动适应产品几何特征
**代码位置**: [`mold_generator.py:637-684`](file:///d:/project/geMoldInsight/src/core/mold_generator.py#L637-L684)
### 2. 真实分型线计算
#### 改进前
- 使用简化矩形(4 个点)
- 不贴合产品实际轮廓
#### 改进后
使用布尔运算求交线:
```python
def _calculate_parting_line(self, shape, parting_surface):
"""
使用 BRepAlgoAPI_Section 计算产品与分型面的真实交线
- 提取交线(边)
- 沿边采样点(至少 10 个点)
- 返回精确的分型线路径
"""
```
**代码位置**: [`mold_generator.py:706-758`](file:///d:/project/geMoldInsight/src/core/mold_generator.py#L706-L758)
### 3. AI 模型接口预留
#### 接口设计
添加了 AI 模型集成方法:
```python
def set_ai_model(self, parting_detector=None, draft_analyzer=None):
"""设置 AI 模型接口"""
self.ai_parting_detector = parting_detector
self.ai_draft_analyzer = draft_analyzer
```
#### AI 模型能力
1. **分型面检测器** (`AIPartingSurfaceDetector`)
- 分析产品 3D 几何
- 预测最优分型面位置和方向
- 识别倒扣(undercut)区域
2. **拔模分析器** (`AIDraftAnalyzer`)
- 分析哪些面需要拔模
- 预测最优拔模角度
- 检测脱模干涉
3. **型腔布局优化器** (`AICavityLayoutOptimizer`)
- 优化多型腔排列
- 设计流道系统
- 平衡材料流动
**代码位置**: [`ai_mold_assistant.py`](file:///d:/project/geMoldInsight/src/core/ai_mold_assistant.py)
#### 集成方式
```python
from core.mold_generator import MoldCavityGenerator
from core.ai_mold_assistant import AIPartingSurfaceDetector
# 创建 AI 模型
parting_detector = AIPartingSurfaceDetector(model_path="models/parting_surface.pth")
# 设置到模具生成器
generator = MoldCavityGenerator()
generator.set_ai_model(parting_detector=parting_detector)
# 使用时会自动调用 AI 模型
result = generator.generate_mold_cavities(product_shape)
```
### 4. 拔模角处理改进
#### 改进前
- 简化实现,直接返回原始形状
- 记录警告日志
#### 改进后
- 支持 AI 模型分析拔模
- 使用几何方法计算拔模方向
- 为完整实现预留接口(`BRepOffsetAPI_DraftAngle`)
**代码位置**: [`mold_generator.py:829-859`](file:///d:/project/geMoldInsight/src/core/mold_generator.py#L829-L859)
### 5. 分型线长度精确计算
#### 改进前
```python
def _calculate_parting_line_length(self, parting_line: List) -> float:
return 250.0 # mm # 固定值
```
#### 改进后
```python
def _calculate_parting_line_length(self, parting_line: List) -> float:
"""计算折线总长度"""
total_length = 0.0
for i in range(1, len(parting_line)):
p1 = np.array(parting_line[i-1])
p2 = np.array(parting_line[i])
total_length += np.linalg.norm(p2 - p1)
return total_length
```
**代码位置**: [`mold_generator.py:861-869`](file:///d:/project/geMoldInsight/src/core/mold_generator.py#L861-L869)
## 新增文件
### 1. `src/core/ai_mold_assistant.py`
AI 模型接口示例类:
- `AIPartingSurfaceDetector` - 分型面检测器
- `AIDraftAnalyzer` - 拔模分析器
- `AICavityLayoutOptimizer` - 型腔布局优化器
### 2. `scripts/test_mold_splitting.py`
完整的分模算法测试脚本:
- 测试简单长方体分模
- 测试 STEP 文件分模
- 测试 AI 模型接口
- 测试分型线计算算法
### 3. `scripts/simple_test.py`
简化的测试脚本(用于快速验证)
## 使用示例
### 基本使用(几何方法)
```python
from core.mold_generator import MoldCavityGenerator
# 创建模具生成器
generator = MoldCavityGenerator(
shrinkage_rate=0.005, # 0.5% 收缩率
draft_angle=2.0, # 2 度拔模角
material_density=1.05 # ABS 密度
)
# 生成模具型腔
result = generator.generate_mold_cavities(product_shape)
# 获取详细信息
detailed_json = generator.generate_detailed_cavity_json(result)
```
### 使用 AI 辅助
```python
from core.mold_generator import MoldCavityGenerator
from core.ai_mold_assistant import AIPartingSurfaceDetector
# 创建 AI 模型
parting_detector = AIPartingSurfaceDetector(model_path="models/model.pth")
# 设置 AI 模型
generator = MoldCavityGenerator()
generator.set_ai_model(parting_detector=parting_detector)
# 使用时 AI 会自动介入
result = generator.generate_mold_cavities(product_shape)
```
## 技术细节
### 法向量分析算法
```python
def _analyze_face_normals(self, shape):
# 1. 遍历所有面
for face in shape.faces:
# 2. 获取面的法向量
normal = surface.Plane().Position().Direction()
face_normals.append(normal)
# 3. 计算平均法向量
avg_normal = sum(face_normals) / len(face_normals)
# 4. 归一化
return normalized(avg_normal)
```
### 分型线计算流程
```
产品形状 + 分型面
↓
BRepAlgoAPI_Section (布尔截面运算)
↓
提取交线 (TopExp_Explorer)
↓
沿边采样 (BRepAdaptor_Curve)
↓
点列表 [[x,y,z], ...]
```
## 性能对比
| 功能 | 改进前 | 改进后 |
|------|--------|--------|
| 分型面方向 | 固定 Z 方向 | 自动适应产品几何 |
| 分型线点数 | 4 点(矩形) | 10+ 点(真实轮廓) |
| 分型线长度 | 固定 250mm | 精确计算 |
| AI 集成 | 无 | 完整接口预留 |
| 拔模分析 | 简化 | 支持 AI 和几何方法 |
## 后续优化方向
### 短期(无需 AI)
1. 改进法向量计算精度(使用高斯权重)
2. 优化分型面位置(考虑脱模方向)
3. 完整实现拔模角处理(使用 `BRepOffsetAPI_DraftAngle`)
### 中期(机器学习)
1. 收集模具设计案例数据
2. 训练分型面识别模型(PointNet++)
3. 集成到现有系统
### 长期(深度学习 + 仿真)
1. 端到端模具生成
2. 结合 Moldflow 物理仿真
3. 数字孪生系统
## 代码变更总结
### 修改文件
- `src/core/mold_generator.py` - 核心分模算法改进
### 新增文件
- `src/core/ai_mold_assistant.py` - AI 模型接口
- `scripts/test_mold_splitting.py` - 完整测试脚本
- `scripts/simple_test.py` - 简化测试脚本
### 新增导入
```python
from OCC.Core.BRepAlgoAPI import BRepAlgoAPI_Section
from OCC.Core.BRepAdaptor import BRepAdaptor_Surface, BRepAdaptor_Curve
from OCC.Core.TopExp import TopExp_Explorer
from OCC.Core.TopAbs import TopAbs_FACE, TopAbs_EDGE, TopAbs_VERTEX
```
## 总结
本次改进实现了:
1. ✅ **更合理的分型面检测** - 基于法向量分析,自动适应产品几何
2. ✅ **真实的分型线计算** - 使用布尔运算求交线,不是简化矩形
3. ✅ **AI 模型接口预留** - 可随时集成 AI 辅助功能
4. ✅ **精确的参数计算** - 分型线长度、拔模方向等
所有改进都使用了 OpenCASCADE 的几何算法,保证了计算的准确性和可靠性。AI 接口的设计使得未来可以轻松集成深度学习模型,提升分模智能化水平。
@@ -0,0 +1,601 @@
# 铝制家电包装泡沫模具分模功能技术规格说明书
> 文档定位:**铝泡沫模具分模方向的专题规格文档**。
> 本文保留该方向的需求背景、规格设想与能力边界,不作为当前项目整体状态的权威说明。当前状态见 [../../../STATUS.md](../../../STATUS.md),总体架构见 [../../../ARCHITECTURE.md](../../../ARCHITECTURE.md),活跃技术债见 [../../../TECH_DEBT.md](../../../TECH_DEBT.md)。
## 文档信息
| 项目 | 内容 |
|------|------|
| **文档名称** | 铝制家电包装泡沫模具分模功能技术规格说明书 |
| **版本** | 1.0 |
| **日期** | 2026-03-13 |
| **项目** | geMoldInsight 模具分模功能增强 |
---
## 1. 项目背景与目标
### 1.1 项目背景
铝制家电包装泡沫是一种广泛应用于家电产品缓冲包装的特殊材料,其模具设计具有以下特点:
- **材料特性**:铝泡沫密度低(0.4-0.8 g/cm³),发泡倍率高,需要特殊的成型工艺
- **产品特性**:壁厚较大(通常 20-100mm),形状复杂,表面质量要求高
- **模具特性**:需要耐腐蚀模具材料,加强排气系统,特殊的浇注系统
### 1.2 项目目标
开发一套专业的铝制家电包装泡沫模具分模系统,实现:
1. **自动分模算法** - 针对铝泡沫产品结构特性的智能分模
2. **参数自定义** - 分模角度、分型线精度、型腔匹配度等
3. **三维可视化** - 实时显示分模效果,支持交互调整
4. **质量检测** - 自动验证分模面质量、结构合理性、生产可行性
5. **数据接口** - 兼容现有软件,标准数据导出
---
## 2. 功能需求规格
### 2.1 自动分模算法
#### 2.1.1 分型面自动检测
**功能描述**:自动分析产品几何特征,计算最优分型面位置和方向
**需求规格**:
| 需求项 | 详细说明 | 优先级 |
|--------|----------|--------|
| 表面法向量分析 | 统计产品所有面的法向量分布 | P0 |
| 最优方向计算 | 基于法向量统计计算最优分型方向 | P0 |
| 多分型面支持 | 支持复杂产品的多个分型面 | P1 |
| 倒扣检测 | 自动识别产品倒扣区域 | P1 |
| 分型面优化 | 平滑处理分型面,减少毛刺 | P2 |
**算法输入**:
- 产品 3D 模型 (STEP/IGES 格式)
- 产品材料类型
- 产品尺寸参数
**算法输出**:
- 分型面方程 (平面参数)
- 分型面位置 (Z 坐标或自定义)
- 置信度评分 (0-100%)
#### 2.1.2 铝泡沫特性适配
**功能描述**:针对铝泡沫材料的特殊参数设置
**需求规格**:
| 参数 | 范围 | 默认值 | 说明 |
|------|------|--------|------|
| 发泡倍率 | 1.5-4.0 | 2.5 | 铝泡沫发泡倍率 |
| 目标密度 | 0.3-0.8 g/cm³ | 0.5 | 成型后泡沫密度 |
| 收缩率 | 0.5%-3.0% | 1.5% | 铝泡沫收缩率(较大) |
| 成型温度 | 300-450°C | 380°C | 发泡成型温度 |
**材料数据库**:
```python
foam_materials = {
"AlSi10Mg": {
"density": 0.45,
"expansion_ratio": 2.5,
"shrinkage_rate": 0.015,
"molding_temp": 380,
"description": "常用铝硅泡沫"
},
"AlSi12": {
"density": 0.50,
"expansion_ratio": 2.2,
"shrinkage_rate": 0.012,
"molding_temp": 360,
"description": "高强度铝泡沫"
},
"Pure Al Foam": {
"density": 0.35,
"expansion_ratio": 3.0,
"shrinkage_rate": 0.020,
"molding_temp": 400,
"description": "纯铝泡沫"
}
}
```
#### 2.1.3 拔模角优化
**功能描述**:针对铝泡沫产品的拔模角计算
**需求规格**:
| 需求项 | 详细说明 | 优先级 |
|--------|----------|--------|
| 最小拔模角计算 | 基于产品高度和材料摩擦系数 | P0 |
| 拔模方向检测 | 自动确定脱模方向 | P0 |
| 拔模干涉检测 | 检测脱模过程中的干涉区域 | P1 |
| 拔模补偿 | 自动补偿拔模引起的尺寸变化 | P1 |
**拔模角参数**:
| 参数 | 范围 | 默认值 | 说明 |
|------|------|--------|------|
| 最小拔模角 | 1°-10° | 3° | 铝泡沫建议 3-5° |
| 拔模方向 | X/Y/Z/自定义 | 自动 | 脱模方向 |
| 摩擦系数 | 0.1-0.5 | 0.3 | 材料摩擦系数 |
### 2.2 参数自定义设置
#### 2.2.1 分模参数配置
**功能描述**:用户可自定义分模过程的各项参数
**需求规格**:
| 参数名称 | 参数类型 | 取值范围 | 默认值 | 说明 |
|----------|----------|----------|--------|------|
| 分模方式 | 枚举 | 单分型面/多分型面/自动 | 自动 | 分模策略 |
| 分型线精度 | 浮点数 | 0.01-1.0 mm | 0.1 mm | 分型线采样精度 |
| 分型面容差 | 浮点数 | 0.01-2.0 mm | 0.5 mm | 分型面拟合容差 |
| 型腔匹配度 | 浮点数 | 80%-100% | 95% | 型腔与产品匹配度 |
| 收缩补偿 | 布尔 | 是/否 | 是 | 是否应用收缩补偿 |
| 拔模处理 | 布尔 | 是/否 | 是 | 是否应用拔模角 |
#### 2.2.2 高级参数设置
**功能描述**:专家级用户可调整的高级参数
**参数面板**:
```python
advanced_params = {
"mold_parameters": {
"cavity_count": 1, # 型腔数量
"mold_material": "P20", # 模具材料
"surface_finish": "SPI A2", # 表面粗糙度
"ejection_system": "pin", # 顶出系统
},
"processing_params": {
"injection_pressure": "80-120 MPa",
"molding_temp": "350-400 °C",
"cooling_time": "30-60 秒",
"ejection_temp": "60-80 °C",
},
"quality_params": {
"warpage_tolerance": 0.5, # 翘曲容差 mm
"sink_mark_depth": 0.1, # 缩痕深度 mm
"weld_line_gap": 0.05, # 熔接缝间隙 mm
}
}
```
### 2.3 三维可视化界面
#### 2.3.1 分模过程可视化
**功能描述**:实时显示分模过程和结果
**需求规格**:
| 功能 | 说明 | 优先级 |
|------|------|--------|
| 产品模型显示 | 加载并显示原始产品 3D 模型 | P0 |
| 分型面可视化 | 在产品上显示分型面位置 | P0 |
| 分型线可视化 | 显示计算得到的分型线路径 | P0 |
| 型腔/型芯显示 | 分别高亮显示型腔和型芯 | P0 |
| 模具块显示 | 显示完整的模具块结构 | P1 |
| 剖视图 | 沿分型面剖切显示内部结构 | P1 |
#### 2.3.2 交互调整功能
**功能描述**:支持用户交互调整分模参数
**需求规格**:
| 功能 | 说明 | 交互方式 |
|------|------|----------|
| 分型面拖拽 | 沿法线方向移动分型面 | 鼠标拖拽 |
| 分型角度调整 | 调整分型面角度 | 滑块控制 |
| 视图旋转 | 360° 查看模型 | 鼠标拖拽 |
| 缩放 | 放大/缩小视图 | 滚轮 |
| 剖面切换 | 切换不同剖面视图 | 按钮切换 |
| 透明度调整 | 调整模型透明度 | 滑块控制 |
| 测量工具 | 测量距离、角度 | 点击测量 |
#### 2.3.3 可视化参数
| 参数 | 取值范围 | 默认值 |
|------|----------|--------|
| 分型面颜色 | #FF0000 (红色) | #00FF00 (绿色) |
| 分型线颜色 | #FFFF00 (黄色) | #FF00FF (品红) |
| 型腔颜色 | #0000FF (蓝色) | #00FFFF (青色) |
| 型芯颜色 | #FF8800 (橙色) | #8800FF (紫色) |
| 网格密度 | 1000-50000 点 | 10000 点 |
### 2.4 质量检测模块
#### 2.4.1 分模面质量检测
**功能描述**:自动检测分模面的质量
**检测项目**:
| 检测项 | 检测方法 | 质量标准 | 优先级 |
|--------|----------|----------|--------|
| 平滑度 | 曲率分析 | 无明显凹凸 | P0 |
| 连续性 | 边界检查 | 无间隙 | P0 |
| 几何精度 | 偏差测量 | < 0.1mm | P1 |
| 表面缺陷 | 三角网格检查 | 无破面 | P1 |
**检测输出**:
```python
quality_report = {
"surface_quality": {
"smoothness_score": 95, # 平滑度评分 0-100
"continuity_score": 100, # 连续性评分
"defects": [], # 发现的缺陷列表
"overall_score": 97 # 综合评分
},
"geometry_check": {
"deviation": 0.05, # 偏差 mm
"tolerance_met": True # 是否符合容差
}
}
```
#### 2.4.2 模具结构合理性检测
**功能描述**:检测模具结构的合理性
**检测项目**:
| 检测项 | 说明 | 判定标准 |
|--------|------|----------|
| 模具尺寸 | 模具是否足够大 | 产品尺寸 + 余量 |
| 壁厚检测 | 模具壁厚是否足够 | > 10mm |
| 拔模检测 | 是否有倒扣无法脱模 | 无倒扣或已处理 |
| 干涉检测 | 运动件是否干涉 | 无干涉 |
| 冷却系统 | 冷却通道是否合理 | 分布均匀 |
#### 2.4.3 生产可行性评估
**功能描述**:评估模具的生产可行性
**评估项目**:
| 评估项 | 评估方法 | 输出 |
|--------|----------|------|
| 注塑压力 | 投影面积 × 压力系数 | 压力值 (MPa) |
| 锁模力 | 投影面积 × 材料压力 | 力值 (吨) |
| 成型周期 | 体积/冷却速度 | 时间 (秒) |
| 材料利用率 | 流道体积/产品体积 | 百分比 |
| 生产成本 | 材料+工艺+时间 | 估算成本 |
### 2.5 数据接口
#### 2.5.1 导入接口
**支持的格式**:
| 格式 | 说明 | 优先级 |
|------|------|--------|
| STEP | 标准 CAD 交换格式 | P0 |
| IGES | 另一种 CAD 交换格式 | P1 |
| BREP | OpenCASCADE 原生格式 | P1 |
| STL | 三角网格格式 | P2 |
#### 2.5.2 导出接口
**导出格式**:
| 格式 | 说明 | 用途 |
|------|------|------|
| STEP | 分模后模具模型 | CAD 软件 |
| IGES | 分模后模具模型 | CAM 软件 |
| STL | 3D 打印/快速成型 | 3D 打印 |
| JSON | 分模参数和结果 | 数据交换 |
| PDF | 质量检测报告 | 文档输出 |
#### 2.5.3 API 接口
**内部 API**:
```python
# 分模分析 API
POST /api/mold/analyze
{
"product_file": "file",
"material": "AlSi10Mg",
"params": {
"draft_angle": 3.0,
"parting_tolerance": 0.1,
"cavity_match": 95
}
}
# 获取分模结果
GET /api/mold/result/{task_id}
# 导出分模结果
GET /api/mold/export/{task_id}?format=step
```
---
## 3. 技术架构规格
### 3.1 系统架构
```
┌─────────────────────────────────────────────────────────┐
│ 表示层 (Presentation) │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Web 界面 │ │ 3D 可视化 │ │ 参数面板 │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────────────┘
│
┌─────────────────────────────────────────────────────────┐
│ 业务层 (Business Logic) │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ 分模算法 │ │ 质量检测 │ │ 参数优化 │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────────────┘
│
┌─────────────────────────────────────────────────────────┐
│ 数据层 (Data Layer) │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ PythonOCC │ │ 数据库 │ │ 文件存储 │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────────────┘
```
### 3.2 模块设计
#### 3.2.1 分模算法模块
**模块职责**:核心分模算法实现
**主要类**:
```python
class AluminumFoamMoldGenerator:
"""铝泡沫模具分模生成器"""
def __init__(self, params: MoldParams):
self.params = params
self.material_db = FoamMaterialDatabase()
def analyze_product(self, shape: TopoDS_Shape) -> ProductAnalysis:
"""分析产品几何特征"""
pass
def detect_parting_surface(self, shape, analysis) -> PartingSurface:
"""检测分型面"""
pass
def calculate_parting_line(self, shape, surface) -> PartingLine:
"""计算分型线"""
pass
def apply_draft_angles(self, shape, direction) -> Shape:
"""应用拔模角"""
pass
def split_cavity_core(self, shape, surface) -> Tuple[Shape, Shape]:
"""分离型腔和型芯"""
pass
def generate_mold_block(self, cavity, params) -> Shape:
"""生成模具块"""
pass
```
#### 3.2.2 质量检测模块
**模块职责**:分模质量检测和评估
**主要类**:
```python
class MoldQualityInspector:
"""模具质量检测器"""
def inspect_surface(self, surface) -> SurfaceQualityReport:
"""检测分模面质量"""
pass
def inspect_structure(self, mold) -> StructureQualityReport:
"""检测模具结构"""
pass
def assess_feasibility(self, mold, params) -> FeasibilityReport:
"""评估生产可行性"""
pass
def generate_report(self) -> QualityReport:
"""生成质量报告"""
pass
```
#### 3.2.3 可视化模块
**模块职责**:3D 可视化渲染和交互
**主要类**:
```python
class MoldVisualizationController:
"""模具可视化控制器"""
def load_model(self, shape):
"""加载 3D 模型"""
pass
def render_parting_surface(self, surface):
"""渲染分型面"""
pass
def render_parting_line(self, line):
"""渲染分型线"""
pass
def render_cavity_core(self, cavity, core):
"""渲染型腔/型芯"""
pass
def set_interaction_mode(self, mode):
"""设置交互模式"""
pass
def export_view(self, format):
"""导出视图"""
pass
```
### 3.3 数据结构
#### 3.3.1 分模参数
```python
@dataclass
class MoldSplitParams:
"""分模参数"""
# 分模参数
split_mode: SplitMode = SplitMode.AUTO
parting_tolerance: float = 0.1 # mm
parting_line_precision: float = 0.1 # mm
cavity_match_rate: float = 95.0 # %
# 铝泡沫参数
foam_material: str = "AlSi10Mg"
target_density: float = 0.5 # g/cm³
expansion_ratio: float = 2.5
molding_temp: float = 380 # °C
# 拔模参数
min_draft_angle: float = 3.0 # °
draft_direction: str = "auto"
friction_coefficient: float = 0.3
# 收缩补偿
apply_shrinkage: bool = True
shrinkage_rate: float = 0.015 # 1.5%
# 高级参数
cavity_count: int = 1
mold_material: str = "P20"
ejection_system: str = "pin"
# 质量标准
warpage_tolerance: float = 0.5 # mm
sink_mark_tolerance: float = 0.1 # mm
```
#### 3.3.2 分模结果
```python
@dataclass
class MoldSplitResult:
"""分模结果"""
# 几何数据
product_shape: TopoDS_Shape
cavity_shape: TopoDS_Shape
core_shape: TopoDS_Shape
parting_surface: TopoDS_Shape
parting_line: List[Point3D]
mold_block: TopoDS_Shape
# 分析数据
product_analysis: ProductAnalysis
quality_report: QualityReport
# 参数数据
params_used: MoldSplitParams
warnings: List[str]
suggestions: List[str]
```
---
## 4. 验收标准
### 4.1 功能验收
| 序号 | 验收项 | 验收标准 | 测试方法 |
|------|--------|----------|----------|
| 1 | 分型面检测 | 能正确分析产品几何并给出分型面建议 | 导入测试产品验证 |
| 2 | 分型线计算 | 计算得到真实的分型线路径(非简化矩形) | 对比验证 |
| 3 | 参数自定义 | 所有参数可自定义设置且生效 | 参数修改测试 |
| 4 | 3D 可视化 | 正确显示分模各组件 | 目视检查 |
| 5 | 交互调整 | 拖拽/滑块等交互响应正常 | 操作测试 |
| 6 | 质量检测 | 输出正确的质量报告 | 报告验证 |
| 7 | 数据导出 | 支持 STEP/JSON 格式导出 | 导出测试 |
### 4.2 性能验收
| 指标 | 目标值 | 说明 |
|------|--------|------|
| 分模速度 | < 30 秒 | 典型产品 |
| 渲染帧率 | > 30 FPS | 交互操作时 |
| 内存占用 | < 2 GB | 典型产品 |
| 并发支持 | 5 用户 | 同时使用 |
### 4.3 质量验收
| 指标 | 目标值 | 说明 |
|------|--------|------|
| 分型面准确率 | > 95% | 自动检测准确率 |
| 质量检测覆盖率 | 100% | 所有检测项 |
| 导出格式兼容 | STEP/IGES | 主流 CAD/CAM |
---
## 5. 实施计划
### 5.1 阶段划分
| 阶段 | 时间 | 内容 |
|------|------|------|
| 第一阶段 | 1-2 周 | 基础框架搭建,参数系统 |
| 第二阶段 | 3-4 周 | 分模算法优化,质量检测 |
| 第三阶段 | 5-6 周 | 可视化增强,交互功能 |
| 第四阶段 | 7-8 周 | 数据接口,测试集成 |
### 5.2 里程碑
- [ ] M1: 完成参数系统 (第 2 周)
- [ ] M2: 完成改进的分模算法 (第 4 周)
- [ ] M3: 完成质量检测模块 (第 6 周)
- [ ] M4: 完成可视化功能 (第 6 周)
- [ ] M5: 完成数据接口 (第 7 周)
- [ ] M6: 完成集成测试 (第 8 周)
---
## 6. 附录
### 6.1 术语表
| 术语 | 英文 | 说明 |
|------|------|------|
| 分型面 | Parting Surface | 模具中分离型腔和型芯的平面 |
| 分型线 | Parting Line | 产品与分型面的交线 |
| 型腔 | Cavity | 模具中形成产品外形的空腔 |
| 型芯 | Core | 模具中形成产品内形的凸起 |
| 拔模角 | Draft Angle | 便于脱模的倾斜角度 |
| 收缩率 | Shrinkage Rate | 冷却后尺寸收缩比例 |
| 发泡倍率 | Expansion Ratio | 发泡前后的体积比 |
### 6.2 参考资料
1. 《塑料模具设计手册》
2. 《铝泡沫材料成型工艺》
3. PythonOCC 官方文档
4. Three.js 官方文档
---
**文档结束**