zhengxuan.zhang
af77af4aab
CNC 标记右键显示 Mark 菜单
...
人工标记右键显示 Mark 菜单
统一提供编辑属性、显示关联图像、删除、恢复位置等菜单
继续屏蔽底层 RoiCanvas 的缩放/保存菜单,避免两个菜单同时出现
2026-08-12 09:56:53 +08:00
zhengxuan.zhang
8b1b2b2b11
fix: show original grayscale and BGA contour overlays
2026-08-11 09:12:46 +08:00
zhengxuan.zhang
b5b693a91c
统一视图叠加层并补充流水线标题
2026-08-07 13:38:56 +08:00
zhengxuan.zhang
ff5a314e61
feat(inspection): 矩阵池BGA圆检测接入主界面实时预览
...
- Stage2 圆检测改为调用真实 BgaDetectionEngineService(取主视口图像转16位灰度),不再默认使用模拟数据
- 新增 BgaBallGroupLabeler,按行列聚类复用 BgaGridGeometry/BgaTargetIdGenerator 生成 A1-D4 分组编号
- 打通 ITaskWizardOverlayService.OverlayChanged 发布/订阅链路:ViewportPanelView 订阅该事件,
通过新增的 WizardOverlayRenderer 在主预览画布上渲染绿色圆+分组编号(以及 Block 网格/校准标记/扫描进度)
- PolygonRoiCanvas 新增 SetWizardOverlayCanvas/ClearWizardOverlay,与现有检测层/检测池层独立管理
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-08-03 15:46:04 +08:00
XplorePlane Developer
957157ae80
fix: 修复编译错误、BGA向导预览、算子重复插入及状态栏消息
...
## Compilation fixes
- Fix XAML namespace reference XplorePlane.Converters → XplorePlane.Helpers (EventLogView, StateDisplayView)
- Add missing using for ISampleTypeRepository / JsonSampleTypeRepository in App.xaml.cs
- Fix ILoggerService.Warn() calls using Exception as first arg instead of message string
- Serialize CncProgram to JSON when passing to MatrixLayout (expects string, not CncProgram object)
- Suppress CS8632 nullable annotation warnings project-wide
## BGA wizard fixes
- Fix preview not showing on step 3: force RefreshBgaPreview() when entering final step
- Add step validation in CanNext() to prevent skipping to preview with invalid inputs
- Notify NextCommand.CanExecuteChanged when inputs change
- Fix RunProgress runtime binding error: set Mode=OneWay for ProgressBar.Value
## Operator toolbox: prevent duplicate insertion
- Add static OperatorTarget property for direct dispatch to active pipeline
- PipelineEditorView registers as toolbox target on load (floating window only)
- CNC page sets initial target; PipelineEditorWindow resets to CNC pipeline on close
- '+' button inserts only to the active pipeline instead of broadcasting to all subscribers
## Pipeline editor status bar messages
- Add StatusBarMessageEvent / StatusBarMessagePayload to CommonEvents.cs
- PipelineEditorViewModel publishes status on all ops (add/remove/reorder/save/execute)
- MainViewModel subscribes and displays on main window bottom status bar
- Auto-clear after timeout (3s info, 5s error)
## docs
- Merge three architecture docs into consolidated XplorePlane-架构与结构说明.md
2026-07-24 15:59:16 +08:00
wei.lw.li
4667602400
fix: 测量工具手柄/顶点大小改为线条粗细的2倍
...
新增GetHandleSize() = GetAdaptiveThickness() × 2 统一自适应计算
CreateMDot/CreateAxisHandle/FootDot 从硬编码Width=2改为GetHandleSize()
移除BGA EdgeDot的硬编码2x2覆盖
图像<1000px: 2x2, 1500-2000px: 4x4, 3000px+: 6x6
2026-07-20 16:08:33 +08:00
zhengxuan.zhang
f022754541
feat(inspection-pool): 检测池与主界面显示整合,实现与CNC运行态互斥
...
将检测池的图像显示、Tile网格预览、检测结果标记统一迁移到主界面实时预览区,
执行监控窗体紧凑化改造;新增与CNC运行态的双向互斥保护,避免二者同时抢占
主视口和硬件资源。
- MainViewportService.SetCncRunning/EnterInspectionPoolMode 改为返回 bool,
实现 CNC 与检测池执行态双向互斥(任一方运行时拒绝另一方启动)
- CncEditorViewModel、InspectionPoolPageViewModel 订阅主视口状态变化,
实时刷新运行按钮门控
- InspectionPoolExecutionService 将拼接图(低剂量概览+正式检测图)推送到
主界面实时预览区,不再仅显示于独立窗体
- 新增独立的检测池叠加通道(InspectionPoolOverlayUpdated),与现有 CNC
检测叠加层解耦;新增 InspectionPoolOverlayRenderer 绘制 Tile 网格红框
与逐目标 PASS/FAIL/MISS 标记
- PolygonRoiCanvas 新增检测池专用叠加层方法,ViewportPanelView 订阅渲染
- InspectionPoolPageView/Window 紧凑化改造,移除大图画布,仅保留方案
管理、X-ray 参数展示、操作按钮与结果表
- InspectionPoolRecipeEditorViewModel 支持 Tile 行列数变更时将红色网格
实时预览到主界面,窗口关闭时自动清除
验证:dotnet build 相关项目均 0 error;dotnet test 全量 309/309 通过,
检测池专项 72/72 通过,无回归。
2026-07-15 11:09:28 +08:00
zhengxuan.zhang
bd55eca5b3
初步的标记功能
2026-06-30 17:30:11 +08:00
zhengxuan.zhang
7f2dd8f822
修复实时模式下图像预览区仍可拖动的问题;非实时模式下鼠标跟随蓝色十字线功能
2026-06-30 13:51:21 +08:00
zhengxuan.zhang
0ae4cff9c9
Merge branch 'Develop/XP' into turbo-002-cnc
2026-06-03 10:02:14 +08:00
zhengxuan.zhang
ad1fdb0230
实时过程中禁用图像预览窗体的滚轮缩放功能
2026-06-01 15:07:28 +08:00
李伟
82b7c32147
测量工具组线宽根据图像分辨率自适应
2026-05-26 11:35:25 +08:00
李伟
77f6a32eda
线灰度和辅助线粗细根据图像分辨率自适应,图像切换时自动重绘
2026-05-26 11:24:36 +08:00
zhengxuan.zhang
92213ffd0d
Merge branch 'Develop/XP' into turbo-002-cnc
...
# Conflicts:
# XplorePlane/Views/Main/MainWindow.xaml
2026-05-22 17:17:29 +08:00
zhengxuan.zhang
2ac84ecc85
修复高级算子的ROI编辑能力
2026-05-21 14:35:49 +08:00
zhengxuan.zhang
1546aec567
优化高级模块CNC执行的可视化
...
CNC执行 → PipelineExecutionService(返回 LastStepOutputData)
→ CncExecutionService(调用 PushDetectionOverlay)
→ MainViewportService(触发 DetectionOverlayUpdated 事件)
→ ViewportPanelView(订阅事件,调用 DetectionOverlayRenderer)
→ PolygonRoiCanvas.SetDetectionOverlayCanvas(插入叠加层 Canvas)
2026-05-19 14:10:16 +08:00
李伟
12938764b1
feat: 新增边缘查找拟合直线工具
...
- 新增 EdgeLineFitProcessor 算子(卡尺边缘检测 + 最小二乘/RANSAC直线拟合)
- 新增 EdgeLineFitPanel 辅助面板(参数配置、交互绘制卡尺)
- 支持任意角度旋转的卡尺区域,4个手柄控制长度/宽度
- 支持多次拟合累积显示,关闭面板后结果保留
- 极性箭头标识搜索方向(B→D / D→B / 双向)
- 卡尺亮绿色1px,拟合直线蓝色2px
- Ribbon快捷工具组新增「直线拟合」按钮
- 添加中英文本地化资源
2026-05-15 15:44:18 +08:00
李伟
b9106acdf0
快捷工具处添加比例尺开关
2026-05-13 09:05:05 +08:00
李伟
8d7fb4e0e3
气泡测量工具:修改鼠标光标
2026-05-06 16:16:22 +08:00
李伟
6fc53c56c7
气泡测量工具:增加圆形ROI
2026-05-06 14:01:56 +08:00
李伟
8dbc274e63
点点距测量工具:端点由点改为线段
2026-05-06 13:28:25 +08:00
李伟
7846445b33
气泡测量工具:打开面板时先清除ROIItems里的残留
2026-05-06 09:10:35 +08:00
李伟
6b35da4cc0
状态栏右下角显示图像像素坐标和灰度
2026-04-30 15:52:01 +08:00
李伟
4d5fa04920
手动测量工具:控制点改为2*2、线宽改为1
2026-04-30 14:01:56 +08:00
李伟
64c22fc088
加载新图像时会自动清除旧的测量结果、叠加层和ROI
2026-04-30 09:25:22 +08:00
李伟
b87480a30f
BGA自动检测工具:BGA检测结果以半透明图层叠加在canvas上、添加图标,统一按钮样式
2026-04-29 09:32:21 +08:00
李伟
8b2cf01fe2
PolygonRoiCanvas: ROI右键删除顶点阻止菜单弹出、IsEditable属性控制编辑状态
2026-04-28 17:38:21 +08:00
李伟
9d059709bd
气泡测量: 修复清除后无法再次使用、VoidLimit同步、调整ROI后重新计算
2026-04-28 14:39:14 +08:00
李伟
fab0668da8
BGA辅助面板:气泡/焊球模式切换、VoidLimit面板调节、去掉标签右键编辑、未完成组气泡可拖拽调整
2026-04-27 14:29:54 +08:00
李伟
5a1a992abd
气泡测量:ROI上方显示空隙率和PASS/FAIL判定标签
2026-04-27 13:47:51 +08:00
李伟
68c779cfe1
气泡测量:画笔涂抹标记、橡皮擦清除、ROI外可正常拖动图像
2026-04-27 13:36:44 +08:00
李伟
179a6a6755
气泡测量第三步:魔棒flood fill,灰度阈值连通区域标记,空隙率实时计算
2026-04-27 13:11:00 +08:00
李伟
0c8d8afc51
气泡测量:工具面板UI、BubbleMeasure模式、矩形ROI绘制/拖动/右下角调整大小、工具切换联动
2026-04-27 11:32:06 +08:00
李伟
e7ae7085df
BGA手动空隙测量:画气泡圆+焊球圆交互、拖拽调整、空隙率计算、VoidLimit编辑、右键删除
2026-04-27 10:38:56 +08:00
李伟
b593805f11
测量工具标号:各类测量标签显示序号,删除后自动重编号
2026-04-24 16:32:21 +08:00
李伟
5900907236
通孔填锡率:标签显示THTLimit参数,右键标签可编辑阈值,椭圆轴手柄调整
2026-04-24 16:18:06 +08:00
李伟
faa4e61d98
集成通孔填锡率测量:四椭圆交互、中心拖拽、长短轴手柄调整、填锡率实时计算与PASS/FAIL判定
2026-04-24 15:38:25 +08:00
李伟
7fdc6adb44
集成测量工具:点点距、点线距、角度测量;十字辅助线;右键菜单;图像自适应窗口优化
2026-04-24 14:36:52 +08:00
李伟
9e39447144
图像切换时十字辅助线跟随刷新
2026-04-24 11:01:17 +08:00
李伟
ef4e1f9eda
点线距测量工具实现
2026-04-24 10:53:51 +08:00
李伟
eefbd1d1c8
将十字线以及点点距ROI实现迁移到XP.ImageProcessing.RoiControl中
2026-04-24 09:26:30 +08:00
李伟
d5b421b811
使用像素尺寸,避免DPI不同导致DIP尺寸与实际像素不一致
2026-04-23 16:53:17 +08:00
李伟
3aa64843c8
去掉图像显示区的放大、缩小、适应按钮;改为鼠标右键弹出选择菜单
2026-04-23 16:16:49 +08:00
李伟
cd03e30bb8
修复注释乱码
2026-04-14 17:12:31 +08:00
李伟
ace1c70ddf
规范类名及命名空间名称
2026-04-13 14:36:18 +08:00