- Implemented detailed design documents for model viewing and 3D interaction, including features like model loading, basic interactions, and performance metrics. - Added documentation for model statistics, focusing on structured output during the viewing process, including part counts and assembly hierarchy. - Developed design notes for multi-visualization of model analysis results, covering classification statistics, feature analysis, and report export capabilities. - Introduced batch processing functionality documentation, detailing task creation, scheduling, and historical tracking. - Created logs generation documentation for operation execution, emphasizing traceability and auditability of actions taken. - Compiled a list of undeveloped features based on current project progress, outlining requirements and technical specifications for future implementation.
217 lines
6.7 KiB
Markdown
217 lines
6.7 KiB
Markdown
# 5.2.XX管理模块设计说明
|
||
|
||
## 5.2.1.XX设计说明。
|
||
|
||
### 5.2.1.1.模块描述。
|
||
|
||
本模块对应 `1.3.1【模型分析-具备多重模型分析能力】`,包含两条主能力链路:
|
||
|
||
1. 薄壳化分析:针对模型外部件(保留外部轮廓)进行轻量化分析与删除建议。
|
||
2. 模型层级分析:针对模型层级命名进行层级查询、分析归类,并形成删除/保留策略。
|
||
|
||
执行机制:
|
||
所有分析均通过已连接的 CAD 插件在 CAD 内核内执行,前端负责参数下发、结果展示、交互决策。
|
||
|
||
说明:你原文中的“横型/横糊化”按业务语义理解为“模型/模糊化”。
|
||
|
||
### ·5.2.1.2.功能·。
|
||
|
||
1. 薄壳化分析(已实现核心):
|
||
- 调用 `startShellAnalysis` 发起分析。
|
||
- 参数含 `preserveExternalSurfaces=true`,聚焦外部件保留。
|
||
- 输出分类:`safeDeletions / suggestedDeletions / preserveList`。
|
||
- 输出统计:体积减少、文件减小、性能提升估计。
|
||
- 支持前端筛选、分页、选择、批量删除联动。
|
||
2. 模型层级分析(已实现核心):
|
||
- 调用 `startHierarchyAnalysis` 获取层级结构。
|
||
- 展示树视图/表格视图。
|
||
- 按 `deletion_safety` 分类(safe/risky/forbidden)。
|
||
- 支持子层级按需展开加载(children API)。
|
||
3. 预估时间:
|
||
- 在分析前给出预计耗时(模型规模驱动)。
|
||
- 在分析中展示剩余时间动态更新。
|
||
4. 分析步骤可视化:
|
||
- “准备模型 -> 特征提取 -> 多算法计算 -> 方案融合 -> 结果输出”步骤条。
|
||
5. 层级模糊查询与归类:
|
||
- 支持按层级名称、路径关键字、类型进行模糊检索与归类视图。
|
||
6. 多算法赋权最优方案:
|
||
- 对每种算法方案赋权并融合,输出综合最优建议。
|
||
|
||
### 5.2.1.3.性能。
|
||
|
||
1. 分析计算在 CAD 插件侧完成,前端负担主要是结果渲染。
|
||
2. 层级树采用“按需加载子节点”,避免一次性加载全量层级造成卡顿。
|
||
3. 薄壳化结果列表支持分页和前端筛选,保证大结果集可操作性。
|
||
4. 步骤可视化采用事件流更新,避免高频全量重绘。
|
||
|
||
### 5.2.1.4.输入输出项·。
|
||
|
||
#### 1.字段输入输出。
|
||
|
||
薄壳化输入(当前):
|
||
|
||
1. `software_type=creo`
|
||
2. `analysisType=surface_shell`
|
||
3. `preserveExternalSurfaces=true`
|
||
4. `minWallThickness`
|
||
5. `confidenceThreshold`
|
||
|
||
薄壳化输出(当前):
|
||
|
||
1. `safeDeletions[]`
|
||
2. `suggestedDeletions[]`
|
||
3. `preserveList[]`
|
||
4. `estimatedReduction.{volumeReduction,fileSizeReduction,performanceImprovement}`
|
||
5. `analysis_time`
|
||
|
||
层级分析输入(当前):
|
||
|
||
1. `software_type=creo`
|
||
2. `project_name`
|
||
3. `max_depth`
|
||
4. `include_geometry`
|
||
5. `target_level`
|
||
|
||
层级分析输出(当前):
|
||
|
||
1. `hierarchy[]`
|
||
2. `deletion_recommendations.{safe_deletions,risky_deletions}`
|
||
3. `total_components`
|
||
4. `total_levels`
|
||
5. 组件字段:`filename/path/type/level/deletion_safety/children_count`
|
||
|
||
分析输出:
|
||
|
||
1. `estimated_time_seconds`
|
||
2. `progress_steps[]`(步骤状态、百分比、耗时)
|
||
3. `algorithm_scores[]`(各算法得分)
|
||
4. `fusion_result`(综合权重与最终方案)
|
||
|
||
#### 2.界面交互输入输出。
|
||
|
||
输入交互:
|
||
|
||
1. 用户点击薄壳化分析/层级分析。
|
||
2. 用户按分类筛选、分页、选择组件执行删除。
|
||
3. 用户切换树/表视图、展开子层级。
|
||
4. 输入模糊查询关键字、查看步骤进度。
|
||
|
||
输出交互:
|
||
|
||
1. 分析摘要卡片、结果表格、层级树。
|
||
2. 删除建议标签(安全/风险/禁止)。
|
||
3. 预计耗时展示、步骤可视化、最优方案解释。
|
||
|
||
### 5.2.1.5.算法
|
||
|
||
薄壳化算法(当前链路):
|
||
|
||
1. 插件提取模型外部壳层特征。
|
||
2. 对零件进行可删除性判定并给出置信度。
|
||
3. 输出三类建议集合(安全删/建议删/保留)。
|
||
|
||
层级分析算法(当前链路):
|
||
|
||
1. 解析装配层级结构与命名信息。
|
||
2. 对节点做风险判定并打上 `deletion_safety`。
|
||
3. 生成层级删除建议集合。
|
||
|
||
多算法赋权融合(目标设计):
|
||
|
||
1. 并行算法层:
|
||
- `A1` 结构依赖算法(装配关系、父子约束)
|
||
- `A2` 几何复杂度算法(体积、面数、特征密度)
|
||
- `A3` 规则引擎算法(命名规则、类型黑白名单)
|
||
2. 归一化:将各算法输出标准化为 `[0,1]` 分值。
|
||
3. 赋权:`score = w1*A1 + w2*A2 + w3*A3`(`w1+w2+w3=1`)。
|
||
4. 决策阈值:
|
||
- `score >= T_safe` -> 安全删除
|
||
- `T_risk <= score < T_safe` -> 建议人工确认
|
||
- `< T_risk` -> 保留
|
||
5. 输出最优方案:按综合权重排序给出 Top 方案及解释项。
|
||
|
||
### 5.2.1.6.流程逻辑
|
||
|
||
1. 用户在模型分析页选择“薄壳化分析”或“层级分析”。
|
||
2. 前端校验 CAD 插件连接状态。
|
||
3. 调用对应 API 发起分析。
|
||
4. 插件执行多重分析并回传结果。
|
||
5. 前端展示摘要、列表/树结构、删除建议。
|
||
6. 用户可继续删除组件或进入后续优化页。
|
||
7. 分析流程:分析前给预估时间,分析中展示步骤,分析后输出融合最优方案。
|
||
|
||
### ·5.2.1.7.接口。
|
||
|
||
当前接口:
|
||
|
||
1. `creoApi.startShellAnalysis()`
|
||
2. `creoApi.startHierarchyAnalysis()`
|
||
3. `creoApi.getChildrenComponents(componentPath, componentId?)`
|
||
4. `creoApi.deleteComponentsByPath(componentPaths, forceDelete?)`
|
||
|
||
业务接口:
|
||
|
||
1. `creoApi.getAnalysisEstimate(params)`:返回预估耗时。
|
||
2. `creoApi.getAnalysisProgress(taskId)`:返回步骤状态与进度。
|
||
3. `creoApi.searchHierarchyFuzzy(query)`:层级模糊查询。
|
||
4. `creoApi.getFusionDecision(params)`:返回多算法赋权融合结果。
|
||
|
||
### 5.2.1.8.注释设计
|
||
|
||
建议注释策略:
|
||
|
||
1. 明确“外部件薄壳化”判定依据(外表面保留、内部件识别)。
|
||
2. 明确层级 `deletion_safety` 标签语义和来源。
|
||
3. 对赋权公式、阈值含义、版本号做注释(便于调参追踪)。
|
||
4. 对“预估时间”为估算值而非硬实时承诺做标注。
|
||
|
||
### 5.2.1.9.数据结构。
|
||
|
||
薄壳化结果结构(示意):
|
||
|
||
```
|
||
{
|
||
"analysis_time": "2026-02-26 10:30:00",
|
||
"estimatedReduction": {
|
||
"volumeReduction": "35%",
|
||
"fileSizeReduction": "42%",
|
||
"performanceImprovement": "28%"
|
||
},
|
||
"safeDeletions": [],
|
||
"suggestedDeletions": [],
|
||
"preserveList": []
|
||
}
|
||
```
|
||
|
||
层级组件结构(示意):
|
||
|
||
```
|
||
{
|
||
"filename": "ASM0001.asm",
|
||
"path": "top.asm/ASM0001.asm",
|
||
"type": "ASM",
|
||
"level": 1,
|
||
"children_count": 12,
|
||
"deletion_safety": "safe"
|
||
}
|
||
```
|
||
|
||
赋权融合结构(目标设计):
|
||
|
||
```
|
||
{
|
||
"algorithm_scores": {
|
||
"structure": 0.82,
|
||
"geometry": 0.67,
|
||
"rule_engine": 0.74
|
||
},
|
||
"weights": {
|
||
"structure": 0.4,
|
||
"geometry": 0.35,
|
||
"rule_engine": 0.25
|
||
},
|
||
"final_score": 0.75,
|
||
"decision": "recommended_delete"
|
||
}
|
||
```
|