diff --git a/CompoWindow/CompoParamPage/CompoParamPageVM.vb b/CompoWindow/CompoParamPage/CompoParamPageVM.vb index 1f80c7a..36b18d1 100644 --- a/CompoWindow/CompoParamPage/CompoParamPageVM.vb +++ b/CompoWindow/CompoParamPage/CompoParamPageVM.vb @@ -411,8 +411,13 @@ Public Class CompoParamPageVM CompoWindowMap.refCompoSceneHostV.CompoScene, SideEntityControlVM.ModeOpt.ENGRAVE) SideEntityControl = New SideEntityControlV(m_SideEntityControlVM) + If m_SideEntityControlVM.SideEntityList.Count < 1 Then + ' eventulmente stamnpare messaggio! + ' OmagOFFICEMap.refStatusBarVM.ClearOutputMessage() + ' OmagOFFICEMap.refStatusBarVM.SetOutputMessage("Lavorazioni non disponibile", MSG_TYPE.WARNING) + End If Else - SideAngle_IsEnabled = True + SideAngle_IsEnabled = True Drip_IsEnabled = OmagOFFICEMap.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.UNDER_CUT) And Not String.IsNullOrWhiteSpace(CurrentMachine.sCurrDripSaw) FiloTop_IsEnabled = True diff --git a/OptionPanel/MachiningTab/SplitModeVM.vb b/OptionPanel/MachiningTab/SplitModeVM.vb index bb523cc..2160540 100644 --- a/OptionPanel/MachiningTab/SplitModeVM.vb +++ b/OptionPanel/MachiningTab/SplitModeVM.vb @@ -1718,13 +1718,22 @@ Public Class SplitModeVM If Not ModifStartWindow.ShowDialog() Then Return ' Modifica della lavorazione Dim dUsal As Double = ModifStartWindowVM.GetVal() - EgtSetCurrMachining(nOperId) - Dim dAddLen As Double = 0 - EgtGetMachiningParam(MCH_MP.STARTADDLEN, dAddLen) - If dAddLen - dOrigUsal < -10 * EPS_SMALL Then Return - EgtSetMachiningParam(MCH_MP.STARTADDLEN, dAddLen + dUsal - dOrigUsal) - EgtSetInfo(nOperId, INFO_MCH_USER_SAL, dUsal) - UpdateMachiningPreview(m_MachiningList(nI).m_nId, True) + Dim bRepeat As Boolean = False + Do + EgtSetCurrMachining(nOperId) + Dim dAddLen As Double = 0 + EgtGetMachiningParam(MCH_MP.STARTADDLEN, dAddLen) + If dAddLen - dOrigUsal < -10 * EPS_SMALL Then Return + EgtSetMachiningParam(MCH_MP.STARTADDLEN, dAddLen + dUsal - dOrigUsal) + EgtSetInfo(nOperId, INFO_MCH_USER_SAL, dUsal) + UpdateMachiningPreview(m_MachiningList(nI).m_nId, True) + bRepeat = Not UpdateMachiningPreview(m_MachiningList(nI).m_nId, True) + If bRepeat Then + EgtSetMachiningParam(MCH_MP.STARTADDLEN, dOrigUsal) + EgtSetInfo(nOperId, INFO_MCH_USER_SAL, dOrigUsal) + dUsal = dOrigUsal + End If + Loop Until Not bRepeat ' verifico interferenza EgtVerifyMachining(m_MachiningList(nI).m_nId, m_MachiningList(nI).m_nInterf) ColorMachining(m_MachiningList(nI)) @@ -1813,14 +1822,25 @@ Public Class SplitModeVM ModifStartWindowVM.SetVal(dOrigUeal) If Not ModifStartWindow.ShowDialog() Then Return ' Modifica della lavorazione - Dim dUsal As Double = ModifStartWindowVM.GetVal() - EgtSetCurrMachining(nOperId) - Dim dAddLen As Double = 0 - EgtGetMachiningParam(MCH_MP.ENDADDLEN, dAddLen) - If dAddLen - dOrigUeal < -10 * EPS_SMALL Then Return - EgtSetMachiningParam(MCH_MP.ENDADDLEN, dAddLen + dUsal - dOrigUeal) - EgtSetInfo(nOperId, INFO_MCH_USER_EAL, dUsal) - UpdateMachiningPreview(m_MachiningList(nI).m_nId, True) + Dim dUeal As Double = ModifStartWindowVM.GetVal() + Dim bRepeat As Boolean = False + Do + EgtSetCurrMachining(nOperId) + Dim dAddLen As Double = 0 + EgtGetMachiningParam(MCH_MP.ENDADDLEN, dAddLen) + If dAddLen - dOrigUeal < -10 * EPS_SMALL Then + Return + End If + EgtSetMachiningParam(MCH_MP.ENDADDLEN, dAddLen + dUeal - dOrigUeal) + EgtSetInfo(nOperId, INFO_MCH_USER_EAL, dUeal) + UpdateMachiningPreview(m_MachiningList(nI).m_nId, True) + bRepeat = Not UpdateMachiningPreview(m_MachiningList(nI).m_nId, True) + If bRepeat Then + EgtSetMachiningParam(MCH_MP.ENDADDLEN, dOrigUeal) + EgtSetInfo(nOperId, INFO_MCH_USER_EAL, dOrigUeal) + dUeal = dOrigUeal + End If + Loop Until Not bRepeat ' verifico interferenza EgtVerifyMachining(m_MachiningList(nI).m_nId, m_MachiningList(nI).m_nInterf) ColorMachining(m_MachiningList(nI)) diff --git a/SideEntityControl/SideEntityControlVM.vb b/SideEntityControl/SideEntityControlVM.vb index ffc6ec5..12b541d 100644 --- a/SideEntityControl/SideEntityControlVM.vb +++ b/SideEntityControl/SideEntityControlVM.vb @@ -1020,6 +1020,8 @@ Public Class SideEntityControlVM End If Next + If vJoint.Count < 1 Then Return + If vJoint(0) And vJoint(vJoint.Count - 1) Then bJointStart = True End If