Files
AohDrllTools/Docs/刀具列表拖动排序功能说明.md
2025-12-07 20:25:27 +08:00

3.1 KiB
Raw Permalink Blame History

刀具列表拖动排序功能说明

功能概述

本功能为 DrillTools 应用程序添加了一个可拖动排序的刀具列表控件,允许用户通过直观的拖放操作调整刀具的处理顺序,并将新顺序应用到钻带输出中。

主要特性

1. 刀具信息显示

  • 刀具编号显示刀具编号格式T01, T02 等)
  • 孔径(mm)显示刀具孔径保留3位小数
  • 普通孔数:显示普通圆孔的数量
  • 槽孔数:显示槽孔的钻孔数量
  • 总孔数:显示总钻孔数量

2. 拖放排序

  • 点击并拖动刀具项到新位置
  • 释放鼠标完成排序
  • 支持视觉反馈,拖动时显示目标位置

3. 数据操作

  • 加载示例数据:加载预设的示例刀具数据用于测试
  • 加载钻带文件:支持通过对话框选择钻带文件
  • 拖放文件:支持直接将钻带文件拖入窗口
  • 保存刀具顺序:保存当前的刀具排序(可扩展实现)
  • 应用顺序到钻带:将排序后的刀具顺序应用到钻带输出

4. 撤销/重做

  • 撤销:撤销上一次排序操作
  • 重做:重做已撤销的操作

使用方法

1. 启动应用程序

运行 DrillTools 应用程序,主窗口将显示刀具列表和钻带内容区域。

2. 加载数据

  • 点击"加载示例数据"按钮加载测试数据
  • 或点击"加载钻带文件"按钮选择钻带文件
  • 或直接将钻带文件拖入窗口

3. 排序刀具

  • 在刀具列表中,点击要移动的刀具项
  • 按住鼠标左键,拖动到目标位置
  • 释放鼠标完成排序

4. 应用排序

  • 点击"应用顺序到钻带"按钮
  • 系统将根据新的刀具顺序重新生成钻带内容
  • 右侧钻带内容区域将显示更新后的内容

技术实现

1. 数据模型

  • ToolItem 类:封装刀具信息,实现 INotifyPropertyChanged 接口
  • MainWindowViewModel 类:实现 MVVM 模式,管理刀具列表和业务逻辑

2. 拖放功能

  • DragDropHelper 类:提供拖放功能的实现
  • 处理 PreviewMouseLeftButtonDown、PreviewMouseMove 和 Drop 事件
  • 使用 VisualTreeHelper 查找目标元素

3. 钻带处理

  • 扩展 DrillTapeProcessor 类,添加重新排序功能
  • 解析原始钻带,按新顺序重新生成钻带内容

4. 用户界面

  • 使用 WPF ListView 控件显示刀具列表
  • 自定义样式提供良好的视觉反馈
  • 响应式布局适应不同窗口大小

注意事项

  1. 文件格式:支持 .txt 和 .dr2 格式的钻带文件
  2. 加密文件:使用 cmd 命令读取加密钻带文件内容
  3. 数据完整性:排序操作不会修改原始钻带数据,只影响输出顺序
  4. 性能考虑:大量刀具时可能需要优化拖放性能

扩展功能建议

  1. 保存/加载排序方案:针对不同料号保存和加载排序方案
  2. 批量操作:支持多选和批量排序操作
  3. 排序规则:添加自动排序规则(如按孔径大小排序)
  4. 导入/导出:支持导入/导出刀具排序配置
  5. 预览功能:在应用排序前预览钻带输出变化