From 91950c600cea3041dacbd170ae1e7f5f8fb0af27 Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Tue, 23 Jun 2026 16:32:57 +0200 Subject: [PATCH] Icarus : - aggiunto parametro di lavorazione FCSTRANDOVERLAP ("InfillStrandOverlap"). --- Icarus/Constants/Const3dPrint.vb | 3 ++- Icarus/CurrMachiningPanel/CurrMachining.vb | 18 +++++++++++------ Icarus/MachiningDb/Machining.vb | 23 +++++++++++++++------- Icarus/Utility/CurrentMachine.vb | 8 +++++++- 4 files changed, 37 insertions(+), 15 deletions(-) diff --git a/Icarus/Constants/Const3dPrint.vb b/Icarus/Constants/Const3dPrint.vb index 6410c44..bf25973 100644 --- a/Icarus/Constants/Const3dPrint.vb +++ b/Icarus/Constants/Const3dPrint.vb @@ -106,7 +106,6 @@ Public Const MAC_WIPEFEEDPU = "WipeFeedPu" Public Const MAC_SPIRALVASELEN = "SpiralVaseLen" Public Const MAC_WIPEDIR = "WipeDir" - Public Const MAC_FLOORCOUNT = "FloorCount" Public Const MAC_G0FEED = "G0Feed" Public Const MAC_G0FEEDZ = "G0FeedZ" Public Const MAC_TOOLDIAM = "ToolDiam" @@ -159,9 +158,11 @@ Public Const MAC_AUXSOLIDSWIPELEN = "AuxSolidsWipeLen" Public Const MAC_AUXSOLIDSWIPEDIR = "AuxSolidsWipeDir" Public Const MAC_INFILLSTRANDWIDTH = "InfillStrandW" + Public Const MAC_FLOORCOUNT = "FloorCount" Public Const MAC_FLOORTYPE = "FloorType" Public Const MAC_CEILCOUNT = "CeilCount" Public Const MAC_CEILTYPE = "CeilType" + Public Const MAC_FCSTRANDOVERLAP = "InfillStrandOverlap" Public Const MAC_INFILLTYPE = "InfillType" Public Const MAC_INFILLLINK = "InfillLink" Public Const MAC_INFILLDENSITY = "InfillDensity" diff --git a/Icarus/CurrMachiningPanel/CurrMachining.vb b/Icarus/CurrMachiningPanel/CurrMachining.vb index 7f75ef0..0cf5b43 100644 --- a/Icarus/CurrMachiningPanel/CurrMachining.vb +++ b/Icarus/CurrMachiningPanel/CurrMachining.vb @@ -299,6 +299,7 @@ Public Class CurrMachiningCathegory 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 CurrNumericMachiningParam(MachiningParam.Params.FCSTRANDOVERLAP, 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), @@ -487,9 +488,6 @@ Public Class CurrNumericMachiningParam 'Case Params.WIPEDIR ' bReadFromPart = EgtGetInfo(nPartId, MAC_WIPEDIR, m_dValue) ' m_bIsLen = True - Case Params.FLOORCOUNT - bReadFromPart = EgtGetInfo(nPartId, MAC_FLOORCOUNT, m_dValue) - m_bIsLen = False Case Params.G0FEED bReadFromPart = EgtGetInfo(nPartId, MAC_G0FEED, m_dValue) m_bIsLen = True @@ -604,9 +602,15 @@ Public Class CurrNumericMachiningParam Case Params.FLOWRATE_PC bReadFromPart = EgtGetInfo(nPartId, MAC_CONSTANT, m_dValue) m_bIsLen = False + Case Params.FLOORCOUNT + bReadFromPart = EgtGetInfo(nPartId, MAC_FLOORCOUNT, m_dValue) + m_bIsLen = False Case Params.CEILCOUNT bReadFromPart = EgtGetInfo(nPartId, MAC_CEILCOUNT, m_dValue) m_bIsLen = False + Case Params.FCSTRANDOVERLAP + bReadFromPart = EgtGetInfo(nPartId, MAC_FCSTRANDOVERLAP, m_dValue) + m_bIsLen = False Case Params.INFILLSTRANDWIDTH bReadFromPart = EgtGetInfo(nPartId, MAC_INFILLSTRANDWIDTH, m_dValue) m_bIsLen = True @@ -660,7 +664,7 @@ Public Class CurrNumericMachiningParam 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, + Case Params.INFILLSTRANDWIDTH, Params.FLOORCOUNT, Params.CEILCOUNT, Params.FCSTRANDOVERLAP, 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) @@ -726,8 +730,6 @@ Public Class CurrNumericMachiningParam EgtSetInfo(nPartId, MAC_SPIRALVASELEN, sWriteValue) 'Case Params.WIPEDIR ' EgtSetInfo(nPartId, MAC_WIPEDIR, sWriteValue) - Case Params.FLOORCOUNT - EgtSetInfo(nPartId, MAC_FLOORCOUNT, sWriteValue) Case Params.G0FEED EgtSetInfo(nPartId, MAC_G0FEED, sWriteValue) Case Params.G0FEEDZ @@ -806,8 +808,12 @@ Public Class CurrNumericMachiningParam EgtSetInfo(nPartId, MAC_CONSTANT, sWriteValue) Case Params.INFILLSTRANDWIDTH EgtSetInfo(nPartId, MAC_INFILLSTRANDWIDTH, sWriteValue) + Case Params.FLOORCOUNT + EgtSetInfo(nPartId, MAC_FLOORCOUNT, sWriteValue) Case Params.CEILCOUNT EgtSetInfo(nPartId, MAC_CEILCOUNT, sWriteValue) + Case Params.FCSTRANDOVERLAP + EgtSetInfo(nPartId, MAC_FCSTRANDOVERLAP, sWriteValue) Case Params.INFILLDENSITY EgtSetInfo(nPartId, MAC_INFILLDENSITY, sWriteValue) Case Params.INFILLOVERLAP diff --git a/Icarus/MachiningDb/Machining.vb b/Icarus/MachiningDb/Machining.vb index 62405b2..2cd9948 100644 --- a/Icarus/MachiningDb/Machining.vb +++ b/Icarus/MachiningDb/Machining.vb @@ -431,6 +431,7 @@ Public Class MachiningCathegory New ComboMachiningParam(MachiningParam.Params.FLOORTYPE, nIndex, Me), New NumericMachiningParam(MachiningParam.Params.CEILCOUNT, nIndex, Me), New ComboMachiningParam(MachiningParam.Params.CEILTYPE, nIndex, Me), + New NumericMachiningParam(MachiningParam.Params.FCSTRANDOVERLAP, nIndex, Me), New ComboMachiningParam(MachiningParam.Params.INFILLTYPE, nIndex, Me), New CheckMachiningParam(MachiningParam.Params.INFILLLINK, nIndex, Me), New NumericMachiningParam(MachiningParam.Params.INFILLDENSITY, nIndex, Me), @@ -620,6 +621,7 @@ Public MustInherit Class MachiningParam INFILLWIPE = 263 INFILLWIPEDIR = 264 INFILLSTRANDWIDTH = 265 + FCSTRANDOVERLAP = 266 Materials = 500 End Enum @@ -717,8 +719,6 @@ Public MustInherit Class MachiningParam m_sName = "Wipe Feed [%]" Case Params.SPIRALVASELEN m_sName = "Spiral Trans Len" - Case Params.FLOORCOUNT - m_sName = "Floor Count" Case Params.G0FEED m_sName = "G0 Feed" Case Params.G0FEEDZ @@ -835,10 +835,14 @@ Public MustInherit Class MachiningParam m_sName = "Print Order" Case Params.INFILLSTRANDWIDTH m_sName = "Custom Strand Width" + Case Params.FLOORCOUNT + m_sName = "Floor Count" Case Params.FLOORTYPE m_sName = "Floor Type" Case Params.CEILCOUNT m_sName = "Ceil Count" + Case Params.FCSTRANDOVERLAP + m_sName = "Floor Ceil Overlap [%]" Case Params.CEILTYPE m_sName = "Ceil Type" Case Params.INFILLTYPE @@ -1073,9 +1077,6 @@ Public Class NumericMachiningParam 'Case Params.WIPEDIR ' m_dValue = ReadMachiningParamDouble(nIndex, MAC_WIPEDIR, 0) ' m_bIsLen = True - Case Params.FLOORCOUNT - m_dValue = ReadMachiningParamDouble(nIndex, MAC_FLOORCOUNT, 0) - m_bIsLen = False Case Params.G0FEED m_dValue = ReadMachiningParamDouble(nIndex, MAC_G0FEED, 10000) m_bIsLen = True @@ -1193,9 +1194,15 @@ Public Class NumericMachiningParam Case Params.INFILLSTRANDWIDTH m_dValue = ReadMachiningParamDouble(nIndex, MAC_INFILLSTRANDWIDTH, 0) m_bIsLen = True + Case Params.FLOORCOUNT + m_dValue = ReadMachiningParamDouble(nIndex, MAC_FLOORCOUNT, 0) + m_bIsLen = False Case Params.CEILCOUNT m_dValue = ReadMachiningParamDouble(nIndex, MAC_CEILCOUNT, 0) m_bIsLen = False + Case Params.FCSTRANDOVERLAP + m_dValue = ReadMachiningParamDouble(nIndex, MAC_FCSTRANDOVERLAP, 0) + m_bIsLen = False Case Params.INFILLDENSITY m_dValue = ReadMachiningParamDouble(nIndex, MAC_INFILLDENSITY, 0) m_bIsLen = False @@ -1300,8 +1307,6 @@ Public Class NumericMachiningParam WriteMachiningParam(nIndex, MAC_SPIRALVASELEN, sWriteValue, sFilePath) 'Case Params.WIPEDIR ' WriteMachiningParam(nIndex, MAC_WIPEDIR, sWriteValue, sFilePath) - Case Params.FLOORCOUNT - WriteMachiningParam(nIndex, MAC_FLOORCOUNT, sWriteValue, sFilePath) Case Params.G0FEED WriteMachiningParam(nIndex, MAC_G0FEED, sWriteValue, sFilePath) Case Params.G0FEEDZ @@ -1380,8 +1385,12 @@ Public Class NumericMachiningParam WriteMachiningParam(nIndex, MAC_CONSTANT, sWriteValue, sFilePath) Case Params.INFILLSTRANDWIDTH WriteMachiningParam(nIndex, MAC_INFILLSTRANDWIDTH, sWriteValue, sFilePath) + Case Params.FLOORCOUNT + WriteMachiningParam(nIndex, MAC_FLOORCOUNT, sWriteValue, sFilePath) Case Params.CEILCOUNT WriteMachiningParam(nIndex, MAC_CEILCOUNT, sWriteValue, sFilePath) + Case Params.FCSTRANDOVERLAP + WriteMachiningParam(nIndex, MAC_FCSTRANDOVERLAP, sWriteValue, sFilePath) Case Params.INFILLDENSITY WriteMachiningParam(nIndex, MAC_INFILLDENSITY, sWriteValue, sFilePath) Case Params.INFILLOVERLAP diff --git a/Icarus/Utility/CurrentMachine.vb b/Icarus/Utility/CurrentMachine.vb index 4509dfa..8c2522e 100644 --- a/Icarus/Utility/CurrentMachine.vb +++ b/Icarus/Utility/CurrentMachine.vb @@ -154,9 +154,15 @@ Public Module CurrentMachine Public Sub CreateMachineTable() ' Disabilito segnalazione modificato Dim DisableMgr As New DisableModifiedMgr + ' Cancello eventuali gruppi con lo stesso nome giĆ  presenti + Dim nGrpId As Integer = EgtGetFirstNameInGroup(GDB_ID.ROOT, TABLE) + While nGrpId <> GDB_ID.NULL + EgtErase( nGrpId) + nGrpId = EgtGetFirstNameInGroup(GDB_ID.ROOT, TABLE) + End While + ' Disegno tavola Dim dTabX = b3Tab.DimX() Dim dTabY = b3Tab.DimY() - ' Disegno tavola Dim nTabPartId As Integer = EgtCreateGroup(GDB_ID.ROOT) EgtSetLevel(nTabPartId, GDB_LV.SYSTEM) EgtSetMode(nTabPartId, GDB_MD.LOCKED)