From 9265b22328e30881eb6e279cab9e08bd28580eb9 Mon Sep 17 00:00:00 2001 From: choiminyeong Date: Tue, 17 Mar 2026 16:07:19 +0900 Subject: [PATCH] =?UTF-8?q?=EC=82=AC=EC=9A=A9=EC=9E=90=20=EC=A1=B0?= =?UTF-8?q?=EC=9E=91=20=EC=8B=9C=20Log=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Machines/ILSOS_CCW_H52A/EquipmentSetup.cs | 29 +++++-- .../LASA/GUI/Canvas/CanvasCtrl/Canvas.cs | 82 ++++++++++++------- .../UCScannerObjectTeachingViewModel.cs | 1 + 3 files changed, 75 insertions(+), 37 deletions(-) diff --git a/Machines/ILSOS_CCW_H52A/EquipmentSetup.cs b/Machines/ILSOS_CCW_H52A/EquipmentSetup.cs index d455e8d..5d4afdc 100644 --- a/Machines/ILSOS_CCW_H52A/EquipmentSetup.cs +++ b/Machines/ILSOS_CCW_H52A/EquipmentSetup.cs @@ -44,12 +44,10 @@ using WeldingCommon.Views; using WeldingCommon.Vision.Factory; using static WeldingCommon.Vision.Factory.VisionFactory; -namespace ILSOS_CCW_H52A -{ - internal class EquipmentSetup : CommonEquipmentSetup, IEquipmentSetup - { +namespace ILSOS_CCW_H52A { + internal class EquipmentSetup : CommonEquipmentSetup, IEquipmentSetup { private SequenceBuilder _SeqAutoRunCCWH52A_Builder; - + public Logger Log = new Logger("EquipmentSetup"); public override void BuildMainStatusView(MainStatusBuilder builder) { base.BuildMainStatusView(builder); @@ -92,7 +90,7 @@ namespace ILSOS_CCW_H52A var seq = AuroraEnv.SequenceEntry[SequenceIds.SeqAutoRunCCWH52A] as ISequence; seq.RunStateChanged += AutoRunSeq_RunStateChanged; } - + private void AutoRunSeq_RunStateChanged(object sender, (string sequenceId, SequenceRunState state) e) { //AutoRun ìƒ�황ì—�서 Recipe Save Lock @@ -103,15 +101,23 @@ namespace ILSOS_CCW_H52A WeldingRecipeManager.OnActiveReloaded(); else WeldingRecipeManager.ReloadWeldingRecipe(WeldingRecipeManager.SelectedRecipe.name); - + _UCRecipe.IsEnabled = e.state != SequenceRunState.Running; + + }); + + Application.Current.Dispatcher.Invoke(() => { + if (AutoRunState) + Log.E($"AutoRun Start. Recipe Lock Enable True"); + else + Log.E("AutoRun End. Recipe Lock Enable False"); }); } private void OnPermissionChanged(EventMessage message) { bool permissionOn = ApplicationExt.PermissionLevel <= (ushort)PermissionLevel.LEVEL3; AuroraEnv.RecipeManager.SaveLock(CommonRecipeIds.ScannerObjectTeaching, !permissionOn); - + // Login 권한ì�´ 없어지면 Activeë�œ 레시피로 변경하ë�„ë¡� 함 Application.Current.Dispatcher.Invoke(() => { if (!permissionOn) @@ -123,6 +129,13 @@ namespace ILSOS_CCW_H52A //LogOut ìƒ�황ì—�서 Recipe Save Lock //LogOut ìƒ�황ì—�서 Reicpe 화면 수정할 수 ì—†ë�„ë¡� 함 Application.Current.Dispatcher.Invoke(() => { _UCRecipe.IsEnabled = permissionOn; }); + Application.Current.Dispatcher.Invoke(() => { + if (!permissionOn) + Log.E($"User LogOut. Recipe Lock Enable True"); + else + Log.E("User Login. Recipe Lock Enable False"); + }); + } // For Selection LaserDevice diff --git a/WeldingComponents/LASA/GUI/Canvas/CanvasCtrl/Canvas.cs b/WeldingComponents/LASA/GUI/Canvas/CanvasCtrl/Canvas.cs index 1479f87..715cc8b 100644 --- a/WeldingComponents/LASA/GUI/Canvas/CanvasCtrl/Canvas.cs +++ b/WeldingComponents/LASA/GUI/Canvas/CanvasCtrl/Canvas.cs @@ -7,6 +7,7 @@ using System.Drawing; using System.Drawing.Text; using System.Linq; using System.Security.Cryptography.X509Certificates; +using System.Text; using System.Windows.Forms; namespace CoreUnit.Control.UserControl.Canvas @@ -1309,7 +1310,7 @@ namespace CoreUnit.Control.UserControl.Canvas if (m_commandType == eCommandType.select || m_commandType == eCommandType.move) { m_commandType = eCommandType.pan; } - + Log.E("Recipe View Command Pan"); UpdateCursor(); } @@ -1323,11 +1324,16 @@ namespace CoreUnit.Control.UserControl.Canvas public void CommandDeleteSelected() { + StringBuilder sb = new StringBuilder(); if (m_model.SelectedCount > 0) { + foreach(var layer in m_model.SelectedObjects) { + sb.Append($"{layer.No + 1} "); + } m_model.DeleteObjects(m_model.SelectedObjects); m_model.ClearSelectedObjects(); DoInvalidate(true); UpdateCursor(); + Log.E($"Layer Delete Success. No. [{sb}]"); } } @@ -1344,6 +1350,7 @@ namespace CoreUnit.Control.UserControl.Canvas public void CommandScaleToFit() { Model.Zoom = ((DataModel)Model).ScaleToFit; + Log.E("Recipe View Scale to Fit"); DoInvalidate(true); } @@ -1357,6 +1364,7 @@ namespace CoreUnit.Control.UserControl.Canvas { SetCenter(new UnitPoint(0, 0)); DoInvalidate(true); + Log.E("Recipe View Focus Center"); } public void CommandZoomIn() @@ -1532,14 +1540,15 @@ namespace CoreUnit.Control.UserControl.Canvas if ((System.Windows.Forms.Control.ModifierKeys & Keys.Control) == Keys.Control) { if (e.KeyCode >= Keys.D1 && e.KeyCode <= Keys.D9) { - int id = e.KeyCode - Keys.D0; + //int id = e.KeyCode - Keys.D0; - foreach (var obj in m_model.ActiveLayer.Objects) { - if (obj.ScannerParamID == id) - m_model.AddSelectedObject(obj); - } - - DoInvalidate(true); + // CMY - Arc¸¦ ¼±ÅÃÇÏ·Á°í Çϸé OverFlow ¶á´Ù.. È®ÀÎ ÇÊ¿ä + //foreach (var obj in m_model.ActiveLayer.Objects) { + // if (obj.ScannerParamID == id) + // m_model.AddSelectedObject(obj); + //} + //Log.I($"Recipe View Parameter All Select. ID : {id}"); + //DoInvalidate(true); } else { switch (e.KeyCode) { case Keys.G: @@ -1549,6 +1558,7 @@ namespace CoreUnit.Control.UserControl.Canvas case Keys.S: RunningSnapsModeChange(); + Log.E("Recipe View Key Input Save!"); break; case Keys.Right: @@ -1556,6 +1566,7 @@ namespace CoreUnit.Control.UserControl.Canvas float offsetValue = evtGetOffsetValue(); ((DataModel)Model).RotateObjects((float)(-1 * offsetValue), Model.SelectedObjects, true); DoInvalidate(true); + Log.E("Recipe View Key Input Right Rotate"); } break; @@ -1564,56 +1575,69 @@ namespace CoreUnit.Control.UserControl.Canvas float offsetValue = evtGetOffsetValue(); ((DataModel)Model).RotateObjects((float)offsetValue, Model.SelectedObjects, true); DoInvalidate(true); + Log.E("Recipe View Key Input Left Rotate"); } break; case Keys.C: copies = new List(); + StringBuilder Copy_sb = new StringBuilder(); foreach (IDrawObject obj in Model.SelectedObjects) { copies.Add(obj.Clone()); + Copy_sb.Append($"{obj.No + 1} "); } iterationOffsetValue = 0; DoInvalidate(true); + Log.E($"Recipe View Layer Copy. No [{Copy_sb}]"); break; case Keys.V: if (copies.Count != 0) { + StringBuilder Paste_sb = new StringBuilder(); + double offsetValue = 3; ((DataModel)Model).CopyObjects(new UnitPoint(iterationOffsetValue + offsetValue, iterationOffsetValue + offsetValue), copies); iterationOffsetValue = iterationOffsetValue + offsetValue; DoInvalidate(true); + foreach (var layer in copies) { + Paste_sb.Append($"{layer.No + 1} "); + } + Log.E($"Recipe View Layer Paste. No [{Paste_sb}]"); } break; case Keys.Z: //Undo CommandDoUndo(); + Log.E("Recipe View Do Undo"); break; case Keys.Y: //Redo CommandDoRedo(); + Log.E("Recipe View Do Redo"); break; - //Űº¸µå·Î °´Ã¼ À̵¿ - case Keys.Up://¼±ÅÃµÈ °´Ã¼¸¦ ÁöÁ¤µÈ À§Ä¡°ª ¸¸Å­ »ó½Â - if (evtGetOffsetValue != null) { - float offsetValue = evtGetOffsetValue(); - Model.MoveObjects(new UnitPoint(0, offsetValue), Model.SelectedObjects, true); - DoInvalidate(true); - } - break; + ////Űº¸µå·Î °´Ã¼ À̵¿ + //case Keys.Up://¼±ÅÃµÈ °´Ã¼¸¦ ÁöÁ¤µÈ À§Ä¡°ª ¸¸Å­ »ó½Â + // if (evtGetOffsetValue != null) { + // float offsetValue = evtGetOffsetValue(); + // Model.MoveObjects(new UnitPoint(0, offsetValue), Model.SelectedObjects, true); + // DoInvalidate(true); + // } + // break; - case Keys.Down://¼±ÅÃµÈ °´Ã¼¸¦ ÁöÁ¤µÈ À§Ä¡°ª ¸¸Å­ Çϰ­ - if (evtGetOffsetValue != null) { - float offsetValue = evtGetOffsetValue(); - Model.MoveObjects(new UnitPoint(0, -1 * offsetValue), Model.SelectedObjects, true); - DoInvalidate(true); - } - break; + //case Keys.Down://¼±ÅÃµÈ °´Ã¼¸¦ ÁöÁ¤µÈ À§Ä¡°ª ¸¸Å­ Çϰ­ + // if (evtGetOffsetValue != null) { + // float offsetValue = evtGetOffsetValue(); + // Model.MoveObjects(new UnitPoint(0, -1 * offsetValue), Model.SelectedObjects, true); + // DoInvalidate(true); + // } + // break; case Keys.A: foreach (var obj in m_model.ActiveLayer.Objects) { m_model.AddSelectedObject(obj); } + Log.E("Recipe View All Layer Select"); break; } @@ -1664,7 +1688,7 @@ namespace CoreUnit.Control.UserControl.Canvas if (evtGetOffsetValue != null) { float offsetValue = evtGetOffsetValue(); Model.MoveObjects(new UnitPoint(0, offsetValue), Model.SelectedObjects, true); - Log.I($"Input Key Up, Layer Move. [X : 0, | Y : {offsetValue}]"); + Log.E($"Input Key Up, Layer Move. [X : 0, | Y : {offsetValue}]"); DoInvalidate(true); } break; @@ -1673,7 +1697,7 @@ namespace CoreUnit.Control.UserControl.Canvas if (evtGetOffsetValue != null) { float offsetValue = evtGetOffsetValue(); Model.MoveObjects(new UnitPoint(0, -1 * offsetValue), Model.SelectedObjects, true); - Log.I($"Input Key Down, Layer Move. [X : 0, | Y : {-1 * offsetValue}]"); + Log.E($"Input Key Down, Layer Move. [X : 0, | Y : {-1 * offsetValue}]"); DoInvalidate(true); } break; @@ -1682,7 +1706,7 @@ namespace CoreUnit.Control.UserControl.Canvas if (evtGetOffsetValue != null) { float offsetValue = evtGetOffsetValue(); Model.MoveObjects(new UnitPoint(offsetValue, 0), Model.SelectedObjects, true); - Log.I($"Input Key Right, Layer Move. [X : | Y : {offsetValue}, 0]"); + Log.E($"Input Key Right, Layer Move. [X : {offsetValue} | Y : 0]"); DoInvalidate(true); } break; @@ -1691,7 +1715,7 @@ namespace CoreUnit.Control.UserControl.Canvas if (evtGetOffsetValue != null) { double offsetValue = evtGetOffsetValue(); Model.MoveObjects(new UnitPoint(-1 * offsetValue, 0), Model.SelectedObjects, true); - Log.I($"Input Key Left, Layer Move. [X : | Y : {-1 * offsetValue}, 0]"); + Log.E($"Input Key Left, Layer Move. [X : {-1 * offsetValue} | Y : 0]"); DoInvalidate(true); } break; @@ -1700,7 +1724,7 @@ namespace CoreUnit.Control.UserControl.Canvas if (evtGetAngleOffsetValue != null) { float angleOffset = evtGetAngleOffsetValue(); ((DataModel)Model).RotateObjects(-1 * (float)angleOffset, Model.SelectedObjects, true); - Log.I($"Input Key E, Angle Rotate"); + Log.E($"Input Key E, Angle Rotate"); DoInvalidate(true); } break; @@ -1709,7 +1733,7 @@ namespace CoreUnit.Control.UserControl.Canvas if (evtGetAngleOffsetValue != null) { float angleOffset = evtGetAngleOffsetValue(); ((DataModel)Model).RotateObjects((float)angleOffset, Model.SelectedObjects, true); - Log.I($"Input Key Q, Angle Rotate"); + Log.E($"Input Key Q, Angle Rotate"); DoInvalidate(true); } break; diff --git a/WeldingComponents/WeldingCommon/Views/Recipes/UCScannerObjectTeachingViewModel.cs b/WeldingComponents/WeldingCommon/Views/Recipes/UCScannerObjectTeachingViewModel.cs index dbcbf86..7da3a62 100644 --- a/WeldingComponents/WeldingCommon/Views/Recipes/UCScannerObjectTeachingViewModel.cs +++ b/WeldingComponents/WeldingCommon/Views/Recipes/UCScannerObjectTeachingViewModel.cs @@ -181,6 +181,7 @@ namespace WeldingCommon.Views public void OnChanged((int id, string name) recipe) { + Log.I($"Recipe Select. ID : {recipe.id}, Name : {recipe.name}"); if (WeldingRecipeManager.SelectedRecipe.id == recipe.id && WeldingRecipeManager.SelectedRecipe.name == recipe.name) { return; }