diff --git a/WeldingComponents/WeldingCommon/Views/Recipes/UCScannerObjectTeachingControlBox.xaml b/WeldingComponents/WeldingCommon/Views/Recipes/UCScannerObjectTeachingControlBox.xaml
index ec55db9..1587435 100644
--- a/WeldingComponents/WeldingCommon/Views/Recipes/UCScannerObjectTeachingControlBox.xaml
+++ b/WeldingComponents/WeldingCommon/Views/Recipes/UCScannerObjectTeachingControlBox.xaml
@@ -67,11 +67,13 @@
-
+
+
-
-
+
+
+
diff --git a/WeldingComponents/WeldingCommon/Views/Recipes/UCScannerObjectTeachingControlBoxViewModel.cs b/WeldingComponents/WeldingCommon/Views/Recipes/UCScannerObjectTeachingControlBoxViewModel.cs
index 17319eb..c23f8d2 100644
--- a/WeldingComponents/WeldingCommon/Views/Recipes/UCScannerObjectTeachingControlBoxViewModel.cs
+++ b/WeldingComponents/WeldingCommon/Views/Recipes/UCScannerObjectTeachingControlBoxViewModel.cs
@@ -45,6 +45,7 @@ namespace WeldingCommon.Views
public ICommand CMD_LaserReadyCheck { get; }
public ICommand CMD_ImportObjectFromDXF { get; }
public ICommand CMD_ToggleScannerCamView { get; }
+ public ICommand CMD_ShowSelectFieldWindow { get; }
private readonly IAuroraEnvironment _Aurora;
private SystemParameter _SystemParameter;
@@ -106,6 +107,9 @@ namespace WeldingCommon.Views
// 레시피 화면에서 토글로 띄우는 스캐너 카메라 + 모션 창 (재사용을 위해 Hide/Show)
private WDScannerCamMotion _ScannerCamWindow;
+ // Scout Field 선택 팝업 (매뉴얼 화면과 동일한 창을 레시피 화면에서도 사용)
+ private WDSelectScoutField _SelectFieldWindow;
+
private WinSequenceDiagram _WinSequenceDiagramScoutNormal;
private WinSequenceDiagram _WinSequenceDiagramScoutFlyingVision;
private WinSequenceDiagram _WinSequenceDiagramTeachingRun;
@@ -144,6 +148,7 @@ namespace WeldingCommon.Views
CMD_LaserReadyCheck = new DelegateCommand(PerformCmdLaserReadyCheck);
CMD_ImportObjectFromDXF = new DelegateCommand(PerformCmdImportObjectFromDXF);
CMD_ToggleScannerCamView = new DelegateCommand(PerformCmdToggleScannerCamView);
+ CMD_ShowSelectFieldWindow = new DelegateCommand(PerformCmdShowSelectFieldWindow, CanShowSelectFieldWindow);
_Aurora.EventObservable.AsObservable(AuroraSysEvent.SYS_SETTING_CHANGED)
.ObserveOnDispatcher()
@@ -532,6 +537,31 @@ namespace WeldingCommon.Views
}
}
+ private bool CanShowSelectFieldWindow(object o) => _SelectFieldWindow == null;
+
+ private void PerformCmdShowSelectFieldWindow(object o)
+ {
+ // 매뉴얼 화면과 동일한 Scout Field 선택 팝업을 띄움. 저장은 팝업 VM(PerformCmdSave)에서 자체 처리.
+ try {
+ Application.Current.Dispatcher.Invoke(
+ new Action(() => {
+ if (_SelectFieldWindow != null) {
+ _SelectFieldWindow.Close();
+ _SelectFieldWindow = null;
+ }
+
+ _SelectFieldWindow = new WDSelectScoutField(_Aurora) {
+ Owner = Application.Current.MainWindow
+ };
+ _SelectFieldWindow.Closed += (sender, _) => { _SelectFieldWindow = null; };
+ _SelectFieldWindow.Show();
+ }));
+ }
+ catch (Exception ex) {
+ Log.E($"[PerformCmdShowSelectFieldWindow] 실패: {ex.Message}");
+ }
+ }
+
private void PerformCmdImportObjectFromDXF(object obj)
{
System.Windows.Forms.FileDialog dlg = new System.Windows.Forms.OpenFileDialog();