diff --git a/Icarus/Constants/Const3dPrint.vb b/Icarus/Constants/Const3dPrint.vb index ff80a71..a8ec31a 100644 --- a/Icarus/Constants/Const3dPrint.vb +++ b/Icarus/Constants/Const3dPrint.vb @@ -3,6 +3,7 @@ Public Const TABLE = "Table" Public Const TABLE_OUTLINE = "TableOutline" Public Const EXTRUSION_AREA = "ExtrusionArea" + Public Const EXTRUSION_RECT = "ExtrusionRect" Public Const PART = "Part" Public Const PRINT_SOLID = "PrintSolid" Public Const LAY_MACH_START = "MachStart" @@ -89,6 +90,7 @@ Public Const MAC_LINKTYPE = "LinkType" Public Const MAC_LINKPARAM = "LinkParam" Public Const MAC_LINKZUP = "LinkZup" + Public Const MAC_INNERSHELLWIDTH = "InnerStrandW" Public Const MAC_OFFSETLEADPOINT = "OffsetLeadPoint" Public Const MAC_LEADIN = "LeadIn" Public Const MAC_LEADINTANGDIST = "LeadInTangDist" @@ -108,6 +110,8 @@ Public Const MAC_PREFLOWDELAY = "PreFlowDelay" Public Const MAC_POSTFLOWDELAY = "PostFlowDelay" Public Const MAC_SCREWBACK = "ScrewBack" + Public Const MAC_SLICINGHEIGHT = "SlicingHeight" + Public Const MAC_RIBSSTRANDWIDTH = "RibsStrandW" Public Const MAC_RIBSTYPE = "RibsType" Public Const MAC_RIBSOVERLAP = "RibsOverlap" Public Const MAC_RIBSSTRANDCOUNT = "RibsStrandCount" @@ -127,15 +131,39 @@ Public Const MAC_SHELLNBRCOASTING = "ShellNbrCoasting" Public Const MAC_SHELLNBRWIPE = "ShellNbrWipe" Public Const MAC_SHELLNBRWIPEDIR = "ShellNbrWipeDir" + Public Const MAC_AUXSOLIDSSTRANDWIDTH = "AuxSolidsStrandW" Public Const MAC_AUXSOLIDSOVERLAP = "AuxSolidsOverlap" Public Const MAC_AUXSOLIDSINFILL = "AuxSolidsInfill" + Public Const MAC_AUXSOLIDSINFILLLINK = "AuxSolidsInfillLink" + Public Const MAC_AUXSOLIDSSTRANDCOUNT = "AuxSolidsStrandCount" Public Const MAC_AUXSOLIDSSTRANDORDER = "AuxSolidsStrandOrder" 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_INFILLSTRANDWIDTH = "InfillStrandW" + Public Const MAC_FLOORTYPE = "FloorType" + Public Const MAC_CEILCOUNT = "CeilCount" + Public Const MAC_CEILTYPE = "CeilType" + Public Const MAC_INFILLTYPE = "InfillType" + Public Const MAC_INFILLLINK = "InfillLink" + 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/Constants/ConstGen.vb b/Icarus/Constants/ConstGen.vb index b6752fe..302cb0c 100644 --- a/Icarus/Constants/ConstGen.vb +++ b/Icarus/Constants/ConstGen.vb @@ -21,6 +21,7 @@ Public Module ConstGen ' File con dati di licenza Public Const LIC_FILE_NAME As String = "Icarus.lic" Public Const S_LICENCE As String = "Licence" + Public Const K_LOCKID As String = "LockId" Public Const K_KEY As String = "Key" Public Const K_NESTKEY As String = "NestKey" diff --git a/Icarus/Constants/ConstIni.vb b/Icarus/Constants/ConstIni.vb index c288095..88fb4ae 100644 --- a/Icarus/Constants/ConstIni.vb +++ b/Icarus/Constants/ConstIni.vb @@ -26,6 +26,7 @@ Public Module ConstIni 'Public Const K_MESSAGES As String = "Messages" 'Public Const K_WINPLACE As String = "WinPlace" 'Public Const K_LASTPROJ As String = "LastProj" + Public Const K_NETKEY As String = "NetKey" Public Const K_LASTNGEDIR As String = "LastNgeDir" Public Const K_LASTIMPDIR As String = "LastImpDir" 'Public Const K_SUPPORT As String = "Support" diff --git a/Icarus/Constants/ConstMachIni.vb b/Icarus/Constants/ConstMachIni.vb index d56f8c7..4e7bdf5 100644 --- a/Icarus/Constants/ConstMachIni.vb +++ b/Icarus/Constants/ConstMachIni.vb @@ -10,6 +10,7 @@ Public Const K_SLICINGTYPE As String = "SlicingType" Public Const K_SPEED_MIN As String = "SpeedMin" Public Const K_SPEED_MAX As String = "SpeedMax" + Public Const K_MAX_HEIGHT As String = "HMax" Public Const S_MINMAX As String = "MinMax" diff --git a/Icarus/CurrMachiningPanel/CurrMachining.vb b/Icarus/CurrMachiningPanel/CurrMachining.vb index 465d60a..5daeef4 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), @@ -219,15 +220,17 @@ Public Class CurrMachiningCathegory New CurrOrderedMachiningParam(MachiningParam.Params.PRINT_ORDER, nPartId, nIndex, bForceFromDb, Me), 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.SCREWBACK, nPartId, nIndex, bForceFromDb, Me), + New CurrNumericMachiningParam(MachiningParam.Params.SLICINGHEIGHT, nPartId, nIndex, bForceFromDb, Me)}) Case Cathegories.LINK m_sName = "Shell" - m_MachiningParamList = New List(Of MachiningParam)({New CurrComboMachiningParam(MachiningParam.Params.LINKTYPE, nPartId, nIndex, bForceFromDb, Me), + m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.INNERSHELLWIDTH, nPartId, nIndex, bForceFromDb, Me), + New CurrNumericMachiningParam(MachiningParam.Params.OFFSETLEADPOINT, nPartId, nIndex, bForceFromDb, Me), + New CurrComboMachiningParam(MachiningParam.Params.LINKTYPE, nPartId, nIndex, bForceFromDb, Me), New CurrNumericMachiningParam(MachiningParam.Params.LINKPARAM, nPartId, nIndex, bForceFromDb, Me), New CurrComboMachiningParam(MachiningParam.Params.LEADIN, nPartId, nIndex, bForceFromDb, Me), New CurrNumericMachiningParam(MachiningParam.Params.LEADINTANGDIST, nPartId, nIndex, bForceFromDb, Me), New CurrNumericMachiningParam(MachiningParam.Params.LEADINORTHODIST, nPartId, nIndex, bForceFromDb, Me), - New CurrNumericMachiningParam(MachiningParam.Params.OFFSETLEADPOINT, nPartId, nIndex, bForceFromDb, Me), New CurrComboMachiningParam(MachiningParam.Params.LEADOUT, nPartId, nIndex, bForceFromDb, Me), New CurrNumericMachiningParam(MachiningParam.Params.LEADOUTTANGDIST, nPartId, nIndex, bForceFromDb, Me), New CurrNumericMachiningParam(MachiningParam.Params.LEADOUTORTHODIST, nPartId, nIndex, bForceFromDb, Me), @@ -238,7 +241,8 @@ Public Class CurrMachiningCathegory 'New CurrNumericMachiningParam(MachiningParam.Params.WIPEDIR, nPartId, nIndex, bForceFromDb, Me)}) Case Cathegories.RIBS m_sName = "Ribs" - m_MachiningParamList = New List(Of MachiningParam)({New CurrComboMachiningParam(MachiningParam.Params.RIBSTYPE, nPartId, nIndex, bForceFromDb, Me), + m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.RIBSSTRANDWIDTH, nPartId, nIndex, bForceFromDb, Me), + 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.RIBSSTRANDCOUNT, nPartId, nIndex, bForceFromDb, Me), @@ -261,15 +265,42 @@ 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), + m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSSTRANDWIDTH, nPartId, nIndex, bForceFromDb, Me), New CurrComboMachiningParam(MachiningParam.Params.AUXSOLIDSINFILL, nPartId, nIndex, bForceFromDb, Me), + New CurrCheckMachiningParam(MachiningParam.Params.AUXSOLIDSINFILLLINK, nPartId, nIndex, bForceFromDb, Me), + New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSSTRANDCOUNT, 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.INFILLSTRANDWIDTH, nPartId, nIndex, bForceFromDb, Me), + 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 CurrCheckMachiningParam(MachiningParam.Params.INFILLLINK, 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 +319,19 @@ Public Class CurrMachiningCathegory Dim MachiningParam As ComboMachiningParam = MachiningParamList.FirstOrDefault(Function(z) z.Type = Param) MachiningParam.ManageDependencyParam() Next + For Each Param In {MachiningParam.Params.AUXSOLIDSSTRANDCOUNT} + Dim MachiningParam As NumericMachiningParam = 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 @@ -320,14 +364,32 @@ Public Class CurrNumericMachiningParam StringToDouble(value, dTempValue) End If If m_bIsActiveMinMax Then - If dTempValue >= m_dMinValue AndAlso dTempValue <= m_dMaxValue Then - m_dValue = dTempValue + If m_MinMaxType = MinMaxTypes.ABSOLUT Then + If dTempValue >= m_dMinValue AndAlso dTempValue <= m_dMaxValue Then + m_dValue = dTempValue + End If + ElseIf m_MinMaxType = MinMaxTypes.PERCENTAGE Then + Dim LinkedParam As MachiningParam = Nothing + ' cerco il parametro a cui e' collegato + For Each CurrCathegory In Map.refMachiningDbVM.SelMachining.CathegoryList + LinkedParam = CurrCathegory.MachiningParamList.FirstOrDefault(Function(x) x.Type = m_MinMaxLinkedParam) + If Not IsNothing(LinkedParam) Then Exit For + Next + If Not IsNothing(LinkedParam) AndAlso TypeOf LinkedParam Is NumericMachiningParam Then + Dim NumericLinkedParam As NumericMachiningParam = DirectCast(LinkedParam, NumericMachiningParam) + If dTempValue >= NumericLinkedParam.dValue * m_dMinValue / 100 AndAlso dTempValue <= NumericLinkedParam.dValue * m_dMaxValue / 100 Then + m_dValue = dTempValue + End If + Else + m_dValue = dTempValue + End If End If Else m_dValue = dTempValue End If NotifyPropertyChanged(NameOf(sValue)) NotifyPropertyChanged(NameOf(bIsModifiedFromDb)) + ManageDependencyParam() End Set End Property @@ -375,6 +437,9 @@ Public Class CurrNumericMachiningParam Case Params.LINKZUP bReadFromPart = EgtGetInfo(nPartId, MAC_LINKZUP, m_dValue) m_bIsLen = True + Case Params.INNERSHELLWIDTH + bReadFromPart = EgtGetInfo(nPartId, MAC_INNERSHELLWIDTH, m_dValue) + m_bIsLen = True Case Params.OFFSETLEADPOINT bReadFromPart = EgtGetInfo(nPartId, MAC_OFFSETLEADPOINT, m_dValue) m_bIsLen = True @@ -426,6 +491,12 @@ Public Class CurrNumericMachiningParam Case Params.SCREWBACK bReadFromPart = EgtGetInfo(nPartId, MAC_SCREWBACK, m_dValue) m_bIsLen = True + Case Params.SLICINGHEIGHT + bReadFromPart = EgtGetInfo(nPartId, MAC_SLICINGHEIGHT, m_dValue) + m_bIsLen = True + 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 @@ -459,15 +530,39 @@ Public Class CurrNumericMachiningParam Case Params.SHELLNBRWIPEDIR bReadFromPart = EgtGetInfo(nPartId, MAC_SHELLNBRWIPEDIR, m_dValue) m_bIsLen = False + Case Params.AUXSOLIDSSTRANDWIDTH + bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSSTRANDWIDTH, m_dValue) + m_bIsLen = True Case Params.AUXSOLIDSOVERLAP bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSOVERLAP, m_dValue) m_bIsLen = False Case Params.AUXSOLIDSLINKPARAM bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSLINKPARAM, m_dValue) m_bIsLen = True + Case Params.AUXSOLIDSSTRANDCOUNT + bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSSTRANDCOUNT, m_dValue) + m_bIsLen = False 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,27 +575,66 @@ 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.INFILLSTRANDWIDTH + bReadFromPart = EgtGetInfo(nPartId, MAC_INFILLSTRANDWIDTH, m_dValue) + m_bIsLen = True + 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, Params.SLICINGHEIGHT 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, + 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.RIBSOVERLAP, Params.RIBSSTRANDCOUNT, Params.RIBSLINK, Params.RIBSINVERTORDER, Params.RIBSINVERTDIRECTION, + Case Params.RIBSSTRANDWIDTH, Params.RIBSOVERLAP, Params.RIBSSTRANDCOUNT, Params.RIBSLINK, Params.RIBSINVERTORDER, Params.RIBSINVERTDIRECTION, Params.RIBSLEADININVERT, Params.RIBSLEADINLEN, Params.RIBSLEADOUTINVERT, Params.RIBSLEADOUTLEN, Params.RIBSLEADOUTCOASTING, Params.RIBSLEADOUTWIPE, Params.RIBSLEADOUTWIPEDIR m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.RIBS).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type) 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.AUXSOLIDSCOASTINGLEN, Params.AUXSOLIDSWIPELEN, Params.AUXSOLIDSWIPEDIR + Case Params.AUXSOLIDSSTRANDWIDTH, Params.AUXSOLIDSOVERLAP, Params.AUXSOLIDSLINKPARAM, Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE, + Params.AUXSOLIDSOFFSETLEADPOINT, Params.AUXSOLIDSDENSITY, Params.AUXSOLIDSGRIDOVERLAP, + Params.AUXSOLIDSDIRECTION, Params.AUXSOLIDSOFFSETX, Params.AUXSOLIDSOFFSETY, + Params.AUXSOLIDSCOASTINGLEN, Params.AUXSOLIDSWIPELEN, Params.AUXSOLIDSWIPEDIR, Params.AUXSOLIDSSTRANDCOUNT m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.AUX_SOLID).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type) + Case Params.INFILLSTRANDWIDTH, 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 @@ -539,6 +673,8 @@ Public Class CurrNumericMachiningParam EgtSetInfo(nPartId, MAC_LINKPARAM, sWriteValue) Case Params.LINKZUP EgtSetInfo(nPartId, MAC_LINKZUP, sWriteValue) + Case Params.INNERSHELLWIDTH + EgtSetInfo(nPartId, MAC_INNERSHELLWIDTH, sWriteValue) Case Params.OFFSETLEADPOINT EgtSetInfo(nPartId, MAC_OFFSETLEADPOINT, sWriteValue) Case Params.LEADINTANGDIST @@ -573,6 +709,10 @@ Public Class CurrNumericMachiningParam EgtSetInfo(nPartId, MAC_POSTFLOWDELAY, sWriteValue) Case Params.SCREWBACK EgtSetInfo(nPartId, MAC_SCREWBACK, sWriteValue) + Case Params.SLICINGHEIGHT + EgtSetInfo(nPartId, MAC_SLICINGHEIGHT, sWriteValue) + Case Params.RIBSSTRANDWIDTH + EgtSetInfo(nPartId, MAC_RIBSSTRANDWIDTH, sWriteValue) Case Params.RIBSOVERLAP EgtSetInfo(nPartId, MAC_RIBSOVERLAP, sWriteValue) Case Params.RIBSSTRANDCOUNT @@ -595,12 +735,28 @@ Public Class CurrNumericMachiningParam EgtSetInfo(nPartId, MAC_SHELLNBRWIPE, sWriteValue) Case Params.SHELLNBRWIPEDIR EgtSetInfo(nPartId, MAC_SHELLNBRWIPEDIR, sWriteValue) + Case Params.AUXSOLIDSSTRANDWIDTH + EgtSetInfo(nPartId, MAC_AUXSOLIDSSTRANDWIDTH, sWriteValue) + Case Params.AUXSOLIDSSTRANDCOUNT + EgtSetInfo(nPartId, MAC_AUXSOLIDSSTRANDCOUNT, sWriteValue) Case Params.AUXSOLIDSOVERLAP EgtSetInfo(nPartId, MAC_AUXSOLIDSOVERLAP, sWriteValue) Case Params.AUXSOLIDSLINKPARAM 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 +765,28 @@ Public Class CurrNumericMachiningParam EgtSetInfo(nPartId, MAC_AUXSOLIDSWIPEDIR, sWriteValue) Case Params.FLOWRATE_PC EgtSetInfo(nPartId, MAC_CONSTANT, sWriteValue) + Case Params.INFILLSTRANDWIDTH + EgtSetInfo(nPartId, MAC_INFILLSTRANDWIDTH, 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 +989,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 +1019,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 +1054,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 +1094,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 @@ -976,6 +1189,10 @@ Public Class CurrCheckMachiningParam bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADOUTINVERT, m_bValue) Case Params.RIBSLIMITUNBOUNDEDWITHSOLID bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLIMITUNBOUNDEDWITHSOLID, m_bValue) + Case Params.AUXSOLIDSINFILLLINK + bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSINFILLLINK, m_bValue) + Case Params.INFILLLINK + bReadFromPart = EgtGetInfo(nPartId, MAC_INFILLLINK, m_bValue) End Select m_bOrigValue = m_bValue If nIndex > 0 Then @@ -985,6 +1202,10 @@ Public Class CurrCheckMachiningParam m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type) Case Params.RIBSLINK, Params.RIBSINVERTORDER, Params.RIBSINVERTDIRECTION, Params.RIBSINVERTSTRANDORDER, Params.RIBSLEADININVERT, Params.RIBSLEADOUTINVERT, Params.RIBSLIMITUNBOUNDEDWITHSOLID m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.RIBS).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type) + Case Params.AUXSOLIDSINFILLLINK + m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.AUX_SOLID).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type) + Case Params.INFILLLINK + 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_bValue = m_DbParam.bOrigValue @@ -1011,6 +1232,10 @@ Public Class CurrCheckMachiningParam EgtSetInfo(nPartId, MAC_RIBSLEADOUTINVERT, If(m_bValue, 1, 0)) Case Params.RIBSLIMITUNBOUNDEDWITHSOLID EgtSetInfo(nPartId, MAC_RIBSLIMITUNBOUNDEDWITHSOLID, If(m_bValue, 1, 0)) + Case Params.AUXSOLIDSINFILLLINK + EgtSetInfo(nPartId, MAC_AUXSOLIDSINFILLLINK, If(m_bValue, 1, 0)) + Case Params.INFILLLINK + EgtSetInfo(nPartId, MAC_INFILLLINK, If(m_bValue, 1, 0)) End Select End Sub diff --git a/Icarus/CurrMachiningPanel/CurrMachiningPanelV.xaml b/Icarus/CurrMachiningPanel/CurrMachiningPanelV.xaml index fb11a8e..736ad7d 100644 --- a/Icarus/CurrMachiningPanel/CurrMachiningPanelV.xaml +++ b/Icarus/CurrMachiningPanel/CurrMachiningPanelV.xaml @@ -54,9 +54,16 @@ - + + + + - + + + + - + + + + + + + + + + + + + +