From f7b4f710ef5a6fa78e18f858c2eee565a1280e22 Mon Sep 17 00:00:00 2001 From: Emmanuele Sassi Date: Fri, 3 Mar 2023 17:31:54 +0100 Subject: [PATCH] - introdotto check per limitare ribs unbounded al solido di stampa --- Icarus/Constants/Const3dPrint.vb | 1 + Icarus/CurrMachiningPanel/CurrMachining.vb | 9 +- Icarus/MachiningDb/Machining.vb | 125 +++++++++++---------- 3 files changed, 74 insertions(+), 61 deletions(-) diff --git a/Icarus/Constants/Const3dPrint.vb b/Icarus/Constants/Const3dPrint.vb index 40c303d..316a150 100644 --- a/Icarus/Constants/Const3dPrint.vb +++ b/Icarus/Constants/Const3dPrint.vb @@ -117,6 +117,7 @@ Public Const MAC_RIBSLEADOUTCOASTING = "RibsLeadOutCoasting" Public Const MAC_RIBSLEADOUTWIPE = "RibsLeadOutWipe" Public Const MAC_RIBSLEADOUTWIPEDIR = "RibsLeadOutWipeDir" + Public Const MAC_RIBSLIMITUNBOUNDEDWITHSOLID = "LimitUnboundedRibsWithSolid" Public Const MAC_SHELLNBRDIFFERENCE = "ShellNbrDifference" Public Const MAC_SHELLNBRCOASTING = "ShellNbrCoasting" Public Const MAC_SHELLNBRWIPE = "ShellNbrWipe" diff --git a/Icarus/CurrMachiningPanel/CurrMachining.vb b/Icarus/CurrMachiningPanel/CurrMachining.vb index 3b463c8..cbcda8f 100644 --- a/Icarus/CurrMachiningPanel/CurrMachining.vb +++ b/Icarus/CurrMachiningPanel/CurrMachining.vb @@ -248,7 +248,8 @@ Public Class CurrMachiningCathegory New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTLEN, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTCOASTING, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPE, nPartId, nIndex, bForceFromDb), - New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPEDIR, nPartId, nIndex, bForceFromDb)}) + New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPEDIR, nPartId, nIndex, bForceFromDb), + New CurrNumericMachiningParam(MachiningParam.Params.RIBSLIMITUNBOUNDEDWITHSOLID, nPartId, nIndex, bForceFromDb)}) Case Cathegories.SHELL_NUMBER m_sName = "Reduce Shell Number" m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.SHELLNBRDIFFERENCE, nPartId, nIndex, bForceFromDb), @@ -922,6 +923,8 @@ Public Class CurrCheckMachiningParam bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADININVERT, m_bValue) Case Params.RIBSLEADOUTINVERT bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADOUTINVERT, m_bValue) + Case Params.RIBSLIMITUNBOUNDEDWITHSOLID + bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLIMITUNBOUNDEDWITHSOLID, m_bValue) End Select m_bOrigValue = m_bValue If nIndex > 0 Then @@ -929,7 +932,7 @@ Public Class CurrCheckMachiningParam Select Case Type Case Params.SPIRALVASE 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 + 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) End Select If bForceFromDb OrElse Not bReadFromPart Then @@ -955,6 +958,8 @@ Public Class CurrCheckMachiningParam EgtSetInfo(nPartId, MAC_RIBSLEADININVERT, If(m_bValue, 1, 0)) Case Params.RIBSLEADOUTINVERT EgtSetInfo(nPartId, MAC_RIBSLEADOUTINVERT, If(m_bValue, 1, 0)) + Case Params.RIBSLIMITUNBOUNDEDWITHSOLID + EgtSetInfo(nPartId, MAC_RIBSLIMITUNBOUNDEDWITHSOLID, If(m_bValue, 1, 0)) End Select End Sub diff --git a/Icarus/MachiningDb/Machining.vb b/Icarus/MachiningDb/Machining.vb index c375813..9707b47 100644 --- a/Icarus/MachiningDb/Machining.vb +++ b/Icarus/MachiningDb/Machining.vb @@ -363,7 +363,8 @@ Public Class MachiningCathegory New NumericMachiningParam(MachiningParam.Params.RIBSLEADOUTLEN, nIndex), New NumericMachiningParam(MachiningParam.Params.RIBSLEADOUTCOASTING, nIndex), New NumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPE, nIndex), - New NumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPEDIR, nIndex)}) + New NumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPEDIR, nIndex), + New CheckMachiningParam(MachiningParam.Params.RIBSLIMITUNBOUNDEDWITHSOLID, nIndex)}) Case Cathegories.SHELL_NUMBER m_sName = "Reduce Shell Number" m_MachiningParamList = New List(Of MachiningParam)({New NumericMachiningParam(MachiningParam.Params.SHELLNBRDIFFERENCE, nIndex), @@ -420,67 +421,67 @@ Public MustInherit Class MachiningParam Inherits VMBase Public Enum Params As Integer - NAME = 2 - SLICINGTYPE = 3 - STRANDH = 4 - STRANDW = 5 - STRANDCOUNT = 6 - OFFSET = 7 + SLICINGTYPE = 1 + SPIRALVASE = 2 + STRANDH = 3 + STRANDW = 4 + STRANDCOUNT = 5 + OFFSET = 6 + STRANDOVERLAP = 7 STARTPOINTOFFSETONSLICE = 8 STRANDORDER = 9 DIRECTION = 10 - LINKTYPE = 11 - LINKPARAM = 12 - LINKZUP = 13 - OFFSETLEADPOINT = 14 - LEADIN = 15 - LEADINTANGDIST = 16 - LEADINORTHODIST = 17 - LEADOUT = 18 - LEADOUTTANGDIST = 19 - LEADOUTORTHODIST = 20 - COASTINGLEN = 21 - COASTINGFEED_PC = 22 - WIPELEN = 23 - WIPEFEED_PC = 24 - FLOORCOUNT = 25 - G0FEED = 26 - G0FEEDZ = 27 - TOOLDIAM = 28 - RIBSTYPE = 29 - RIBSOVERLAP = 30 - RIBSSTRANDCOUNT = 31 - RIBSLINK = 32 - RIBSINVERTORDER = 33 - RIBSINVERTDIRECTION = 34 - RIBSLEADININVERT = 35 - RIBSLEADINLEN = 36 - RIBSLEADOUTINVERT = 37 - RIBSLEADOUTLEN = 38 - RIBSLEADOUTCOASTING = 39 - RIBSLEADOUTWIPE = 40 - RIBSLEADOUTWIPEDIR = 41 - SHELLNBRDIFFERENCE = 42 - SHELLNBRCOASTING = 43 - SHELLNBRWIPE = 44 - SHELLNBRWIPEDIR = 45 - AUXSOLIDSOVERLAP = 46 - AUXSOLIDSINFILL = 47 - AUXSOLIDSSTRANDORDER = 48 - AUXSOLIDSLINKTYPE = 49 - AUXSOLIDSLINKPARAM = 50 - AUXSOLIDSSTARTPOINTOFFSETONSLICE = 51 - AUXSOLIDSCOASTINGLEN = 52 - AUXSOLIDSWIPELEN = 53 - AUXSOLIDSWIPEDIR = 54 - SPIRALVASE = 55 - 'WIPEDIR = 56 - STRANDOVERLAP = 57 - FLOWRATE_PC = 58 - DYNAMIC_MODE = 59 - PRINT_ORDER = 60 - RIBSINVERTSTRANDORDER = 61 - MATERIALS = 100 + FLOORCOUNT = 11 + G0FEED = 12 + G0FEEDZ = 13 + TOOLDIAM = 14 + FLOWRATE_PC = 15 + DYNAMIC_MODE = 16 + PRINT_ORDER = 17 + LINKTYPE = 51 + LINKPARAM = 52 + LINKZUP = 53 + LEADIN = 54 + LEADINTANGDIST = 55 + LEADINORTHODIST = 56 + OFFSETLEADPOINT = 57 + LEADOUT = 58 + LEADOUTTANGDIST = 59 + LEADOUTORTHODIST = 60 + COASTINGLEN = 61 + COASTINGFEED_PC = 62 + WIPELEN = 63 + WIPEFEED_PC = 64 + 'WIPEDIR = 65 + RIBSTYPE = 101 + RIBSOVERLAP = 102 + RIBSSTRANDCOUNT = 103 + RIBSLINK = 104 + RIBSINVERTORDER = 105 + RIBSINVERTDIRECTION = 106 + RIBSINVERTSTRANDORDER = 107 + RIBSLEADININVERT = 108 + RIBSLEADINLEN = 109 + RIBSLEADOUTINVERT = 110 + RIBSLEADOUTLEN = 111 + RIBSLEADOUTCOASTING = 112 + RIBSLEADOUTWIPE = 113 + RIBSLEADOUTWIPEDIR = 114 + RIBSLIMITUNBOUNDEDWITHSOLID = 115 + SHELLNBRDIFFERENCE = 151 + SHELLNBRCOASTING = 152 + SHELLNBRWIPE = 153 + SHELLNBRWIPEDIR = 154 + AUXSOLIDSOVERLAP = 201 + AUXSOLIDSINFILL = 202 + AUXSOLIDSSTRANDORDER = 203 + AUXSOLIDSLINKTYPE = 204 + AUXSOLIDSLINKPARAM = 205 + AUXSOLIDSSTARTPOINTOFFSETONSLICE = 206 + AUXSOLIDSCOASTINGLEN = 207 + AUXSOLIDSWIPELEN = 208 + AUXSOLIDSWIPEDIR = 209 + MATERIALS = 250 End Enum Protected m_Type As Params @@ -582,6 +583,8 @@ Public MustInherit Class MachiningParam m_sName = "Lead Out Wipe" Case Params.RIBSLEADOUTWIPEDIR m_sName = "Lead Out Wipe Dir [deg]" + Case Params.RIBSLIMITUNBOUNDEDWITHSOLID + m_sName = "Limit Unbounded With Solid" Case Params.SHELLNBRDIFFERENCE m_sName = "Difference" Case Params.SHELLNBRCOASTING @@ -1168,6 +1171,8 @@ Public Class CheckMachiningParam m_bValue = ReadMachiningParamDouble(nIndex, MAC_RIBSLEADININVERT, 0) Case Params.RIBSLEADOUTINVERT m_bValue = ReadMachiningParamDouble(nIndex, MAC_RIBSLEADOUTINVERT, 0) + Case Params.RIBSLIMITUNBOUNDEDWITHSOLID + m_bValue = ReadMachiningParamDouble(nIndex, MAC_RIBSLIMITUNBOUNDEDWITHSOLID, 0) End Select End If m_bOrigValue = m_bValue @@ -1189,6 +1194,8 @@ Public Class CheckMachiningParam WriteMachiningParam(nIndex, MAC_RIBSLEADININVERT, If(m_bValue, 1, 0), sFilePath) Case Params.RIBSLEADOUTINVERT WriteMachiningParam(nIndex, MAC_RIBSLEADOUTINVERT, If(m_bValue, 1, 0), sFilePath) + Case Params.RIBSLIMITUNBOUNDEDWITHSOLID + WriteMachiningParam(nIndex, MAC_RIBSLIMITUNBOUNDEDWITHSOLID, If(m_bValue, 1, 0), sFilePath) End Select End Sub