From 429e82e349d441ec98476ab8156114cd91e476d4 Mon Sep 17 00:00:00 2001 From: Emmanuele Sassi Date: Mon, 8 Sep 2025 19:26:05 +0200 Subject: [PATCH] Icarus 2.7h1: - aggiunti parametri RibsStrandOverlap e MaxSlicesNumber --- Icarus/Constants/Const3dPrint.vb | 2 ++ Icarus/CurrMachiningPanel/CurrMachining.vb | 18 +++++++++++++++--- Icarus/MachiningDb/Machining.vb | 20 +++++++++++++++++++- Icarus/MainWindow/MainWindowM.vb | 4 ++-- Icarus/My Project/AssemblyInfo.vb | 4 ++-- Icarus/RibParamPanel/CopyFromWndVM.vb | 6 +++++- Icarus/RibParamPanel/RibParamPanelVM.vb | 11 +++++++++++ 7 files changed, 56 insertions(+), 9 deletions(-) diff --git a/Icarus/Constants/Const3dPrint.vb b/Icarus/Constants/Const3dPrint.vb index 1b3ba5c..6668ac5 100644 --- a/Icarus/Constants/Const3dPrint.vb +++ b/Icarus/Constants/Const3dPrint.vb @@ -112,9 +112,11 @@ Public Const MAC_POSTFLOWDELAY = "PostFlowDelay" Public Const MAC_SCREWBACK = "ScrewBack" Public Const MAC_SLICINGHEIGHT = "SlicingHeight" + Public Const MAC_MAXSLICESNUMBER = "MaxSlicesNumber" Public Const MAC_RIBSSTRANDWIDTH = "RibsStrandW" Public Const MAC_RIBSTYPE = "RibsType" Public Const MAC_RIBSOVERLAP = "RibsOverlap" + Public Const MAC_RIBSSTRANDOVERLAP = "RibsStrandOverlap" Public Const MAC_RIBSSTRANDCOUNT = "RibsStrandCount" Public Const MAC_RIBSLINK = "RibsLink" Public Const MAC_RIBSLINKFILLET = "RibsLinkFillet" diff --git a/Icarus/CurrMachiningPanel/CurrMachining.vb b/Icarus/CurrMachiningPanel/CurrMachining.vb index 59c26d6..e4c8c08 100644 --- a/Icarus/CurrMachiningPanel/CurrMachining.vb +++ b/Icarus/CurrMachiningPanel/CurrMachining.vb @@ -221,7 +221,8 @@ Public Class CurrMachiningCathegory New CurrNumericMachiningParam(MachiningParam.Params.PREFLOWDELAY, nPartId, nIndex, bForceFromDb, Me), New CurrNumericMachiningParam(MachiningParam.Params.POSTFLOWDELAY, nPartId, nIndex, bForceFromDb, Me), New CurrNumericMachiningParam(MachiningParam.Params.SCREWBACK, nPartId, nIndex, bForceFromDb, Me), - New CurrNumericMachiningParam(MachiningParam.Params.SLICINGHEIGHT, nPartId, nIndex, bForceFromDb, Me)}) + New CurrNumericMachiningParam(MachiningParam.Params.SLICINGHEIGHT, nPartId, nIndex, bForceFromDb, Me), + New CurrNumericMachiningParam(MachiningParam.Params.MAXSLICESNUMBER, nPartId, nIndex, bForceFromDb, Me)}) Case Cathegories.LINK m_sName = "Shell" m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.INNERSHELLWIDTH, nPartId, nIndex, bForceFromDb, Me), @@ -245,6 +246,7 @@ Public Class CurrMachiningCathegory New CurrComboMachiningParam(MachiningParam.Params.RIBSTYPE, nPartId, nIndex, bForceFromDb, Me), New CurrCheckMachiningParam(MachiningParam.Params.RIBSLIMITUNBOUNDEDWITHSOLID, nPartId, nIndex, bForceFromDb, Me), New CurrNumericMachiningParam(MachiningParam.Params.RIBSOVERLAP, nPartId, nIndex, bForceFromDb, Me), + New CurrNumericMachiningParam(MachiningParam.Params.RIBSSTRANDOVERLAP, nPartId, nIndex, bForceFromDb, Me), New CurrNumericMachiningParam(MachiningParam.Params.RIBSSTRANDCOUNT, nPartId, nIndex, bForceFromDb, Me), New CurrCheckMachiningParam(MachiningParam.Params.RIBSLINK, nPartId, nIndex, bForceFromDb, Me), New CurrNumericMachiningParam(MachiningParam.Params.RIBSLINKFILLET, nPartId, nIndex, bForceFromDb, Me), @@ -498,12 +500,18 @@ Public Class CurrNumericMachiningParam Case Params.SLICINGHEIGHT bReadFromPart = EgtGetInfo(nPartId, MAC_SLICINGHEIGHT, m_dValue) m_bIsLen = True + Case Params.MAXSLICESNUMBER + bReadFromPart = EgtGetInfo(nPartId, MAC_MAXSLICESNUMBER, m_dValue) + m_bIsLen = False Case Params.RIBSSTRANDWIDTH bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSSTRANDWIDTH, m_dValue) m_bIsLen = True Case Params.RIBSOVERLAP bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSOVERLAP, m_dValue) m_bIsLen = False + Case Params.RIBSSTRANDOVERLAP + bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSSTRANDOVERLAP, m_dValue) + m_bIsLen = False Case Params.RIBSSTRANDCOUNT bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSSTRANDCOUNT, m_dValue) m_bIsLen = False @@ -624,13 +632,13 @@ Public Class CurrNumericMachiningParam Dim DbMachining As Machining = Map.refMachiningDbVM.MachiningList.FirstOrDefault(Function(x) x.nIndex = nIndex) Select Case Type Case Params.STRANDH, Params.STRANDW, Params.STRANDCOUNT, Params.OFFSET, Params.STRANDOVERLAP, Params.STARTPOINTOFFSETONSLICE, - Params.G0FEED, Params.G0FEEDZ, Params.LINKZUP, Params.TOOLDIAM, Params.FLOWRATE_PC, Params.PREFLOWDELAY, Params.POSTFLOWDELAY, Params.SCREWBACK, Params.SLICINGHEIGHT + Params.G0FEED, Params.G0FEEDZ, Params.LINKZUP, Params.TOOLDIAM, Params.FLOWRATE_PC, Params.PREFLOWDELAY, Params.POSTFLOWDELAY, Params.SCREWBACK, Params.SLICINGHEIGHT, Params.MAXSLICESNUMBER m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type) Case Params.LINKPARAM, Params.INNERSHELLWIDTH, Params.OFFSETLEADPOINT, Params.LEADINTANGDIST, Params.LEADINORTHODIST, Params.LEADOUTTANGDIST, Params.LEADOUTORTHODIST, Params.COASTINGLEN, Params.COASTINGFEED_PC, Params.WIPELEN, Params.WIPEFEED_PC ' Params.WIPEDIR m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.LINK).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type) - Case Params.RIBSSTRANDWIDTH, Params.RIBSOVERLAP, Params.RIBSSTRANDCOUNT, Params.RIBSLINK, Params.RIBSLINKFILLET, Params.RIBSMERGEWITHSHELL, Params.RIBSINVERTMERGEDSHELLMAINLINK, Params.RIBSINVERTORDER, Params.RIBSINVERTDIRECTION, + Case Params.RIBSSTRANDWIDTH, Params.RIBSOVERLAP, Params.RIBSSTRANDOVERLAP, Params.RIBSSTRANDCOUNT, Params.RIBSLINK, Params.RIBSLINKFILLET, Params.RIBSMERGEWITHSHELL, Params.RIBSINVERTMERGEDSHELLMAINLINK, Params.RIBSINVERTORDER, Params.RIBSINVERTDIRECTION, Params.RIBSLEADININVERT, Params.RIBSLEADINLEN, Params.RIBSLEADOUTINVERT, Params.RIBSLEADOUTLEN, Params.RIBSLEADOUTCOASTING, Params.RIBSLEADOUTWIPE, Params.RIBSLEADOUTWIPEDIR, Params.RIBSLEADFILLET m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.RIBS).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type) @@ -721,10 +729,14 @@ Public Class CurrNumericMachiningParam EgtSetInfo(nPartId, MAC_SCREWBACK, sWriteValue) Case Params.SLICINGHEIGHT EgtSetInfo(nPartId, MAC_SLICINGHEIGHT, sWriteValue) + Case Params.MAXSLICESNUMBER + EgtSetInfo(nPartId, MAC_MAXSLICESNUMBER, sWriteValue) Case Params.RIBSSTRANDWIDTH EgtSetInfo(nPartId, MAC_RIBSSTRANDWIDTH, sWriteValue) Case Params.RIBSOVERLAP EgtSetInfo(nPartId, MAC_RIBSOVERLAP, sWriteValue) + Case Params.RIBSSTRANDOVERLAP + EgtSetInfo(nPartId, MAC_RIBSSTRANDOVERLAP, sWriteValue) Case Params.RIBSSTRANDCOUNT EgtSetInfo(nPartId, MAC_RIBSSTRANDCOUNT, sWriteValue) Case Params.RIBSLINKFILLET diff --git a/Icarus/MachiningDb/Machining.vb b/Icarus/MachiningDb/Machining.vb index f9b8faa..b43c5cc 100644 --- a/Icarus/MachiningDb/Machining.vb +++ b/Icarus/MachiningDb/Machining.vb @@ -343,7 +343,8 @@ Public Class MachiningCathegory New NumericMachiningParam(MachiningParam.Params.PREFLOWDELAY, nIndex, Me), New NumericMachiningParam(MachiningParam.Params.POSTFLOWDELAY, nIndex, Me), New NumericMachiningParam(MachiningParam.Params.SCREWBACK, nIndex, Me), - New NumericMachiningParam(MachiningParam.Params.SLICINGHEIGHT, nIndex, Me)}) + New NumericMachiningParam(MachiningParam.Params.SLICINGHEIGHT, nIndex, Me), + New NumericMachiningParam(MachiningParam.Params.MAXSLICESNUMBER, nIndex, Me)}) Case Cathegories.LINK m_sName = "Shell" m_MachiningParamList = New List(Of MachiningParam)({New NumericMachiningParam(MachiningParam.Params.INNERSHELLWIDTH, nIndex, Me), @@ -367,6 +368,7 @@ Public Class MachiningCathegory New ComboMachiningParam(MachiningParam.Params.RIBSTYPE, nIndex, Me), New CheckMachiningParam(MachiningParam.Params.RIBSLIMITUNBOUNDEDWITHSOLID, nIndex, Me), New NumericMachiningParam(MachiningParam.Params.RIBSOVERLAP, nIndex, Me), + New NumericMachiningParam(MachiningParam.Params.RIBSSTRANDOVERLAP, nIndex, Me), New NumericMachiningParam(MachiningParam.Params.RIBSSTRANDCOUNT, nIndex, Me), New CheckMachiningParam(MachiningParam.Params.RIBSLINK, nIndex, Me), New NumericMachiningParam(MachiningParam.Params.RIBSLINKFILLET, nIndex, Me), @@ -523,6 +525,7 @@ Public MustInherit Class MachiningParam POSTFLOWDELAY = 20 SCREWBACK = 21 SLICINGHEIGHT = 22 + MAXSLICESNUMBER = 23 LINKTYPE = 51 LINKPARAM = 52 LEADIN = 53 @@ -558,6 +561,7 @@ Public MustInherit Class MachiningParam RIBSSTRANDWIDTH = 118 RIBSLINKFILLET = 119 RIBSLEADFILLET = 120 + RIBSSTRANDOVERLAP = 121 SHELLNBRDIFFERENCE = 151 SHELLNBRCOASTING = 152 SHELLNBRWIPE = 153 @@ -705,12 +709,16 @@ Public MustInherit Class MachiningParam m_sName = "Screw Back" Case Params.SLICINGHEIGHT m_sName = "Slicing Height" + Case Params.MAXSLICESNUMBER + m_sName = "Max Slices Number" Case Params.RIBSSTRANDWIDTH m_sName = "Custom Strand Width" Case Params.RIBSTYPE m_sName = "Type" Case Params.RIBSOVERLAP m_sName = "Overlap [%]" + Case Params.RIBSSTRANDOVERLAP + m_sName = "Strand Overlap [%]" Case Params.RIBSSTRANDCOUNT m_sName = "Strand Count" Case Params.RIBSLINK @@ -1062,12 +1070,18 @@ Public Class NumericMachiningParam Case Params.SLICINGHEIGHT m_dValue = ReadMachiningParamDouble(nIndex, MAC_SLICINGHEIGHT, CurrentMachine.dSlicingMaxHeight) m_bIsLen = False + Case Params.MAXSLICESNUMBER + m_dValue = ReadMachiningParamDouble(nIndex, MAC_MAXSLICESNUMBER, 0) + m_bIsLen = False Case Params.RIBSSTRANDWIDTH m_dValue = ReadMachiningParamDouble(nIndex, MAC_RIBSSTRANDWIDTH, 0) m_bIsLen = True Case Params.RIBSOVERLAP m_dValue = ReadMachiningParamDouble(nIndex, MAC_RIBSOVERLAP, 0) m_bIsLen = False + Case Params.RIBSSTRANDOVERLAP + m_dValue = ReadMachiningParamDouble(nIndex, MAC_RIBSSTRANDOVERLAP, 0) + m_bIsLen = False Case Params.RIBSSTRANDCOUNT m_dValue = ReadMachiningParamDouble(nIndex, MAC_RIBSSTRANDCOUNT, 0) m_bIsLen = False @@ -1273,10 +1287,14 @@ Public Class NumericMachiningParam WriteMachiningParam(nIndex, MAC_SCREWBACK, sWriteValue, sFilePath) Case Params.SLICINGHEIGHT WriteMachiningParam(nIndex, MAC_SLICINGHEIGHT, sWriteValue, sFilePath) + Case Params.MAXSLICESNUMBER + WriteMachiningParam(nIndex, MAC_MAXSLICESNUMBER, sWriteValue, sFilePath) Case Params.RIBSSTRANDWIDTH WriteMachiningParam(nIndex, MAC_RIBSSTRANDWIDTH, sWriteValue, sFilePath) Case Params.RIBSOVERLAP WriteMachiningParam(nIndex, MAC_RIBSOVERLAP, sWriteValue, sFilePath) + Case Params.RIBSSTRANDOVERLAP + WriteMachiningParam(nIndex, MAC_RIBSSTRANDOVERLAP, sWriteValue, sFilePath) Case Params.RIBSSTRANDCOUNT WriteMachiningParam(nIndex, MAC_RIBSSTRANDCOUNT, sWriteValue, sFilePath) Case Params.RIBSLINKFILLET diff --git a/Icarus/MainWindow/MainWindowM.vb b/Icarus/MainWindow/MainWindowM.vb index 55b0d0f..1183870 100644 --- a/Icarus/MainWindow/MainWindowM.vb +++ b/Icarus/MainWindow/MainWindowM.vb @@ -191,8 +191,8 @@ Public Class MainWindowM EgtSetLockId( sLockId) End If ' Recupero livello e opzioni della chiave - Dim bKey As Boolean = EgtGetKeyLevel(5583, 2707, 1, m_nKeyLevel) And - EgtGetKeyOptions(5583, 2707, 1, m_nKeyOptions) + Dim bKey As Boolean = EgtGetKeyLevel(5583, 2709, 1, m_nKeyLevel) And + EgtGetKeyOptions(5583, 2709, 1, m_nKeyOptions) ' Inizializzazione generale di EgtInterface m_nDebug = GetMainPrivateProfileInt(S_GENERAL, K_DEBUG, 0) m_sLogFile = m_sTempDir & "\" & GENLOG_FILE_NAME.Replace("#", m_nInstance.ToString()) diff --git a/Icarus/My Project/AssemblyInfo.vb b/Icarus/My Project/AssemblyInfo.vb index 2bdd9e9..9a79085 100644 --- a/Icarus/My Project/AssemblyInfo.vb +++ b/Icarus/My Project/AssemblyInfo.vb @@ -70,5 +70,5 @@ Imports System.Windows ' by using the '*' as shown below: ' - - + + diff --git a/Icarus/RibParamPanel/CopyFromWndVM.vb b/Icarus/RibParamPanel/CopyFromWndVM.vb index 76b6831..60dd1f5 100644 --- a/Icarus/RibParamPanel/CopyFromWndVM.vb +++ b/Icarus/RibParamPanel/CopyFromWndVM.vb @@ -58,6 +58,7 @@ Public Class CopyFromWndVM Dim ParamList As New List(Of MachiningParam.Params)({MachiningParam.Params.RIBSSTRANDWIDTH, MachiningParam.Params.RIBSTYPE, MachiningParam.Params.RIBSOVERLAP, + MachiningParam.Params.RIBSSTRANDOVERLAP, MachiningParam.Params.RIBSSTRANDCOUNT, MachiningParam.Params.RIBSLINK, MachiningParam.Params.RIBSLINKFILLET, @@ -102,7 +103,7 @@ Public Class CopyFromWndVM Else RibTypeParam.SelValue = RibTypeParam.PartSelValue End If - Case MachiningParam.Params.RIBSSTRANDWIDTH, MachiningParam.Params.RIBSOVERLAP, MachiningParam.Params.RIBSSTRANDCOUNT, MachiningParam.Params.RIBSLINKFILLET, MachiningParam.Params.RIBSLEADINLEN, MachiningParam.Params.RIBSLEADOUTLEN, + Case MachiningParam.Params.RIBSSTRANDWIDTH, MachiningParam.Params.RIBSOVERLAP, MachiningParam.Params.RIBSSTRANDOVERLAP, MachiningParam.Params.RIBSSTRANDCOUNT, MachiningParam.Params.RIBSLINKFILLET, MachiningParam.Params.RIBSLEADINLEN, MachiningParam.Params.RIBSLEADOUTLEN, MachiningParam.Params.RIBSLEADOUTCOASTING, MachiningParam.Params.RIBSLEADOUTWIPE, MachiningParam.Params.RIBSLEADOUTWIPEDIR, MachiningParam.Params.RIBSLEADFILLET Dim RibTypeParam As RibNumericMachiningParam = Nothing Dim dRibParam As Double = 0 @@ -113,6 +114,9 @@ Public Class CopyFromWndVM Case MachiningParam.Params.RIBSOVERLAP RibTypeParam = Map.refRibParamPanelVM.MachiningParamList.FirstOrDefault(Function(x) x.Type = MachiningParam.Params.RIBSOVERLAP) bRead = EgtGetInfo(nFromId, MAC_RIBSOVERLAP, dRibParam) + Case MachiningParam.Params.RIBSSTRANDOVERLAP + RibTypeParam = Map.refRibParamPanelVM.MachiningParamList.FirstOrDefault(Function(x) x.Type = MachiningParam.Params.RIBSSTRANDOVERLAP) + bRead = EgtGetInfo(nFromId, MAC_RIBSSTRANDOVERLAP, dRibParam) Case MachiningParam.Params.RIBSSTRANDCOUNT RibTypeParam = Map.refRibParamPanelVM.MachiningParamList.FirstOrDefault(Function(x) x.Type = MachiningParam.Params.RIBSSTRANDCOUNT) bRead = EgtGetInfo(nFromId, MAC_RIBSSTRANDCOUNT, dRibParam) diff --git a/Icarus/RibParamPanel/RibParamPanelVM.vb b/Icarus/RibParamPanel/RibParamPanelVM.vb index 0f309b0..35ac420 100644 --- a/Icarus/RibParamPanel/RibParamPanelVM.vb +++ b/Icarus/RibParamPanel/RibParamPanelVM.vb @@ -45,6 +45,7 @@ Public Class RibParamPanelVM m_MachiningParamList = New List(Of MachiningParam)({New RibNumericMachiningParam(MachiningParam.Params.RIBSSTRANDWIDTH, nRibId, nPartId, Me), New RibComboMachiningParam(MachiningParam.Params.RIBSTYPE, nRibId, nPartId, Me), New RibNumericMachiningParam(MachiningParam.Params.RIBSOVERLAP, nRibId, nPartId, Me), + New RibNumericMachiningParam(MachiningParam.Params.RIBSSTRANDOVERLAP, nRibId, nPartId, Me), New RibNumericMachiningParam(MachiningParam.Params.RIBSSTRANDCOUNT, nRibId, nPartId, Me), New RibCheckMachiningParam(MachiningParam.Params.RIBSLINK, nRibId, nPartId, Me), New RibNumericMachiningParam(MachiningParam.Params.RIBSLINKFILLET, nRibId, nPartId, Me), @@ -242,6 +243,10 @@ Public Class RibNumericMachiningParam bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSOVERLAP, m_dValue) EgtGetInfo(nPartId, MAC_RIBSOVERLAP, m_dPartValue) m_bIsLen = False + Case Params.RIBSSTRANDOVERLAP + bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSSTRANDOVERLAP, m_dValue) + EgtGetInfo(nPartId, MAC_RIBSSTRANDOVERLAP, m_dPartValue) + m_bIsLen = False Case Params.RIBSSTRANDCOUNT bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSSTRANDCOUNT, m_dValue) EgtGetInfo(nPartId, MAC_RIBSSTRANDCOUNT, m_dPartValue) @@ -318,6 +323,12 @@ Public Class RibNumericMachiningParam Else EgtRemoveInfo(nRibId, MAC_RIBSOVERLAP) End If + Case Params.RIBSSTRANDOVERLAP + If bIsModifiedFromPart Then + EgtSetInfo(nRibId, MAC_RIBSSTRANDOVERLAP, sWriteValue) + Else + EgtRemoveInfo(nRibId, MAC_RIBSSTRANDOVERLAP) + End If Case Params.RIBSSTRANDCOUNT If bIsModifiedFromPart Then EgtSetInfo(nRibId, MAC_RIBSSTRANDCOUNT, sWriteValue)