diff --git a/Icarus/Constants/Const3dPrint.vb b/Icarus/Constants/Const3dPrint.vb index 6668ac5..e51d043 100644 --- a/Icarus/Constants/Const3dPrint.vb +++ b/Icarus/Constants/Const3dPrint.vb @@ -103,6 +103,7 @@ Public Const MAC_COASTINGFEEDPU = "CoastingFeedPu" Public Const MAC_WIPELEN = "WipeLen" Public Const MAC_WIPEFEEDPU = "WipeFeedPu" + Public Const MAC_SPIRALVASELEN = "SpiralVaseLen" Public Const MAC_WIPEDIR = "WipeDir" Public Const MAC_FLOORCOUNT = "FloorCount" Public Const MAC_G0FEED = "G0Feed" diff --git a/Icarus/CurrMachiningPanel/CurrMachining.vb b/Icarus/CurrMachiningPanel/CurrMachining.vb index dc60a22..dec2b12 100644 --- a/Icarus/CurrMachiningPanel/CurrMachining.vb +++ b/Icarus/CurrMachiningPanel/CurrMachining.vb @@ -106,12 +106,12 @@ Public Class CurrMachining Else m_nIndex = 0 End If - m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.GENERAL, nPartId, m_nIndex, False)) - m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.LINK, nPartId, m_nIndex, False)) - m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.RIBS, nPartId, m_nIndex, False)) - m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.SHELL_NUMBER, nPartId, m_nIndex, False)) - m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.AUX_SOLID, nPartId, m_nIndex, False)) - m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.INFILL, nPartId, m_nIndex, False)) + m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.GENERAL, nPartId, m_nIndex, False, Me)) + m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.LINK, nPartId, m_nIndex, False, Me)) + m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.RIBS, nPartId, m_nIndex, False, Me)) + m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.SHELL_NUMBER, nPartId, m_nIndex, False, Me)) + m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.AUX_SOLID, nPartId, m_nIndex, False, Me)) + m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.INFILL, nPartId, m_nIndex, False, Me)) For Each Cathegory In m_CathegoryList For Each MachiningParam In Cathegory.MachiningParamList AddHandler MachiningParam.PropertyChanged, AddressOf OnMachiningParamPropertyChanged @@ -124,12 +124,12 @@ Public Class CurrMachining ' ricavo lavorazione da lista Dim CurrMachiningInDb As MachiningIndex = Map.refTopPanelVM.MachiningList.FirstOrDefault(Function(x) x.nIndex = nIndex) m_sCurrGUID = CurrMachiningInDb.sGUID - m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.GENERAL, nPartId, m_nIndex, True)) - m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.LINK, nPartId, m_nIndex, True)) - m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.RIBS, nPartId, m_nIndex, True)) - m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.SHELL_NUMBER, nPartId, m_nIndex, True)) - m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.AUX_SOLID, nPartId, m_nIndex, True)) - m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.INFILL, nPartId, m_nIndex, True)) + m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.GENERAL, nPartId, m_nIndex, True, Me)) + m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.LINK, nPartId, m_nIndex, True, Me)) + m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.RIBS, nPartId, m_nIndex, True, Me)) + m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.SHELL_NUMBER, nPartId, m_nIndex, True, Me)) + m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.AUX_SOLID, nPartId, m_nIndex, True, Me)) + m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.INFILL, nPartId, m_nIndex, True, Me)) For Each Cathegory In m_CathegoryList For Each MachiningParam In Cathegory.MachiningParamList AddHandler MachiningParam.PropertyChanged, AddressOf OnMachiningParamPropertyChanged @@ -196,8 +196,9 @@ End Class Public Class CurrMachiningCathegory Inherits MachiningCathegory - Sub New(Type As Cathegories, nPartId As Integer, nIndex As Integer, bForceFromDb As Boolean) + Sub New(Type As Cathegories, nPartId As Integer, nIndex As Integer, bForceFromDb As Boolean, Machining As Machining) m_Type = Type + m_Machining = Machining Select Case m_Type Case Cathegories.GENERAL m_sName = "General" @@ -238,7 +239,8 @@ Public Class CurrMachiningCathegory New CurrNumericMachiningParam(MachiningParam.Params.COASTINGLEN, nPartId, nIndex, bForceFromDb, Me), New CurrNumericMachiningParam(MachiningParam.Params.COASTINGFEED_PC, nPartId, nIndex, bForceFromDb, Me), New CurrNumericMachiningParam(MachiningParam.Params.WIPELEN, nPartId, nIndex, bForceFromDb, Me), - New CurrNumericMachiningParam(MachiningParam.Params.WIPEFEED_PC, nPartId, nIndex, bForceFromDb, Me)}) + New CurrNumericMachiningParam(MachiningParam.Params.WIPEFEED_PC, nPartId, nIndex, bForceFromDb, Me), + New CurrNumericMachiningParam(MachiningParam.Params.SPIRALVASELEN, nPartId, nIndex, bForceFromDb, Me)}) 'New CurrNumericMachiningParam(MachiningParam.Params.WIPEDIR, nPartId, nIndex, bForceFromDb, Me)}) Case Cathegories.RIBS m_sName = "Ribs" @@ -315,6 +317,11 @@ Public Class CurrMachiningCathegory Dim MachiningParam As ComboMachiningParam = MachiningParamList.FirstOrDefault(Function(z) z.Type = Param) MachiningParam.ManageDependencyParam() Next + For Each Param In {MachiningParam.Params.SPIRALVASE} + Dim GeneralCathegory As MachiningCathegory = Machining.CathegoryList.FirstOrDefault(Function(z) z.Type = Cathegories.GENERAL) + Dim MachiningParam As CheckMachiningParam = GeneralCathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Param) + MachiningParam.ManageDependencyParam(Me) + Next Case Cathegories.RIBS For Each Param In {MachiningParam.Params.RIBSTYPE} Dim MachiningParam As ComboMachiningParam = MachiningParamList.FirstOrDefault(Function(z) z.Type = Param) @@ -473,6 +480,9 @@ Public Class CurrNumericMachiningParam Case Params.WIPEFEED_PC bReadFromPart = EgtGetInfo(nPartId, MAC_WIPEFEEDPU, m_dValue) m_bIsLen = False + Case Params.SPIRALVASELEN + bReadFromPart = EgtGetInfo(nPartId, MAC_SPIRALVASELEN, m_dValue) + m_bIsLen = True 'Case Params.WIPEDIR ' bReadFromPart = EgtGetInfo(nPartId, MAC_WIPEDIR, m_dValue) ' m_bIsLen = True @@ -636,7 +646,7 @@ Public Class CurrNumericMachiningParam 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 + Params.WIPELEN, Params.WIPEFEED_PC, Params.SPIRALVASELEN ' 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.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, @@ -711,6 +721,8 @@ Public Class CurrNumericMachiningParam EgtSetInfo(nPartId, MAC_WIPELEN, sWriteValue) Case Params.WIPEFEED_PC EgtSetInfo(nPartId, MAC_WIPEFEEDPU, sWriteValue) + Case Params.SPIRALVASELEN + EgtSetInfo(nPartId, MAC_SPIRALVASELEN, sWriteValue) 'Case Params.WIPEDIR ' EgtSetInfo(nPartId, MAC_WIPEDIR, sWriteValue) Case Params.FLOORCOUNT @@ -1179,6 +1191,7 @@ Public Class CurrCheckMachiningParam m_bValue = value NotifyPropertyChanged(NameOf(bValue)) NotifyPropertyChanged(NameOf(bIsModifiedFromDb)) + ManageDependencyParam() End Set End Property diff --git a/Icarus/CurrMachiningPanel/CurrMachiningPanelVM.vb b/Icarus/CurrMachiningPanel/CurrMachiningPanelVM.vb index 1d2f2f9..1fe1e66 100644 --- a/Icarus/CurrMachiningPanel/CurrMachiningPanelVM.vb +++ b/Icarus/CurrMachiningPanel/CurrMachiningPanelVM.vb @@ -140,7 +140,7 @@ Public Class CurrMachiningPanelVM WriteMachiningParam(nIndex, MAC_GUID, sNewMachGUID.ToString()) WriteMachiningParam(nIndex, MAC_NAME, SaveInDbWndVM.sName) ' creo categoria materiali con attivo materiale corrente - Dim MaterialCathegory As New MachiningCathegory(MachiningCathegory.Cathegories.MATERIALS, 0) + Dim MaterialCathegory As New MachiningCathegory(MachiningCathegory.Cathegories.MATERIALS, 0, m_CurrMachining) Dim SelMaterialParam As MaterialMachiningParam = MaterialCathegory.MachiningParamList.FirstOrDefault(Function(x As MaterialMachiningParam) x.sGUID = Map.refTopPanelVM.SelMaterial.sGUID) If Not IsNothing(SelMaterialParam) Then SelMaterialParam.bValue = True diff --git a/Icarus/InstrumentPanel/InstrumentPanelV.xaml b/Icarus/InstrumentPanel/InstrumentPanelV.xaml index b18506a..00b29b0 100644 --- a/Icarus/InstrumentPanel/InstrumentPanelV.xaml +++ b/Icarus/InstrumentPanel/InstrumentPanelV.xaml @@ -1,30 +1,37 @@ - + + + + + + + 25 + 25 + + + + + + - - - 25 - 25 - - - - - + diff --git a/Icarus/MachiningDb/Machining.vb b/Icarus/MachiningDb/Machining.vb index 27d4f43..5d053c9 100644 --- a/Icarus/MachiningDb/Machining.vb +++ b/Icarus/MachiningDb/Machining.vb @@ -148,13 +148,13 @@ Public Class Machining m_sName = "New Machining" End If m_sOrigName = m_sName - m_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.GENERAL, nIndex)) - m_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.LINK, nIndex)) - m_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.RIBS, nIndex)) - m_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.SHELL_NUMBER, nIndex)) - m_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.AUX_SOLID, nIndex)) - m_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.INFILL, nIndex)) - m_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.MATERIALS, nIndex)) + m_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.GENERAL, nIndex, Me)) + m_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.LINK, nIndex, Me)) + m_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.RIBS, nIndex, Me)) + m_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.SHELL_NUMBER, nIndex, Me)) + m_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.AUX_SOLID, nIndex, Me)) + m_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.INFILL, nIndex, Me)) + m_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.MATERIALS, nIndex, Me)) For Each Cathegory In m_CathegoryList For Each MachiningParam In Cathegory.MachiningParamList AddHandler MachiningParam.PropertyChanged, AddressOf OnMachiningParamPropertyChanged @@ -315,11 +315,19 @@ Public Class MachiningCathegory End Set End Property + Protected m_Machining As Machining + Friend ReadOnly Property Machining As Machining + Get + Return m_Machining + End Get + End Property + Sub New() End Sub - Sub New(Type As Cathegories, nIndex As Integer) + Sub New(Type As Cathegories, nIndex As Integer, Machining As Machining) + m_Machining = Machining m_Type = Type Select Case m_Type Case Cathegories.GENERAL @@ -361,7 +369,8 @@ Public Class MachiningCathegory New NumericMachiningParam(MachiningParam.Params.COASTINGLEN, nIndex, Me), New NumericMachiningParam(MachiningParam.Params.COASTINGFEED_PC, nIndex, Me), New NumericMachiningParam(MachiningParam.Params.WIPELEN, nIndex, Me), - New NumericMachiningParam(MachiningParam.Params.WIPEFEED_PC, nIndex, Me)}) + New NumericMachiningParam(MachiningParam.Params.WIPEFEED_PC, nIndex, Me), + New NumericMachiningParam(MachiningParam.Params.SPIRALVASELEN, nIndex, Me)}) 'New NumericMachiningParam(MachiningParam.Params.WIPEDIR, nIndex, Me)}) Case Cathegories.RIBS m_sName = "Ribs" @@ -447,7 +456,12 @@ Public Class MachiningCathegory Dim MachiningParam As ComboMachiningParam = MachiningParamList.FirstOrDefault(Function(z) z.Type = Param) MachiningParam.ManageDependencyParam() Next - Case Cathegories.RIBS + For Each Param In {MachiningParam.Params.SPIRALVASE} + Dim GeneralCathegory As MachiningCathegory = Machining.CathegoryList.FirstOrDefault(Function(z) z.Type = Cathegories.GENERAL) + Dim MachiningParam As CheckMachiningParam = GeneralCathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Param) + MachiningParam.ManageDependencyParam(Me) + Next + Case Cathegories.RIBS For Each Param In {MachiningParam.Params.RIBSTYPE} Dim MachiningParam As ComboMachiningParam = MachiningParamList.FirstOrDefault(Function(z) z.Type = Param) MachiningParam.ManageDependencyParam() @@ -541,6 +555,7 @@ Public MustInherit Class MachiningParam WIPELEN = 62 WIPEFEED_PC = 63 INNERSHELLWIDTH = 64 + SPIRALVASELEN = 65 'WIPEDIR = 64 RIBSTYPE = 101 RIBSOVERLAP = 102 @@ -694,6 +709,8 @@ Public MustInherit Class MachiningParam m_sName = "Wipe Len" Case Params.WIPEFEED_PC m_sName = "Wipe Feed [%]" + Case Params.SPIRALVASELEN + m_sName = "Spiral Trans Len" Case Params.FLOORCOUNT m_sName = "Floor Count" Case Params.G0FEED @@ -1044,6 +1061,9 @@ Public Class NumericMachiningParam Case Params.WIPEFEED_PC m_dValue = ReadMachiningParamDouble(nIndex, MAC_WIPEFEEDPU, 0) m_bIsLen = False + Case Params.SPIRALVASELEN + m_dValue = ReadMachiningParamDouble(nIndex, MAC_SPIRALVASELEN, 0) + m_bIsLen = True 'Case Params.WIPEDIR ' m_dValue = ReadMachiningParamDouble(nIndex, MAC_WIPEDIR, 0) ' m_bIsLen = True @@ -1270,6 +1290,8 @@ Public Class NumericMachiningParam WriteMachiningParam(nIndex, MAC_WIPELEN, sWriteValue, sFilePath) Case Params.WIPEFEED_PC WriteMachiningParam(nIndex, MAC_WIPEFEEDPU, sWriteValue, sFilePath) + Case Params.SPIRALVASELEN + WriteMachiningParam(nIndex, MAC_SPIRALVASELEN, sWriteValue, sFilePath) 'Case Params.WIPEDIR ' WriteMachiningParam(nIndex, MAC_WIPEDIR, sWriteValue, sFilePath) Case Params.FLOORCOUNT @@ -1704,6 +1726,7 @@ Public Class CheckMachiningParam Set(value As Boolean) m_bValue = value NotifyPropertyChanged(NameOf(bValue)) + ManageDependencyParam() End Set End Property @@ -1770,6 +1793,16 @@ Public Class CheckMachiningParam m_bOrigValue = m_bValue End Sub + Friend Sub ManageDependencyParam(Optional Cathegory As MachiningCathegory = Nothing) + ' gestisco dis/attivazione parametri dipendenti + Select Case m_Type + Case Params.SPIRALVASE + Dim ShellCathegory As MachiningCathegory = If(Not IsNothing(Cathegory), Cathegory, m_Cathegory.Machining.CathegoryList.FirstOrDefault(Function(z) z.Type= MachiningCathegory.Cathegories.LINK)) + Dim NumMachiningParam As NumericMachiningParam = ShellCathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.SPIRALVASELEN) + NumMachiningParam.SetIsActive(m_bValue) + End Select + End Sub + Friend Overrides Sub WriteParamOnDb(nIndex As Integer, Optional sFilePath As String = "") Select Case Type Case Params.SPIRALVASE diff --git a/Icarus/My Project/AssemblyInfo.vb b/Icarus/My Project/AssemblyInfo.vb index eecc6a5..37dff0b 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/ShowPanel/ShowPanelV.xaml b/Icarus/ShowPanel/ShowPanelV.xaml index 21cae32..a4b79ac 100644 --- a/Icarus/ShowPanel/ShowPanelV.xaml +++ b/Icarus/ShowPanel/ShowPanelV.xaml @@ -1,33 +1,40 @@ - - - - - - + + + + + + + + + + - + +