Files
AohDrllTools/Docs/使用指定钻带的刀序功能说明.md
Mr.Xia 837cf6fb12 新增钻带刀序多种排序功能及相关文档
本次提交主要内容如下:

- 新增“排序功能”菜单,支持重排刀序、生成/应用排序种子、按参考钻带重排等多种排序方式,提升刀具顺序管理灵活性。
- 支持用户选择参考钻带文件或排序种子文件,自动重排当前刀具顺序,并提供详细的匹配校验、警告提示和重排前后对比确认。
- 新增生成通用排序种子文件(General_sort.txt)功能,便于批量产品排序。
- 优化界面布局,提升信息展示美观性和空间利用率。
- 增加异常处理和详细注释,提升健壮性和可维护性。
- 新增多个文档,详细说明“使用指定钻带的刀序”功能的实现、使用方法、演示流程及开发过程中的问题修复,便于开发和用户理解。
- 新增两个排序种子文件示例(General_sort.txt、s40024079g0-a2-cs-jp-sort.txt),用于刀具顺序自动重排。
- 其他无实际代码变更的文件未影响功能。

本次改动极大提升了钻带刀具顺序管理的自动化、灵活性和用户体验,适用于多样化的生产场景。
2025-12-28 13:16:41 +08:00

3.6 KiB
Raw Permalink Blame History

使用指定钻带的刀序功能说明

功能概述

"使用指定钻带的刀序"功能允许用户选择一个之前排序好的钻带文件,直接读取其刀序到内存中进行重排操作,而不需要生成本地排序种子文件。

使用步骤

  1. 加载当前钻带文件

    • 点击"加载钻带文件"按钮或直接拖拽钻带文件到窗口
    • 系统会解析并显示当前钻带的刀具信息
  2. 选择参考钻带文件

    • 点击菜单栏中的"排序功能" → "使用指定钻带的刀序"
    • 在弹出的文件选择对话框中选择一个之前排序好的钻带文件
  3. 系统验证

    • 系统会自动验证当前钻带与参考钻带的刀具数量和直径是否匹配
    • 如果不匹配,会显示详细的错误信息并中止操作
    • 如果机台码刀具位置不一致,会显示警告信息
  4. 确认重排

    • 验证通过后,系统会显示重排前后的对比窗口
    • 用户可以查看刀具顺序的变化情况
    • 点击"确认"执行重排,点击"取消"保持原顺序
  5. 完成重排

    • 系统会按照参考钻带的刀序重新排列当前刀具
    • 自动重新编号T01, T02, T03...
    • 更新钻带内容并显示成功信息

验证规则

严格匹配原则

  • 刀具数量必须一致:当前钻带和参考钻带的刀具数量必须完全相同
  • 刀具直径必须匹配:所有刀具的直径都必须在两个钻带中存在(考虑浮点数精度)
  • 机台码位置检查:检查机台码刀具位置是否一致,不一致时给出警告

错误处理

  • 文件不存在:提示文件不存在错误
  • 文件内容为空:提示文件内容为空错误
  • 格式错误:提示刀具定义格式错误
  • 数量不匹配:显示具体的数量差异
  • 直径不匹配:显示哪些刀具在其中一个钻带中但不在另一个中

技术特点

内存操作

  • 所有排序操作都在内存中完成
  • 不生成本地排序种子文件
  • 直接从参考钻带文件读取刀序

复用现有基础设施

  • 使用现有的刀具排序算法
  • 使用现有的重排确认窗口
  • 使用现有的重新编号机制

用户友好

  • 异步处理避免界面冻结
  • 详细的进度提示
  • 清晰的错误和警告信息
  • 直观的重排前后对比

注意事项

  1. 文件格式要求参考钻带文件必须是标准的钻带格式包含TxxCxxx格式的刀具定义
  2. 刀具匹配:只有当两个钻带的刀具完全匹配时才能进行重排
  3. 机台码处理:机台码刀具会保持原始编号,不会重新编号
  4. 备份机制:重排操作会自动创建原文件的备份

与现有功能的关系

  • 互补功能:本功能与现有的"生成排序种子"功能互为补充
  • 保留原功能:原有的基于种子文件的排序功能完全保留
  • 使用场景
    • 生成排序种子:用于长期保存和重复使用排序方案
    • 使用指定钻带的刀序:用于一次性快速应用另一个钻带的排序

示例场景

场景1相似产品快速重排

  • 有多个相似产品的钻带文件
  • 其中一个已经完成了刀具排序优化
  • 使用该功能可以快速将优化后的刀序应用到其他相似产品

场景2临时排序需求

  • 不需要长期保存排序方案
  • 只是想临时参考另一个钻带的刀序
  • 使用该功能可以避免创建额外的种子文件

测试功能

开发人员可以使用"测试参考钻带功能"按钮来测试新功能的正确性:

  • 自动加载示例数据
  • 创建模拟参考钻带文件
  • 执行完整的重排流程
  • 在调试输出中显示测试结果