diff --git a/Icarus/Constants/Const3dPrint.vb b/Icarus/Constants/Const3dPrint.vb index ff80a71..7835424 100644 --- a/Icarus/Constants/Const3dPrint.vb +++ b/Icarus/Constants/Const3dPrint.vb @@ -133,9 +133,28 @@ Public Const MAC_AUXSOLIDSLINKTYPE = "AuxSolidsLinkType" Public Const MAC_AUXSOLIDSLINKPARAM = "AuxSolidsLinkParam" Public Const MAC_AUXSOLIDSSTARTPOINTOFFSETONSLICE = "AuxSolidsStartPointOffsetOnSlice" + Public Const MAC_AUXSOLIDSOFFSETLEADPOINT = "AuxSolidsOffsetLeadPoint" + Public Const MAC_AUXSOLIDSDENSITY = "AuxSolidsDensity" + Public Const MAC_AUXSOLIDSGRIDOVERLAP = "AuxSolidsGridOverlap" + Public Const MAC_AUXSOLIDSDIRECTION = "AuxSolidsDirection" + Public Const MAC_AUXSOLIDSOFFSETX = "AuxSolidsOffsetX" + Public Const MAC_AUXSOLIDSOFFSETY = "AuxSolidsOffsetY" Public Const MAC_AUXSOLIDSCOASTINGLEN = "AuxSolidsCoastingLen" Public Const MAC_AUXSOLIDSWIPELEN = "AuxSolidsWipeLen" Public Const MAC_AUXSOLIDSWIPEDIR = "AuxSolidsWipeDir" + Public Const MAC_FLOORTYPE = "FloorType" + Public Const MAC_CEILCOUNT = "CeilCount" + Public Const MAC_CEILTYPE = "CeilType" + Public Const MAC_INFILLTYPE = "InfillType" + Public Const MAC_INFILLDENSITY = "InfillDensity" + Public Const MAC_INFILLOVERLAP = "InfillOverlap" + Public Const MAC_INFILLGRIDOVERLAP = "InfillGridOverlap" + Public Const MAC_INFILLDIRECTION = "InfillDirection" + Public Const MAC_INFILLOFFSETX = "InfillOffsetX" + Public Const MAC_INFILLOFFSETY = "InfillOffsetY" + Public Const MAC_INFILLCOASTING = "InfillCoasting" + Public Const MAC_INFILLWIPE = "InfillWipe" + Public Const MAC_INFILLWIPEDIR = "InfillWipeDir" Public Const MAC_DYNAMICMODE = "DynamicMode" Public Const MAC_PRINTORDER = "PrintOrder" Public Const MAC_CONSTANT = "Constant" diff --git a/Icarus/CurrMachiningPanel/CurrMachining.vb b/Icarus/CurrMachiningPanel/CurrMachining.vb index 465d60a..efc922f 100644 --- a/Icarus/CurrMachiningPanel/CurrMachining.vb +++ b/Icarus/CurrMachiningPanel/CurrMachining.vb @@ -111,6 +111,7 @@ Public Class CurrMachining 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)) For Each Cathegory In m_CathegoryList For Each MachiningParam In Cathegory.MachiningParamList AddHandler MachiningParam.PropertyChanged, AddressOf OnMachiningParamPropertyChanged @@ -128,6 +129,7 @@ Public Class CurrMachining 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)) For Each Cathegory In m_CathegoryList For Each MachiningParam In Cathegory.MachiningParamList AddHandler MachiningParam.PropertyChanged, AddressOf OnMachiningParamPropertyChanged @@ -209,7 +211,6 @@ Public Class CurrMachiningCathegory New CurrNumericMachiningParam(MachiningParam.Params.STARTPOINTOFFSETONSLICE, nPartId, nIndex, bForceFromDb, Me), New CurrComboMachiningParam(MachiningParam.Params.STRANDORDER, nPartId, nIndex, bForceFromDb, Me), New CurrComboMachiningParam(MachiningParam.Params.DIRECTION, nPartId, nIndex, bForceFromDb, Me), - New CurrNumericMachiningParam(MachiningParam.Params.FLOORCOUNT, nPartId, nIndex, bForceFromDb, Me), New CurrNumericMachiningParam(MachiningParam.Params.G0FEED, nPartId, nIndex, bForceFromDb, Me), New CurrNumericMachiningParam(MachiningParam.Params.G0FEEDZ, nPartId, nIndex, bForceFromDb, Me), New CurrNumericMachiningParam(MachiningParam.Params.LINKZUP, nPartId, nIndex, bForceFromDb, Me), @@ -261,15 +262,37 @@ Public Class CurrMachiningCathegory New CurrNumericMachiningParam(MachiningParam.Params.SHELLNBRWIPEDIR, nPartId, nIndex, bForceFromDb, Me)}) Case Cathegories.AUX_SOLID m_sName = "Filled Solid" - m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSOVERLAP, nPartId, nIndex, bForceFromDb, Me), - New CurrComboMachiningParam(MachiningParam.Params.AUXSOLIDSINFILL, nPartId, nIndex, bForceFromDb, Me), + m_MachiningParamList = New List(Of MachiningParam)({New CurrComboMachiningParam(MachiningParam.Params.AUXSOLIDSINFILL, nPartId, nIndex, bForceFromDb, Me), New CurrComboMachiningParam(MachiningParam.Params.AUXSOLIDSSTRANDORDER, nPartId, nIndex, bForceFromDb, Me), New CurrComboMachiningParam(MachiningParam.Params.AUXSOLIDSLINKTYPE, nPartId, nIndex, bForceFromDb, Me), New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSLINKPARAM, nPartId, nIndex, bForceFromDb, Me), New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE, nPartId, nIndex, bForceFromDb, Me), + New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSOFFSETLEADPOINT, nPartId, nIndex, bForceFromDb, Me), + New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSDENSITY, nPartId, nIndex, bForceFromDb, Me), + New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSGRIDOVERLAP, nPartId, nIndex, bForceFromDb, Me), + New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSDIRECTION, nPartId, nIndex, bForceFromDb, Me), + New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSOFFSETX, nPartId, nIndex, bForceFromDb, Me), + New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSOFFSETY, nPartId, nIndex, bForceFromDb, Me), + New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSOVERLAP, nPartId, nIndex, bForceFromDb, Me), New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSCOASTINGLEN, nPartId, nIndex, bForceFromDb, Me), New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSWIPELEN, nPartId, nIndex, bForceFromDb, Me), New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSWIPEDIR, nPartId, nIndex, bForceFromDb, Me)}) + Case Cathegories.INFILL + m_sName = "Infill" + m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.FLOORCOUNT, nPartId, nIndex, bForceFromDb, Me), + New CurrComboMachiningParam(MachiningParam.Params.FLOORTYPE, nPartId, nIndex, bForceFromDb, Me), + New CurrNumericMachiningParam(MachiningParam.Params.CEILCOUNT, nPartId, nIndex, bForceFromDb, Me), + New CurrComboMachiningParam(MachiningParam.Params.CEILTYPE, nPartId, nIndex, bForceFromDb, Me), + New CurrComboMachiningParam(MachiningParam.Params.INFILLTYPE, nPartId, nIndex, bForceFromDb, Me), + New CurrNumericMachiningParam(MachiningParam.Params.INFILLDENSITY, nPartId, nIndex, bForceFromDb, Me), + New CurrNumericMachiningParam(MachiningParam.Params.INFILLGRIDOVERLAP, nPartId, nIndex, bForceFromDb, Me), + New CurrNumericMachiningParam(MachiningParam.Params.INFILLDIRECTION, nPartId, nIndex, bForceFromDb, Me), + New CurrNumericMachiningParam(MachiningParam.Params.INFILLOFFSETX, nPartId, nIndex, bForceFromDb, Me), + New CurrNumericMachiningParam(MachiningParam.Params.INFILLOFFSETY, nPartId, nIndex, bForceFromDb, Me), + New CurrNumericMachiningParam(MachiningParam.Params.INFILLOVERLAP, nPartId, nIndex, bForceFromDb, Me), + New CurrNumericMachiningParam(MachiningParam.Params.INFILLCOASTING, nPartId, nIndex, bForceFromDb, Me), + New CurrNumericMachiningParam(MachiningParam.Params.INFILLWIPE, nPartId, nIndex, bForceFromDb, Me), + New CurrNumericMachiningParam(MachiningParam.Params.INFILLWIPEDIR, nPartId, nIndex, bForceFromDb, Me)}) End Select ' verifico dipendenze tra parametri Select Case m_Type @@ -288,6 +311,15 @@ Public Class CurrMachiningCathegory Dim MachiningParam As ComboMachiningParam = MachiningParamList.FirstOrDefault(Function(z) z.Type = Param) MachiningParam.ManageDependencyParam() Next + Case Cathegories.INFILL + For Each Param In {MachiningParam.Params.FLOORCOUNT, MachiningParam.Params.CEILCOUNT} + Dim MachiningParam As NumericMachiningParam = MachiningParamList.FirstOrDefault(Function(z) z.Type = Param) + MachiningParam.ManageDependencyParam() + Next + For Each Param In {MachiningParam.Params.INFILLTYPE} + Dim MachiningParam As ComboMachiningParam = MachiningParamList.FirstOrDefault(Function(z) z.Type = Param) + MachiningParam.ManageDependencyParam() + Next End Select End Sub @@ -328,6 +360,7 @@ Public Class CurrNumericMachiningParam End If NotifyPropertyChanged(NameOf(sValue)) NotifyPropertyChanged(NameOf(bIsModifiedFromDb)) + ManageDependencyParam() End Set End Property @@ -468,6 +501,24 @@ Public Class CurrNumericMachiningParam Case Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSSTARTPOINTOFFSETONSLICE, m_dValue) m_bIsLen = True + Case Params.AUXSOLIDSOFFSETLEADPOINT + bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSOFFSETLEADPOINT, m_dValue) + m_bIsLen = True + Case Params.AUXSOLIDSDENSITY + bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSDENSITY, m_dValue) + m_bIsLen = True + Case Params.AUXSOLIDSGRIDOVERLAP + bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSGRIDOVERLAP, m_dValue) + m_bIsLen = True + Case Params.AUXSOLIDSDIRECTION + bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSDIRECTION, m_dValue) + m_bIsLen = True + Case Params.AUXSOLIDSOFFSETX + bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSOFFSETX, m_dValue) + m_bIsLen = True + Case Params.AUXSOLIDSOFFSETY + bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSOFFSETY, m_dValue) + m_bIsLen = True Case Params.AUXSOLIDSCOASTINGLEN bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSCOASTINGLEN, m_dValue) m_bIsLen = True @@ -480,13 +531,43 @@ Public Class CurrNumericMachiningParam Case Params.FLOWRATE_PC bReadFromPart = EgtGetInfo(nPartId, MAC_CONSTANT, m_dValue) m_bIsLen = False + Case Params.CEILCOUNT + bReadFromPart = EgtGetInfo(nPartId, MAC_CEILCOUNT, m_dValue) + m_bIsLen = False + Case Params.INFILLDENSITY + bReadFromPart = EgtGetInfo(nPartId, MAC_INFILLDENSITY, m_dValue) + m_bIsLen = False + Case Params.INFILLOVERLAP + bReadFromPart = EgtGetInfo(nPartId, MAC_INFILLOVERLAP, m_dValue) + m_bIsLen = False + Case Params.INFILLGRIDOVERLAP + bReadFromPart = EgtGetInfo(nPartId, MAC_INFILLGRIDOVERLAP, m_dValue) + m_bIsLen = False + Case Params.INFILLDIRECTION + bReadFromPart = EgtGetInfo(nPartId, MAC_INFILLDIRECTION, m_dValue) + m_bIsLen = False + Case Params.INFILLOFFSETX + bReadFromPart = EgtGetInfo(nPartId, MAC_INFILLOFFSETX, m_dValue) + m_bIsLen = True + Case Params.INFILLOFFSETY + bReadFromPart = EgtGetInfo(nPartId, MAC_INFILLOFFSETY, m_dValue) + m_bIsLen = True + Case Params.INFILLCOASTING + bReadFromPart = EgtGetInfo(nPartId, MAC_INFILLCOASTING, m_dValue) + m_bIsLen = True + Case Params.INFILLWIPE + bReadFromPart = EgtGetInfo(nPartId, MAC_INFILLWIPE, m_dValue) + m_bIsLen = True + Case Params.INFILLWIPEDIR + bReadFromPart = EgtGetInfo(nPartId, MAC_INFILLWIPEDIR, m_dValue) + m_bIsLen = False End Select m_dOrigValue = m_dValue If nIndex > 0 Then 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.FLOORCOUNT, Params.G0FEED, Params.G0FEEDZ, Params.LINKZUP, Params.TOOLDIAM, Params.FLOWRATE_PC, Params.PREFLOWDELAY, Params.POSTFLOWDELAY, Params.SCREWBACK + Params.G0FEED, Params.G0FEEDZ, Params.LINKZUP, Params.TOOLDIAM, Params.FLOWRATE_PC, Params.PREFLOWDELAY, Params.POSTFLOWDELAY, Params.SCREWBACK m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type) Case Params.LINKPARAM, Params.OFFSETLEADPOINT, Params.LEADINTANGDIST, Params.LEADINORTHODIST, Params.LEADOUTTANGDIST, Params.LEADOUTORTHODIST, Params.COASTINGLEN, Params.COASTINGFEED_PC, @@ -499,8 +580,14 @@ Public Class CurrNumericMachiningParam Case Params.SHELLNBRDIFFERENCE, Params.SHELLNBRCOASTING, Params.SHELLNBRWIPE, Params.SHELLNBRWIPEDIR m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.SHELL_NUMBER).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type) Case Params.AUXSOLIDSOVERLAP, Params.AUXSOLIDSLINKPARAM, Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE, + Params.AUXSOLIDSOFFSETLEADPOINT, Params.AUXSOLIDSDENSITY, Params.AUXSOLIDSGRIDOVERLAP, + Params.AUXSOLIDSDIRECTION, Params.AUXSOLIDSOFFSETX, Params.AUXSOLIDSOFFSETY, Params.AUXSOLIDSCOASTINGLEN, Params.AUXSOLIDSWIPELEN, Params.AUXSOLIDSWIPEDIR m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.AUX_SOLID).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type) + Case Params.FLOORCOUNT, Params.CEILCOUNT, Params.INFILLDENSITY, Params.INFILLOVERLAP, + Params.INFILLGRIDOVERLAP, Params.INFILLDIRECTION, Params.INFILLOFFSETX, + Params.INFILLOFFSETY, Params.INFILLCOASTING, Params.INFILLWIPE, Params.INFILLWIPEDIR + m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.INFILL).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type) End Select If bForceFromDb OrElse Not bReadFromPart Then m_dValue = m_DbParam.dOrigValue @@ -601,6 +688,18 @@ Public Class CurrNumericMachiningParam EgtSetInfo(nPartId, MAC_AUXSOLIDSLINKPARAM, sWriteValue) Case Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE EgtSetInfo(nPartId, MAC_AUXSOLIDSSTARTPOINTOFFSETONSLICE, sWriteValue) + Case Params.AUXSOLIDSOFFSETLEADPOINT + EgtSetInfo(nPartId, MAC_AUXSOLIDSOFFSETLEADPOINT, sWriteValue) + Case Params.AUXSOLIDSDENSITY + EgtSetInfo(nPartId, MAC_AUXSOLIDSDENSITY, sWriteValue) + Case Params.AUXSOLIDSGRIDOVERLAP + EgtSetInfo(nPartId, MAC_AUXSOLIDSGRIDOVERLAP, sWriteValue) + Case Params.AUXSOLIDSDIRECTION + EgtSetInfo(nPartId, MAC_AUXSOLIDSDIRECTION, sWriteValue) + Case Params.AUXSOLIDSOFFSETX + EgtSetInfo(nPartId, MAC_AUXSOLIDSOFFSETX, sWriteValue) + Case Params.AUXSOLIDSOFFSETY + EgtSetInfo(nPartId, MAC_AUXSOLIDSOFFSETY, sWriteValue) Case Params.AUXSOLIDSCOASTINGLEN EgtSetInfo(nPartId, MAC_AUXSOLIDSCOASTINGLEN, sWriteValue) Case Params.AUXSOLIDSWIPELEN @@ -609,6 +708,26 @@ Public Class CurrNumericMachiningParam EgtSetInfo(nPartId, MAC_AUXSOLIDSWIPEDIR, sWriteValue) Case Params.FLOWRATE_PC EgtSetInfo(nPartId, MAC_CONSTANT, sWriteValue) + Case Params.CEILCOUNT + EgtSetInfo(nPartId, MAC_CEILCOUNT, sWriteValue) + Case Params.INFILLDENSITY + EgtSetInfo(nPartId, MAC_INFILLDENSITY, sWriteValue) + Case Params.INFILLOVERLAP + EgtSetInfo(nPartId, MAC_INFILLOVERLAP, sWriteValue) + Case Params.INFILLGRIDOVERLAP + EgtSetInfo(nPartId, MAC_INFILLGRIDOVERLAP, sWriteValue) + Case Params.INFILLDIRECTION + EgtSetInfo(nPartId, MAC_INFILLDIRECTION, sWriteValue) + Case Params.INFILLOFFSETX + EgtSetInfo(nPartId, MAC_INFILLOFFSETX, sWriteValue) + Case Params.INFILLOFFSETY + EgtSetInfo(nPartId, MAC_INFILLOFFSETY, sWriteValue) + Case Params.INFILLCOASTING + EgtSetInfo(nPartId, MAC_INFILLCOASTING, sWriteValue) + Case Params.INFILLWIPE + EgtSetInfo(nPartId, MAC_INFILLWIPE, sWriteValue) + Case Params.INFILLWIPEDIR + EgtSetInfo(nPartId, MAC_INFILLWIPEDIR, sWriteValue) End Select End Sub @@ -811,9 +930,14 @@ Public Class CurrComboMachiningParam bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSTYPE, nSelValue) m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue) Case Params.AUXSOLIDSINFILL - m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_INFILL.NONE, "None"), - New IdNameStruct(Machining.MPAR_INFILL.OFFSET, "Offset"), - New IdNameStruct(Machining.MPAR_INFILL.ZIGZAG, "ZigZag")}) + m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_INFILL_TYPE.NONE, "None"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.OFFSET, "Offset"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.ZIGZAG, "ZigZag"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.LINES, "Lines"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.GRID, "Grid"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.ZIGZAG_GRID, "Zigzag Grid"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.HONEYCOMB, "Honeycomb"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.HONEYCOMB_GRID, "Honeycomb Grid")}) Dim nSelValue As Integer = 0 bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSINFILL, nSelValue) m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue) @@ -836,6 +960,28 @@ Public Class CurrComboMachiningParam Dim nSelValue As Integer = 0 bReadFromPart = EgtGetInfo(nPartId, MAC_DYNAMICMODE, nSelValue) m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue) + Case Params.FLOORTYPE + m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_INFILL_TYPE.OFFSET, "Offset"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.ZIGZAG, "ZigZag")}) + Dim nSelValue As Integer = 0 + bReadFromPart = EgtGetInfo(nPartId, MAC_FLOORTYPE, nSelValue) + m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue) + Case Params.CEILTYPE + m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_INFILL_TYPE.OFFSET, "Offset"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.ZIGZAG, "ZigZag")}) + Dim nSelValue As Integer = 0 + bReadFromPart = EgtGetInfo(nPartId, MAC_CEILTYPE, nSelValue) + m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue) + Case Params.INFILLTYPE + m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_INFILL_TYPE.NONE, "None"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.LINES, "Lines"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.GRID, "Grid"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.ZIGZAG_GRID, "Zigzag Grid"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.HONEYCOMB, "Honeycomb"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.HONEYCOMB_GRID, "Honeycomb Grid")}) + Dim nSelValue As Integer = 0 + bReadFromPart = EgtGetInfo(nPartId, MAC_INFILLTYPE, nSelValue) + m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue) End Select m_OrigSelValue = m_SelValue If nIndex > 0 Then @@ -849,6 +995,8 @@ Public Class CurrComboMachiningParam m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.RIBS).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type) Case Params.AUXSOLIDSINFILL, Params.AUXSOLIDSSTRANDORDER, Params.AUXSOLIDSLINKTYPE m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.AUX_SOLID).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type) + Case Params.FLOORTYPE, Params.CEILTYPE, Params.INFILLTYPE + m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.INFILL).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type) End Select If bForceFromDb OrElse Not bReadFromPart Then m_SelValue = m_DbParam.OrigSelValue @@ -887,6 +1035,12 @@ Public Class CurrComboMachiningParam EgtSetInfo(nPartId, MAC_AUXSOLIDSLINKTYPE, m_SelValue.Id) Case Params.DYNAMIC_MODE EgtSetInfo(nPartId, MAC_DYNAMICMODE, m_SelValue.Id) + Case Params.FLOORTYPE + EgtSetInfo(nPartId, MAC_FLOORTYPE, m_SelValue.Id) + Case Params.CEILTYPE + EgtSetInfo(nPartId, MAC_CEILTYPE, m_SelValue.Id) + Case Params.INFILLTYPE + EgtSetInfo(nPartId, MAC_INFILLTYPE, m_SelValue.Id) End Select End Sub diff --git a/Icarus/FilledSolidPanel/FilledSolidPanelVM.vb b/Icarus/FilledSolidPanel/FilledSolidPanelVM.vb index f9bb80e..ab5e31c 100644 --- a/Icarus/FilledSolidPanel/FilledSolidPanelVM.vb +++ b/Icarus/FilledSolidPanel/FilledSolidPanelVM.vb @@ -735,6 +735,7 @@ Public Class FilledSolidPanelVM If NewGeomType = GDB_TY.CRV_COMPO Then If Not EgtCurveIsClosed(nNewEntityId) Then EgtCloseCurveCompo(nNewEntityId) + m_bEscOnLine2P = True End If EgtSetName(nNewEntityId, RIB_CURVE) ' resetto colore entita' @@ -763,9 +764,6 @@ Public Class FilledSolidPanelVM If Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.EXTRUDE) Then m_bIsCreatingExtrusion = True Map.refControllerInputPanelVM.IsChecked = True - If Not EgtCurveIsClosed(nNewEntityId) Then - m_bEscOnLine2P = True - End If Else ' cancello layer EgtErase(nNewExtrusionLayerId) diff --git a/Icarus/FilledSolidParamPanel/FilledSolidParamPanelVM.vb b/Icarus/FilledSolidParamPanel/FilledSolidParamPanelVM.vb index 51f79b9..d552329 100644 --- a/Icarus/FilledSolidParamPanel/FilledSolidParamPanelVM.vb +++ b/Icarus/FilledSolidParamPanel/FilledSolidParamPanelVM.vb @@ -42,12 +42,18 @@ Public Class FilledSolidParamPanelVM m_Type = Cathegories.AUX_SOLID m_sName = "Filled Solid" - m_MachiningParamList = New List(Of MachiningParam)({New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSOVERLAP, nFilledSolidId, nPartId, Me), - New FilledSolidComboMachiningParam(MachiningParam.Params.AUXSOLIDSINFILL, nFilledSolidId, nPartId, Me), + m_MachiningParamList = New List(Of MachiningParam)({New FilledSolidComboMachiningParam(MachiningParam.Params.AUXSOLIDSINFILL, nFilledSolidId, nPartId, Me), New FilledSolidComboMachiningParam(MachiningParam.Params.AUXSOLIDSSTRANDORDER, nFilledSolidId, nPartId, Me), New FilledSolidComboMachiningParam(MachiningParam.Params.AUXSOLIDSLINKTYPE, nFilledSolidId, nPartId, Me), New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSLINKPARAM, nFilledSolidId, nPartId, Me), New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE, nFilledSolidId, nPartId, Me), + New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSOFFSETLEADPOINT, nFilledSolidId, nPartId, Me), + New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSDENSITY, nFilledSolidId, nPartId, Me), + New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSGRIDOVERLAP, nFilledSolidId, nPartId, Me), + New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSDIRECTION, nFilledSolidId, nPartId, Me), + New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSOFFSETX, nFilledSolidId, nPartId, Me), + New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSOFFSETY, nFilledSolidId, nPartId, Me), + New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSOVERLAP, nFilledSolidId, nPartId, Me), New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSCOASTINGLEN, nFilledSolidId, nPartId, Me), New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSWIPELEN, nFilledSolidId, nPartId, Me), New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSWIPEDIR, nFilledSolidId, nPartId, Me)}) @@ -202,6 +208,30 @@ Public Class FilledSolidNumericMachiningParam bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSSTARTPOINTOFFSETONSLICE, m_dValue) EgtGetInfo(nPartId, MAC_AUXSOLIDSSTARTPOINTOFFSETONSLICE, m_dPartValue) m_bIsLen = True + Case Params.AUXSOLIDSOFFSETLEADPOINT + bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSOFFSETLEADPOINT, m_dValue) + EgtGetInfo(nPartId, MAC_AUXSOLIDSOFFSETLEADPOINT, m_dPartValue) + m_bIsLen = True + Case Params.AUXSOLIDSDENSITY + bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSDENSITY, m_dValue) + EgtGetInfo(nPartId, MAC_AUXSOLIDSDENSITY, m_dPartValue) + m_bIsLen = True + Case Params.AUXSOLIDSGRIDOVERLAP + bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSGRIDOVERLAP, m_dValue) + EgtGetInfo(nPartId, MAC_AUXSOLIDSGRIDOVERLAP, m_dPartValue) + m_bIsLen = True + Case Params.AUXSOLIDSDIRECTION + bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSDIRECTION, m_dValue) + EgtGetInfo(nPartId, MAC_AUXSOLIDSDIRECTION, m_dPartValue) + m_bIsLen = True + Case Params.AUXSOLIDSOFFSETX + bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSOFFSETX, m_dValue) + EgtGetInfo(nPartId, MAC_AUXSOLIDSOFFSETX, m_dPartValue) + m_bIsLen = True + Case Params.AUXSOLIDSOFFSETY + bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSOFFSETY, m_dValue) + EgtGetInfo(nPartId, MAC_AUXSOLIDSOFFSETY, m_dPartValue) + m_bIsLen = True Case Params.AUXSOLIDSCOASTINGLEN bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSCOASTINGLEN, m_dValue) EgtGetInfo(nPartId, MAC_AUXSOLIDSCOASTINGLEN, m_dPartValue) @@ -248,6 +278,42 @@ Public Class FilledSolidNumericMachiningParam Else EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSSTARTPOINTOFFSETONSLICE) End If + Case Params.AUXSOLIDSOFFSETLEADPOINT + If bIsModifiedFromPart Then + EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSOFFSETLEADPOINT, sWriteValue) + Else + EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSOFFSETLEADPOINT) + End If + Case Params.AUXSOLIDSDENSITY + If bIsModifiedFromPart Then + EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSDENSITY, sWriteValue) + Else + EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSDENSITY) + End If + Case Params.AUXSOLIDSGRIDOVERLAP + If bIsModifiedFromPart Then + EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSGRIDOVERLAP, sWriteValue) + Else + EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSGRIDOVERLAP) + End If + Case Params.AUXSOLIDSDIRECTION + If bIsModifiedFromPart Then + EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSDIRECTION, sWriteValue) + Else + EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSDIRECTION) + End If + Case Params.AUXSOLIDSOFFSETX + If bIsModifiedFromPart Then + EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSOFFSETX, sWriteValue) + Else + EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSOFFSETX) + End If + Case Params.AUXSOLIDSOFFSETY + If bIsModifiedFromPart Then + EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSOFFSETY, sWriteValue) + Else + EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSOFFSETY) + End If Case Params.AUXSOLIDSCOASTINGLEN If bIsModifiedFromPart Then EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSCOASTINGLEN, sWriteValue) @@ -339,9 +405,14 @@ Public Class FilledSolidComboMachiningParam Dim bReadFromPart As Boolean = False Select Case Type Case Params.AUXSOLIDSINFILL - m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_INFILL.NONE, "None"), - New IdNameStruct(Machining.MPAR_INFILL.OFFSET, "Offset"), - New IdNameStruct(Machining.MPAR_INFILL.ZIGZAG, "ZigZag")}) + m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_INFILL_TYPE.NONE, "None"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.OFFSET, "Offset"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.ZIGZAG, "ZigZag"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.LINES, "Lines"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.GRID, "Grid"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.ZIGZAG_GRID, "Zigzag Grid"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.HONEYCOMB, "Honeycomb"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.HONEYCOMB_GRID, "Honeycomb Grid")}) Dim nSelValue As Integer = 1 bReadFromRib = EgtGetInfo(nRibId, MAC_AUXSOLIDSINFILL, nSelValue) If bReadFromRib Then @@ -379,7 +450,7 @@ Public Class FilledSolidComboMachiningParam Else Select Case Type Case Params.AUXSOLIDSINFILL - m_OrigSelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = Machining.MPAR_INFILL.NONE) + m_OrigSelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = Machining.MPAR_INFILL_TYPE.NONE) m_SelValue = m_OrigSelValue Case Params.AUXSOLIDSSTRANDORDER m_OrigSelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = Machining.MPAR_STRANDORDERS.OUTTOIN) diff --git a/Icarus/MachiningDb/Machining.vb b/Icarus/MachiningDb/Machining.vb index b1b2ae1..24b4669 100644 --- a/Icarus/MachiningDb/Machining.vb +++ b/Icarus/MachiningDb/Machining.vb @@ -45,12 +45,6 @@ Public Class Machining SUPPORT = 4 End Enum - Public Enum MPAR_INFILL As Integer - NONE = 0 - OFFSET = 16 - ZIGZAG = 17 - End Enum - Public Enum MPAR_DYNAMIC_MODE As Integer STANDARD = 1 FAST = 2 @@ -67,6 +61,17 @@ Public Class Machining RIB_SUPPORT = 8 End Enum + Public Enum MPAR_INFILL_TYPE As Integer + NONE = 0 + OFFSET = 16 + ZIGZAG = 17 + LINES = 32 + GRID = 33 + ZIGZAG_GRID = 34 + HONEYCOMB = 35 + HONEYCOMB_GRID = 36 + End Enum + Protected m_CathegoryList As New ObservableCollection(Of MachiningCathegory) Public ReadOnly Property CathegoryList As ObservableCollection(Of MachiningCathegory) Get @@ -147,6 +152,7 @@ Public Class Machining 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)) For Each Cathegory In m_CathegoryList For Each MachiningParam In Cathegory.MachiningParamList @@ -273,7 +279,8 @@ Public Class MachiningCathegory RIBS = 8 SHELL_NUMBER = 9 AUX_SOLID = 10 - MATERIALS = 11 + INFILL = 11 + MATERIALS = 12 End Enum Protected m_Type As Cathegories @@ -326,7 +333,6 @@ Public Class MachiningCathegory New NumericMachiningParam(MachiningParam.Params.STARTPOINTOFFSETONSLICE, nIndex, Me), New ComboMachiningParam(MachiningParam.Params.STRANDORDER, nIndex, Me), New ComboMachiningParam(MachiningParam.Params.DIRECTION, nIndex, Me), - New NumericMachiningParam(MachiningParam.Params.FLOORCOUNT, nIndex, Me), New NumericMachiningParam(MachiningParam.Params.G0FEED, nIndex, Me), New NumericMachiningParam(MachiningParam.Params.G0FEEDZ, nIndex, Me), New NumericMachiningParam(MachiningParam.Params.LINKZUP, nIndex, Me), @@ -378,15 +384,37 @@ Public Class MachiningCathegory New NumericMachiningParam(MachiningParam.Params.SHELLNBRWIPEDIR, nIndex, Me)}) Case Cathegories.AUX_SOLID m_sName = "Filled Solid" - m_MachiningParamList = New List(Of MachiningParam)({New NumericMachiningParam(MachiningParam.Params.AUXSOLIDSOVERLAP, nIndex, Me), - New ComboMachiningParam(MachiningParam.Params.AUXSOLIDSINFILL, nIndex, Me), + m_MachiningParamList = New List(Of MachiningParam)({New ComboMachiningParam(MachiningParam.Params.AUXSOLIDSINFILL, nIndex, Me), New ComboMachiningParam(MachiningParam.Params.AUXSOLIDSSTRANDORDER, nIndex, Me), New ComboMachiningParam(MachiningParam.Params.AUXSOLIDSLINKTYPE, nIndex, Me), New NumericMachiningParam(MachiningParam.Params.AUXSOLIDSLINKPARAM, nIndex, Me), New NumericMachiningParam(MachiningParam.Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE, nIndex, Me), + New NumericMachiningParam(MachiningParam.Params.AUXSOLIDSOFFSETLEADPOINT, nIndex, Me), + New NumericMachiningParam(MachiningParam.Params.AUXSOLIDSDENSITY, nIndex, Me), + New NumericMachiningParam(MachiningParam.Params.AUXSOLIDSGRIDOVERLAP, nIndex, Me), + New NumericMachiningParam(MachiningParam.Params.AUXSOLIDSDIRECTION, nIndex, Me), + New NumericMachiningParam(MachiningParam.Params.AUXSOLIDSOFFSETX, nIndex, Me), + New NumericMachiningParam(MachiningParam.Params.AUXSOLIDSOFFSETY, nIndex, Me), + New NumericMachiningParam(MachiningParam.Params.AUXSOLIDSOVERLAP, nIndex, Me), New NumericMachiningParam(MachiningParam.Params.AUXSOLIDSCOASTINGLEN, nIndex, Me), New NumericMachiningParam(MachiningParam.Params.AUXSOLIDSWIPELEN, nIndex, Me), New NumericMachiningParam(MachiningParam.Params.AUXSOLIDSWIPEDIR, nIndex, Me)}) + Case Cathegories.INFILL + m_sName = "Infill" + m_MachiningParamList = New List(Of MachiningParam)({New NumericMachiningParam(MachiningParam.Params.FLOORCOUNT, nIndex, Me), + New ComboMachiningParam(MachiningParam.Params.FLOORTYPE, nIndex, Me), + New NumericMachiningParam(MachiningParam.Params.CEILCOUNT, nIndex, Me), + New ComboMachiningParam(MachiningParam.Params.CEILTYPE, nIndex, Me), + New ComboMachiningParam(MachiningParam.Params.INFILLTYPE, nIndex, Me), + New NumericMachiningParam(MachiningParam.Params.INFILLDENSITY, nIndex, Me), + New NumericMachiningParam(MachiningParam.Params.INFILLGRIDOVERLAP, nIndex, Me), + New NumericMachiningParam(MachiningParam.Params.INFILLDIRECTION, nIndex, Me), + New NumericMachiningParam(MachiningParam.Params.INFILLOFFSETX, nIndex, Me), + New NumericMachiningParam(MachiningParam.Params.INFILLOFFSETY, nIndex, Me), + New NumericMachiningParam(MachiningParam.Params.INFILLOVERLAP, nIndex, Me), + New NumericMachiningParam(MachiningParam.Params.INFILLCOASTING, nIndex, Me), + New NumericMachiningParam(MachiningParam.Params.INFILLWIPE, nIndex, Me), + New NumericMachiningParam(MachiningParam.Params.INFILLWIPEDIR, nIndex, Me)}) Case Cathegories.MATERIALS m_sName = "Materials" Dim sMaterials As String = "" @@ -414,6 +442,15 @@ Public Class MachiningCathegory Dim MachiningParam As ComboMachiningParam = MachiningParamList.FirstOrDefault(Function(z) z.Type = Param) MachiningParam.ManageDependencyParam() Next + Case Cathegories.INFILL + For Each Param In {MachiningParam.Params.FLOORCOUNT, MachiningParam.Params.CEILCOUNT} + Dim MachiningParam As NumericMachiningParam = MachiningParamList.FirstOrDefault(Function(z) z.Type = Param) + MachiningParam.ManageDependencyParam() + Next + For Each Param In {MachiningParam.Params.INFILLTYPE} + Dim MachiningParam As ComboMachiningParam = MachiningParamList.FirstOrDefault(Function(z) z.Type = Param) + MachiningParam.ManageDependencyParam() + Next End Select End Sub @@ -454,7 +491,6 @@ Public MustInherit Class MachiningParam STARTPOINTOFFSETONSLICE = 8 STRANDORDER = 9 DIRECTION = 10 - FLOORCOUNT = 11 G0FEED = 12 LINKZUP = 13 G0FEEDZ = 14 @@ -504,10 +540,30 @@ Public MustInherit Class MachiningParam AUXSOLIDSLINKTYPE = 204 AUXSOLIDSLINKPARAM = 205 AUXSOLIDSSTARTPOINTOFFSETONSLICE = 206 - AUXSOLIDSCOASTINGLEN = 207 - AUXSOLIDSWIPELEN = 208 - AUXSOLIDSWIPEDIR = 209 - MATERIALS = 250 + AUXSOLIDSOFFSETLEADPOINT = 207 + AUXSOLIDSDENSITY = 208 + AUXSOLIDSGRIDOVERLAP = 209 + AUXSOLIDSDIRECTION = 210 + AUXSOLIDSOFFSETX = 211 + AUXSOLIDSOFFSETY = 212 + AUXSOLIDSCOASTINGLEN = 213 + AUXSOLIDSWIPELEN = 214 + AUXSOLIDSWIPEDIR = 215 + FLOORCOUNT = 250 + FLOORTYPE = 251 + CEILCOUNT = 252 + CEILTYPE = 253 + INFILLTYPE = 254 + INFILLDENSITY = 255 + INFILLOVERLAP = 256 + INFILLGRIDOVERLAP = 257 + INFILLDIRECTION = 258 + INFILLOFFSETX = 259 + INFILLOFFSETY = 260 + INFILLCOASTING = 261 + INFILLWIPE = 262 + INFILLWIPEDIR = 263 + MATERIALS = 500 End Enum Protected m_Type As Params @@ -645,6 +701,18 @@ Public MustInherit Class MachiningParam m_sName = "Link Parameter" Case Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE m_sName = "Start Point Offset On Slice" + Case Params.AUXSOLIDSOFFSETLEADPOINT + m_sName = "Offset Lead Point" + Case Params.AUXSOLIDSDENSITY + m_sName = "Density [%]" + Case Params.AUXSOLIDSGRIDOVERLAP + m_sName = "Grid Overlap [%]" + Case Params.AUXSOLIDSDIRECTION + m_sName = "Direction" + Case Params.AUXSOLIDSOFFSETX + m_sName = "Offset X" + Case Params.AUXSOLIDSOFFSETY + m_sName = "Offset Y" Case Params.AUXSOLIDSCOASTINGLEN m_sName = "Coasting Length" Case Params.AUXSOLIDSWIPELEN @@ -663,6 +731,32 @@ Public MustInherit Class MachiningParam m_sName = "Dynamic Mode" Case Params.PRINT_ORDER m_sName = "Print Order" + Case Params.FLOORTYPE + m_sName = "Floor Type" + Case Params.CEILCOUNT + m_sName = "Ceil Count" + Case Params.CEILTYPE + m_sName = "Ceil Type" + Case Params.INFILLTYPE + m_sName = "Infill Type" + Case Params.INFILLDENSITY + m_sName = "Density [%]" + Case Params.INFILLOVERLAP + m_sName = "Overlap [%]" + Case Params.INFILLGRIDOVERLAP + m_sName = "Grid Overlap [%]" + Case Params.INFILLDIRECTION + m_sName = "Direction" + Case Params.INFILLOFFSETX + m_sName = "Offset X" + Case Params.INFILLOFFSETY + m_sName = "Offset Y" + Case Params.INFILLCOASTING + m_sName = "Coasting" + Case Params.INFILLWIPE + m_sName = "Wipe" + Case Params.INFILLWIPEDIR + m_sName = "Wipe Direction" End Select End Sub @@ -714,6 +808,7 @@ Public Class NumericMachiningParam m_dValue = dTempValue End If NotifyPropertyChanged(NameOf(sValue)) + ManageDependencyParam() End Set End Property @@ -882,6 +977,24 @@ Public Class NumericMachiningParam Case Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE m_dValue = ReadMachiningParamDouble(nIndex, MAC_AUXSOLIDSSTARTPOINTOFFSETONSLICE, 0) m_bIsLen = True + Case Params.AUXSOLIDSOFFSETLEADPOINT + m_dValue = ReadMachiningParamDouble(nIndex, MAC_AUXSOLIDSOFFSETLEADPOINT, 0) + m_bIsLen = True + Case Params.AUXSOLIDSDENSITY + m_dValue = ReadMachiningParamDouble(nIndex, MAC_AUXSOLIDSDENSITY, 0) + m_bIsLen = False + Case Params.AUXSOLIDSGRIDOVERLAP + m_dValue = ReadMachiningParamDouble(nIndex, MAC_AUXSOLIDSGRIDOVERLAP, 0) + m_bIsLen = True + Case Params.AUXSOLIDSDIRECTION + m_dValue = ReadMachiningParamDouble(nIndex, MAC_AUXSOLIDSDIRECTION, 0) + m_bIsLen = False + Case Params.AUXSOLIDSOFFSETX + m_dValue = ReadMachiningParamDouble(nIndex, MAC_AUXSOLIDSOFFSETX, 0) + m_bIsLen = True + Case Params.AUXSOLIDSOFFSETY + m_dValue = ReadMachiningParamDouble(nIndex, MAC_AUXSOLIDSOFFSETY, 0) + m_bIsLen = True Case Params.AUXSOLIDSCOASTINGLEN m_dValue = ReadMachiningParamDouble(nIndex, MAC_AUXSOLIDSCOASTINGLEN, 0) m_bIsLen = True @@ -894,11 +1007,53 @@ Public Class NumericMachiningParam Case Params.FLOWRATE_PC m_dValue = ReadMachiningParamDouble(nIndex, MAC_CONSTANT, 100) m_bIsLen = False + Case Params.CEILCOUNT + m_dValue = ReadMachiningParamDouble(nIndex, MAC_CEILCOUNT, 0) + m_bIsLen = False + Case Params.INFILLDENSITY + m_dValue = ReadMachiningParamDouble(nIndex, MAC_INFILLDENSITY, 0) + m_bIsLen = False + Case Params.INFILLOVERLAP + m_dValue = ReadMachiningParamDouble(nIndex, MAC_INFILLOVERLAP, 0) + m_bIsLen = False + Case Params.INFILLGRIDOVERLAP + m_dValue = ReadMachiningParamDouble(nIndex, MAC_INFILLGRIDOVERLAP, 0) + m_bIsLen = False + Case Params.INFILLDIRECTION + m_dValue = ReadMachiningParamDouble(nIndex, MAC_INFILLDIRECTION, 0) + m_bIsLen = False + Case Params.INFILLOFFSETX + m_dValue = ReadMachiningParamDouble(nIndex, MAC_INFILLOFFSETX, 0) + m_bIsLen = True + Case Params.INFILLOFFSETY + m_dValue = ReadMachiningParamDouble(nIndex, MAC_INFILLOFFSETY, 0) + m_bIsLen = True + Case Params.INFILLCOASTING + m_dValue = ReadMachiningParamDouble(nIndex, MAC_INFILLCOASTING, 0) + m_bIsLen = True + Case Params.INFILLWIPE + m_dValue = ReadMachiningParamDouble(nIndex, MAC_INFILLWIPE, 0) + m_bIsLen = True + Case Params.INFILLWIPEDIR + m_dValue = ReadMachiningParamDouble(nIndex, MAC_INFILLWIPEDIR, 0) + m_bIsLen = False End Select End If m_dOrigValue = m_dValue End Sub + Friend Sub ManageDependencyParam() + ' gestisco dis/attivazione parametri dipendenti + Select Case m_Type + Case Params.FLOORCOUNT + Dim ComboMachiningParam As ComboMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.FLOORTYPE) + ComboMachiningParam.SetIsActive(m_dValue <> 0) + Case Params.CEILCOUNT + Dim ComboMachiningParam As ComboMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.CEILTYPE) + ComboMachiningParam.SetIsActive(m_dValue <> 0) + End Select + End Sub + Friend Overrides Sub WriteParamOnDb(nIndex As Integer, Optional sFilePath As String = "") Dim sWriteValue As String = "" If m_bIsLen Then @@ -985,6 +1140,18 @@ Public Class NumericMachiningParam WriteMachiningParam(nIndex, MAC_AUXSOLIDSLINKPARAM, sWriteValue, sFilePath) Case Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE WriteMachiningParam(nIndex, MAC_AUXSOLIDSSTARTPOINTOFFSETONSLICE, sWriteValue, sFilePath) + Case Params.AUXSOLIDSOFFSETLEADPOINT + WriteMachiningParam(nIndex, MAC_AUXSOLIDSOFFSETLEADPOINT, sWriteValue, sFilePath) + Case Params.AUXSOLIDSDENSITY + WriteMachiningParam(nIndex, MAC_AUXSOLIDSDENSITY, sWriteValue, sFilePath) + Case Params.AUXSOLIDSGRIDOVERLAP + WriteMachiningParam(nIndex, MAC_AUXSOLIDSGRIDOVERLAP, sWriteValue, sFilePath) + Case Params.AUXSOLIDSDIRECTION + WriteMachiningParam(nIndex, MAC_AUXSOLIDSDIRECTION, sWriteValue, sFilePath) + Case Params.AUXSOLIDSOFFSETX + WriteMachiningParam(nIndex, MAC_AUXSOLIDSOFFSETX, sWriteValue, sFilePath) + Case Params.AUXSOLIDSOFFSETY + WriteMachiningParam(nIndex, MAC_AUXSOLIDSOFFSETY, sWriteValue, sFilePath) Case Params.AUXSOLIDSCOASTINGLEN WriteMachiningParam(nIndex, MAC_AUXSOLIDSCOASTINGLEN, sWriteValue, sFilePath) Case Params.AUXSOLIDSWIPELEN @@ -993,6 +1160,26 @@ Public Class NumericMachiningParam WriteMachiningParam(nIndex, MAC_AUXSOLIDSWIPEDIR, sWriteValue, sFilePath) Case Params.FLOWRATE_PC WriteMachiningParam(nIndex, MAC_CONSTANT, sWriteValue, sFilePath) + Case Params.CEILCOUNT + WriteMachiningParam(nIndex, MAC_CEILCOUNT, sWriteValue, sFilePath) + Case Params.INFILLDENSITY + WriteMachiningParam(nIndex, MAC_INFILLDENSITY, sWriteValue, sFilePath) + Case Params.INFILLOVERLAP + WriteMachiningParam(nIndex, MAC_INFILLOVERLAP, sWriteValue, sFilePath) + Case Params.INFILLGRIDOVERLAP + WriteMachiningParam(nIndex, MAC_INFILLGRIDOVERLAP, sWriteValue, sFilePath) + Case Params.INFILLDIRECTION + WriteMachiningParam(nIndex, MAC_INFILLDIRECTION, sWriteValue, sFilePath) + Case Params.INFILLOFFSETX + WriteMachiningParam(nIndex, MAC_INFILLOFFSETX, sWriteValue, sFilePath) + Case Params.INFILLOFFSETY + WriteMachiningParam(nIndex, MAC_INFILLOFFSETY, sWriteValue, sFilePath) + Case Params.INFILLCOASTING + WriteMachiningParam(nIndex, MAC_INFILLCOASTING, sWriteValue, sFilePath) + Case Params.INFILLWIPE + WriteMachiningParam(nIndex, MAC_INFILLWIPE, sWriteValue, sFilePath) + Case Params.INFILLWIPEDIR + WriteMachiningParam(nIndex, MAC_INFILLWIPEDIR, sWriteValue, sFilePath) End Select End Sub @@ -1137,50 +1324,71 @@ Public Class ComboMachiningParam Case Params.STRANDORDER m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_STRANDORDERS.OUTTOIN, "From Outside To Inside"), New IdNameStruct(Machining.MPAR_STRANDORDERS.INTOOUT, "From Inside To Outside")}) - m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_STRANDORDER, 0)) + m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_STRANDORDER, Machining.MPAR_STRANDORDERS.OUTTOIN)) Case Params.DIRECTION m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_DIRECTIONS.CCW, "Counterclockwise"), New IdNameStruct(Machining.MPAR_DIRECTIONS.CW, "Clockwise")}) - m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_DIRECTION, 0)) + m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_DIRECTION, Machining.MPAR_DIRECTIONS.CCW)) Case Params.LINKTYPE m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_LINKTYPES.NONE, "None"), New IdNameStruct(Machining.MPAR_LINKTYPES.LINEAR, "Linear"), New IdNameStruct(Machining.MPAR_LINKTYPES.BIARC, "Biarc")}) - m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_LINKTYPE, 0)) + m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_LINKTYPE, Machining.MPAR_LEADINOUT.NONE)) Case Params.LEADIN m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_LEADINOUT.NONE, "None"), New IdNameStruct(Machining.MPAR_LEADINOUT.LINEAR, "Linear"), New IdNameStruct(Machining.MPAR_LEADINOUT.ARC, "Arc")}) - m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_LEADIN, 0)) + m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_LEADIN, Machining.MPAR_LEADINOUT.NONE)) Case Params.LEADOUT m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_LEADINOUT.NONE, "None"), New IdNameStruct(Machining.MPAR_LEADINOUT.LINEAR, "Linear"), New IdNameStruct(Machining.MPAR_LEADINOUT.ARC, "Arc")}) - m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_LEADOUT, 0)) + m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_LEADOUT, Machining.MPAR_LEADINOUT.NONE)) Case Params.RIBSTYPE m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_RIBSTYPE.INTERNAL, "Internal"), New IdNameStruct(Machining.MPAR_RIBSTYPE.EXTERNAL, "External"), New IdNameStruct(Machining.MPAR_RIBSTYPE.UNBOUNDED, "Unbounded"), New IdNameStruct(Machining.MPAR_RIBSTYPE.SUPPORT, "Support")}) - m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_RIBSTYPE, 1)) + m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_RIBSTYPE, Machining.MPAR_RIBSTYPE.INTERNAL)) Case Params.AUXSOLIDSINFILL - m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_INFILL.NONE, "None"), - New IdNameStruct(Machining.MPAR_INFILL.OFFSET, "Offset"), - New IdNameStruct(Machining.MPAR_INFILL.ZIGZAG, "ZigZag")}) - m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_AUXSOLIDSINFILL, 0)) + m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_INFILL_TYPE.NONE, "None"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.OFFSET, "Offset"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.ZIGZAG, "ZigZag"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.LINES, "Lines"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.GRID, "Grid"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.ZIGZAG_GRID, "Zigzag Grid"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.HONEYCOMB, "Honeycomb"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.HONEYCOMB_GRID, "Honeycomb Grid")}) + m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_AUXSOLIDSINFILL, Machining.MPAR_INFILL_TYPE.NONE)) Case Params.AUXSOLIDSSTRANDORDER m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_STRANDORDERS.OUTTOIN, "From Outside To Inside"), New IdNameStruct(Machining.MPAR_STRANDORDERS.INTOOUT, "From Inside To Outside")}) - m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_AUXSOLIDSSTRANDORDER, 0)) + m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_AUXSOLIDSSTRANDORDER, Machining.MPAR_STRANDORDERS.OUTTOIN)) Case Params.AUXSOLIDSLINKTYPE m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_LINKTYPES.NONE, "None"), New IdNameStruct(Machining.MPAR_LINKTYPES.LINEAR, "Linear"), New IdNameStruct(Machining.MPAR_LINKTYPES.BIARC, "Biarc")}) - m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_AUXSOLIDSLINKTYPE, 0)) + m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_AUXSOLIDSLINKTYPE, Machining.MPAR_LINKTYPES.NONE)) Case Params.DYNAMIC_MODE m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_DYNAMIC_MODE.STANDARD, "Standard"), New IdNameStruct(Machining.MPAR_DYNAMIC_MODE.FAST, "Fast")}) - m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_DYNAMICMODE, 1)) + m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_DYNAMICMODE, Machining.MPAR_DYNAMIC_MODE.STANDARD)) + Case Params.FLOORTYPE + m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_INFILL_TYPE.OFFSET, "Offset"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.ZIGZAG, "ZigZag")}) + m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_FLOORTYPE, Machining.MPAR_INFILL_TYPE.OFFSET)) + Case Params.CEILTYPE + m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_INFILL_TYPE.OFFSET, "Offset"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.ZIGZAG, "ZigZag")}) + m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_CEILTYPE, Machining.MPAR_INFILL_TYPE.OFFSET)) + Case Params.INFILLTYPE + m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_INFILL_TYPE.NONE, "None"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.LINES, "Lines"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.GRID, "Grid"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.ZIGZAG_GRID, "Zigzag Grid"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.HONEYCOMB, "Honeycomb"), + New IdNameStruct(Machining.MPAR_INFILL_TYPE.HONEYCOMB_GRID, "Honeycomb Grid")}) + m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_INFILLTYPE, Machining.MPAR_INFILL_TYPE.NONE)) End Select End If m_OrigSelValue = m_SelValue @@ -1207,11 +1415,42 @@ Public Class ComboMachiningParam CheckMachiningParam.SetIsActive(m_SelValue.Id = MPAR_RIBSTYPE.UNBOUNDED) Case Params.AUXSOLIDSINFILL Dim ComboMachiningParam As ComboMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSSTRANDORDER) - ComboMachiningParam.SetIsActive(m_SelValue.Id = Machining.MPAR_INFILL.OFFSET) + ComboMachiningParam.SetIsActive(m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.NONE AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.ZIGZAG AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.LINES AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.GRID AndAlso + m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.ZIGZAG_GRID AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.HONEYCOMB AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.HONEYCOMB_GRID) ComboMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSLINKTYPE) - ComboMachiningParam.SetIsActive(m_SelValue.Id = Machining.MPAR_INFILL.OFFSET) + ComboMachiningParam.SetIsActive(m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.NONE AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.ZIGZAG AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.LINES AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.GRID AndAlso + m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.ZIGZAG_GRID AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.HONEYCOMB AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.HONEYCOMB_GRID) Dim NumMachiningParam As NumericMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSLINKPARAM) - NumMachiningParam.SetIsActive(m_SelValue.Id = Machining.MPAR_INFILL.OFFSET) + NumMachiningParam.SetIsActive(m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.NONE AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.ZIGZAG AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.LINES AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.GRID AndAlso + m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.ZIGZAG_GRID AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.HONEYCOMB AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.HONEYCOMB_GRID) + NumMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE) + NumMachiningParam.SetIsActive(m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.NONE AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.ZIGZAG AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.LINES AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.GRID AndAlso + m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.ZIGZAG_GRID AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.HONEYCOMB AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.HONEYCOMB_GRID) + NumMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSOFFSETLEADPOINT) + NumMachiningParam.SetIsActive(m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.NONE AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.ZIGZAG AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.LINES AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.GRID AndAlso + m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.ZIGZAG_GRID AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.HONEYCOMB AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.HONEYCOMB_GRID) + NumMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSDENSITY) + NumMachiningParam.SetIsActive(m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.NONE AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.ZIGZAG AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.OFFSET) + NumMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSGRIDOVERLAP) + NumMachiningParam.SetIsActive(m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.NONE AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.ZIGZAG AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.OFFSET AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.LINES AndAlso + m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.GRID) + NumMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSDIRECTION) + NumMachiningParam.SetIsActive(m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.NONE AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.ZIGZAG AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.OFFSET) + NumMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSOFFSETX) + NumMachiningParam.SetIsActive(m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.NONE AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.ZIGZAG AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.OFFSET) + NumMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSOFFSETY) + NumMachiningParam.SetIsActive(m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.NONE AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.ZIGZAG AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.OFFSET) + Case Params.INFILLTYPE + Dim NumMachiningParam As NumericMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.INFILLDENSITY) + NumMachiningParam.SetIsActive(m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.NONE) + NumMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.INFILLGRIDOVERLAP) + NumMachiningParam.SetIsActive(m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.NONE AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.LINES AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.GRID) + NumMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.INFILLDIRECTION) + NumMachiningParam.SetIsActive(m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.NONE) + NumMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.INFILLOFFSETX) + NumMachiningParam.SetIsActive(m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.NONE) + NumMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.INFILLOFFSETY) + NumMachiningParam.SetIsActive(m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.NONE) End Select End Sub @@ -1239,6 +1478,12 @@ Public Class ComboMachiningParam WriteMachiningParam(nIndex, MAC_AUXSOLIDSLINKTYPE, m_SelValue.Id, sFilePath) Case Params.DYNAMIC_MODE WriteMachiningParam(nIndex, MAC_DYNAMICMODE, m_SelValue.Id, sFilePath) + Case Params.FLOORTYPE + WriteMachiningParam(nIndex, MAC_FLOORTYPE, m_SelValue.Id, sFilePath) + Case Params.CEILTYPE + WriteMachiningParam(nIndex, MAC_CEILTYPE, m_SelValue.Id, sFilePath) + Case Params.INFILLTYPE + WriteMachiningParam(nIndex, MAC_INFILLTYPE, m_SelValue.Id, sFilePath) End Select End Sub diff --git a/Icarus/ShellNumberPanel/ShellNumberPanelVM.vb b/Icarus/ShellNumberPanel/ShellNumberPanelVM.vb index 5ea4e5a..2fa779c 100644 --- a/Icarus/ShellNumberPanel/ShellNumberPanelVM.vb +++ b/Icarus/ShellNumberPanel/ShellNumberPanelVM.vb @@ -740,6 +740,7 @@ Public Class ShellNumberPanelVM If NewGeomType = GDB_TY.CRV_COMPO Then If Not EgtCurveIsClosed(nNewEntityId) Then EgtCloseCurveCompo(nNewEntityId) + m_bEscOnLine2P = True End If EgtSetName(nNewEntityId, RIB_CURVE) ' resetto colore entita' @@ -768,9 +769,6 @@ Public Class ShellNumberPanelVM If Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.EXTRUDE) Then m_bIsCreatingExtrusion = True Map.refControllerInputPanelVM.IsChecked = True - If Not EgtCurveIsClosed(nNewEntityId) Then - m_bEscOnLine2P = True - End If Else ' cancello layer EgtErase(nNewExtrusionLayerId)