957157ae80
## 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
129 lines
3.0 KiB
JSON
129 lines
3.0 KiB
JSON
{
|
|
"DetectorCentering": {
|
|
"Name": "探测器居中标定",
|
|
"Type": "DetectorCentering",
|
|
"MotionTimeoutMs": 30000,
|
|
"SettleDelayMs": 500,
|
|
"FrameCount": 1,
|
|
"Steps": [
|
|
{
|
|
"Index": 0,
|
|
"Description": "探测器居中位置",
|
|
"StageX": 0.0,
|
|
"StageY": 0.0,
|
|
"SourceZ": -200.0,
|
|
"DetectorZ": 300.0,
|
|
"DetectorSwing": 0.0,
|
|
"StageRotation": 0.0
|
|
}
|
|
]
|
|
},
|
|
"ZCalibration": {
|
|
"Name": "Z轴标定",
|
|
"Type": "ZCalibration",
|
|
"MotionTimeoutMs": 30000,
|
|
"SettleDelayMs": 500,
|
|
"FrameCount": 1,
|
|
"Steps": [
|
|
{
|
|
"Index": 0,
|
|
"Description": "Z标定 - 位置1",
|
|
"StageX": 0.0,
|
|
"StageY": 0.0,
|
|
"SourceZ": -150.0,
|
|
"DetectorZ": 250.0,
|
|
"DetectorSwing": 0.0,
|
|
"StageRotation": 0.0
|
|
},
|
|
{
|
|
"Index": 1,
|
|
"Description": "Z标定 - 位置2",
|
|
"StageX": 0.0,
|
|
"StageY": 0.0,
|
|
"SourceZ": -200.0,
|
|
"DetectorZ": 300.0,
|
|
"DetectorSwing": 0.0,
|
|
"StageRotation": 0.0
|
|
},
|
|
{
|
|
"Index": 2,
|
|
"Description": "Z标定 - 位置3",
|
|
"StageX": 0.0,
|
|
"StageY": 0.0,
|
|
"SourceZ": -250.0,
|
|
"DetectorZ": 350.0,
|
|
"DetectorSwing": 0.0,
|
|
"StageRotation": 0.0
|
|
}
|
|
]
|
|
},
|
|
"RotationTableCenter": {
|
|
"Name": "旋转中心检测",
|
|
"Type": "RotationTableCenter",
|
|
"MotionTimeoutMs": 60000,
|
|
"SettleDelayMs": 1000,
|
|
"FrameCount": 1,
|
|
"Steps": [
|
|
{
|
|
"Index": 0,
|
|
"Description": "旋转0°",
|
|
"StageX": 0.0,
|
|
"StageY": 0.0,
|
|
"SourceZ": -200.0,
|
|
"DetectorZ": 300.0,
|
|
"DetectorSwing": 0.0,
|
|
"StageRotation": 0.0
|
|
},
|
|
{
|
|
"Index": 1,
|
|
"Description": "旋转90°",
|
|
"StageX": 0.0,
|
|
"StageY": 0.0,
|
|
"SourceZ": -200.0,
|
|
"DetectorZ": 300.0,
|
|
"DetectorSwing": 0.0,
|
|
"StageRotation": 90.0
|
|
},
|
|
{
|
|
"Index": 2,
|
|
"Description": "旋转180°",
|
|
"StageX": 0.0,
|
|
"StageY": 0.0,
|
|
"SourceZ": -200.0,
|
|
"DetectorZ": 300.0,
|
|
"DetectorSwing": 0.0,
|
|
"StageRotation": 180.0
|
|
},
|
|
{
|
|
"Index": 3,
|
|
"Description": "旋转270°",
|
|
"StageX": 0.0,
|
|
"StageY": 0.0,
|
|
"SourceZ": -200.0,
|
|
"DetectorZ": 300.0,
|
|
"DetectorSwing": 0.0,
|
|
"StageRotation": 270.0
|
|
}
|
|
]
|
|
},
|
|
"CTCalibration": {
|
|
"Name": "CT标定",
|
|
"Type": "CTCalibration",
|
|
"MotionTimeoutMs": 60000,
|
|
"SettleDelayMs": 1000,
|
|
"FrameCount": 1,
|
|
"Steps": [
|
|
{
|
|
"Index": 0,
|
|
"Description": "CT标定 - 起始位",
|
|
"StageX": 0.0,
|
|
"StageY": 0.0,
|
|
"SourceZ": -200.0,
|
|
"DetectorZ": 300.0,
|
|
"DetectorSwing": 0.0,
|
|
"StageRotation": 0.0
|
|
}
|
|
]
|
|
}
|
|
}
|