diff --git a/Icarus/Constants/Const3dPrint.vb b/Icarus/Constants/Const3dPrint.vb index 8330445..1b3ba5c 100644 --- a/Icarus/Constants/Const3dPrint.vb +++ b/Icarus/Constants/Const3dPrint.vb @@ -117,6 +117,7 @@ Public Const MAC_RIBSOVERLAP = "RibsOverlap" Public Const MAC_RIBSSTRANDCOUNT = "RibsStrandCount" Public Const MAC_RIBSLINK = "RibsLink" + Public Const MAC_RIBSLINKFILLET = "RibsLinkFillet" Public Const MAC_RIBSMERGEWITHSHELL = "RibsMergeWithShell" Public Const MAC_RIBSINVERTMERGEDSHELLMAINLINK = "InvertRibsMergedShellMainLink" Public Const MAC_RIBSINVERTORDER = "RibsInvertOrder" @@ -129,6 +130,7 @@ Public Const MAC_RIBSLEADOUTCOASTING = "RibsLeadOutCoasting" Public Const MAC_RIBSLEADOUTWIPE = "RibsLeadOutWipe" Public Const MAC_RIBSLEADOUTWIPEDIR = "RibsLeadOutWipeDir" + Public Const MAC_RIBSLEADFILLET = "RibsLeadFillet" Public Const MAC_RIBSLIMITUNBOUNDEDWITHSOLID = "LimitUnboundedRibsWithSolid" Public Const MAC_SHELLNBRDIFFERENCE = "ShellNbrDifference" Public Const MAC_SHELLNBRCOASTING = "ShellNbrCoasting" diff --git a/Icarus/CurrMachiningPanel/CurrMachining.vb b/Icarus/CurrMachiningPanel/CurrMachining.vb index 6dc6d68..b9d3e92 100644 --- a/Icarus/CurrMachiningPanel/CurrMachining.vb +++ b/Icarus/CurrMachiningPanel/CurrMachining.vb @@ -247,6 +247,7 @@ Public Class CurrMachiningCathegory New CurrNumericMachiningParam(MachiningParam.Params.RIBSOVERLAP, nPartId, nIndex, bForceFromDb, Me), New CurrNumericMachiningParam(MachiningParam.Params.RIBSSTRANDCOUNT, nPartId, nIndex, bForceFromDb, Me), New CurrCheckMachiningParam(MachiningParam.Params.RIBSLINK, nPartId, nIndex, bForceFromDb, Me), + New CurrNumericMachiningParam(MachiningParam.Params.RIBSLINKFILLET, nPartId, nIndex, bForceFromDb, Me), New CurrCheckMachiningParam(MachiningParam.Params.RIBSMERGEWITHSHELL, nPartId, nIndex, bForceFromDb, Me), New CurrCheckMachiningParam(MachiningParam.Params.RIBSINVERTMERGEDSHELLMAINLINK, nPartId, nIndex, bForceFromDb, Me), New CurrCheckMachiningParam(MachiningParam.Params.RIBSINVERTORDER, nPartId, nIndex, bForceFromDb, Me), @@ -258,7 +259,8 @@ Public Class CurrMachiningCathegory New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTLEN, nPartId, nIndex, bForceFromDb, Me), New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTCOASTING, nPartId, nIndex, bForceFromDb, Me), New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPE, nPartId, nIndex, bForceFromDb, Me), - New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPEDIR, nPartId, nIndex, bForceFromDb, Me)}) + New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPEDIR, nPartId, nIndex, bForceFromDb, Me), + New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADFILLET, nPartId, nIndex, bForceFromDb, Me)}) Case Cathegories.SHELL_NUMBER m_sName = "Reduce Shell Number" m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.SHELLNBRDIFFERENCE, nPartId, nIndex, bForceFromDb, Me), @@ -505,6 +507,9 @@ Public Class CurrNumericMachiningParam Case Params.RIBSSTRANDCOUNT bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSSTRANDCOUNT, m_dValue) m_bIsLen = False + Case Params.RIBSLINKFILLET + bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLINKFILLET, m_dValue) + m_bIsLen = True Case Params.RIBSLEADINLEN bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADINLEN, m_dValue) m_bIsLen = True @@ -520,6 +525,9 @@ Public Class CurrNumericMachiningParam Case Params.RIBSLEADOUTWIPEDIR bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADOUTWIPEDIR, m_dValue) m_bIsLen = False + Case Params.RIBSLEADFILLET + bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADFILLET, m_dValue) + m_bIsLen = True Case Params.SHELLNBRDIFFERENCE bReadFromPart = EgtGetInfo(nPartId, MAC_SHELLNBRDIFFERENCE, m_dValue) m_bIsLen = False @@ -622,9 +630,9 @@ Public Class CurrNumericMachiningParam 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.RIBSSTRANDWIDTH, Params.RIBSOVERLAP, Params.RIBSSTRANDCOUNT, Params.RIBSLINK, Params.RIBSMERGEWITHSHELL, Params.RIBSINVERTMERGEDSHELLMAINLINK, Params.RIBSINVERTORDER, Params.RIBSINVERTDIRECTION, + Case Params.RIBSSTRANDWIDTH, Params.RIBSOVERLAP, Params.RIBSSTRANDCOUNT, Params.RIBSLINK, Params.RIBSLINKFILLET, Params.RIBSMERGEWITHSHELL, Params.RIBSINVERTMERGEDSHELLMAINLINK, Params.RIBSINVERTORDER, Params.RIBSINVERTDIRECTION, Params.RIBSLEADININVERT, Params.RIBSLEADINLEN, Params.RIBSLEADOUTINVERT, Params.RIBSLEADOUTLEN, Params.RIBSLEADOUTCOASTING, - Params.RIBSLEADOUTWIPE, Params.RIBSLEADOUTWIPEDIR + Params.RIBSLEADOUTWIPE, Params.RIBSLEADOUTWIPEDIR, Params.RIBSLEADFILLET 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) @@ -719,6 +727,8 @@ Public Class CurrNumericMachiningParam EgtSetInfo(nPartId, MAC_RIBSOVERLAP, sWriteValue) Case Params.RIBSSTRANDCOUNT EgtSetInfo(nPartId, MAC_RIBSSTRANDCOUNT, sWriteValue) + Case Params.RIBSLINKFILLET + EgtSetInfo(nPartId, MAC_RIBSLINKFILLET, sWriteValue) Case Params.RIBSLEADINLEN EgtSetInfo(nPartId, MAC_RIBSLEADINLEN, sWriteValue) Case Params.RIBSLEADOUTLEN @@ -729,6 +739,8 @@ Public Class CurrNumericMachiningParam EgtSetInfo(nPartId, MAC_RIBSLEADOUTWIPE, sWriteValue) Case Params.RIBSLEADOUTWIPEDIR EgtSetInfo(nPartId, MAC_RIBSLEADOUTWIPEDIR, sWriteValue) + Case Params.RIBSLEADFILLET + EgtSetInfo(nPartId, MAC_RIBSLEADFILLET, sWriteValue) Case Params.SHELLNBRDIFFERENCE EgtSetInfo(nPartId, MAC_SHELLNBRDIFFERENCE, sWriteValue) Case Params.SHELLNBRCOASTING diff --git a/Icarus/MachiningDb/Machining.vb b/Icarus/MachiningDb/Machining.vb index 8787a7d..f9b8faa 100644 --- a/Icarus/MachiningDb/Machining.vb +++ b/Icarus/MachiningDb/Machining.vb @@ -369,6 +369,7 @@ Public Class MachiningCathegory New NumericMachiningParam(MachiningParam.Params.RIBSOVERLAP, nIndex, Me), New NumericMachiningParam(MachiningParam.Params.RIBSSTRANDCOUNT, nIndex, Me), New CheckMachiningParam(MachiningParam.Params.RIBSLINK, nIndex, Me), + New NumericMachiningParam(MachiningParam.Params.RIBSLINKFILLET, nIndex, Me), New CheckMachiningParam(MachiningParam.Params.RIBSMERGEWITHSHELL, nIndex, Me), New CheckMachiningParam(MachiningParam.Params.RIBSINVERTMERGEDSHELLMAINLINK, nIndex, Me), New CheckMachiningParam(MachiningParam.Params.RIBSINVERTORDER, nIndex, Me), @@ -380,7 +381,8 @@ Public Class MachiningCathegory New NumericMachiningParam(MachiningParam.Params.RIBSLEADOUTLEN, nIndex, Me), New NumericMachiningParam(MachiningParam.Params.RIBSLEADOUTCOASTING, nIndex, Me), New NumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPE, nIndex, Me), - New NumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPEDIR, nIndex, Me)}) + New NumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPEDIR, nIndex, Me), + New NumericMachiningParam(MachiningParam.Params.RIBSLEADFILLET, nIndex, Me)}) Case Cathegories.SHELL_NUMBER m_sName = "Reduce Shell Number" m_MachiningParamList = New List(Of MachiningParam)({New NumericMachiningParam(MachiningParam.Params.SHELLNBRDIFFERENCE, nIndex, Me), @@ -554,6 +556,8 @@ Public MustInherit Class MachiningParam RIBSLEADOUTWIPEDIR = 116 RIBSLIMITUNBOUNDEDWITHSOLID = 117 RIBSSTRANDWIDTH = 118 + RIBSLINKFILLET = 119 + RIBSLEADFILLET = 120 SHELLNBRDIFFERENCE = 151 SHELLNBRCOASTING = 152 SHELLNBRWIPE = 153 @@ -711,6 +715,8 @@ Public MustInherit Class MachiningParam m_sName = "Strand Count" Case Params.RIBSLINK m_sName = "Link" + Case Params.RIBSLINKFILLET + m_sName = "Link Fillet" Case Params.RIBSMERGEWITHSHELL m_sName = "Merge With Shell" Case Params.RIBSINVERTMERGEDSHELLMAINLINK @@ -735,6 +741,8 @@ Public MustInherit Class MachiningParam m_sName = "Lead Out Wipe" Case Params.RIBSLEADOUTWIPEDIR m_sName = "Lead Out Wipe Dir [deg]" + Case Params.RIBSLEADFILLET + m_sName = "Lead Fillet" Case Params.RIBSLIMITUNBOUNDEDWITHSOLID m_sName = "Limit Unbounded With Solid" Case Params.SHELLNBRDIFFERENCE @@ -1063,6 +1071,9 @@ Public Class NumericMachiningParam Case Params.RIBSSTRANDCOUNT m_dValue = ReadMachiningParamDouble(nIndex, MAC_RIBSSTRANDCOUNT, 0) m_bIsLen = False + Case Params.RIBSLINKFILLET + m_dValue = ReadMachiningParamDouble(nIndex, MAC_RIBSLINKFILLET, 0) + m_bIsLen = True Case Params.RIBSLEADINLEN m_dValue = ReadMachiningParamDouble(nIndex, MAC_RIBSLEADINLEN, 0) m_bIsLen = True @@ -1078,6 +1089,9 @@ Public Class NumericMachiningParam Case Params.RIBSLEADOUTWIPEDIR m_dValue = ReadMachiningParamDouble(nIndex, MAC_RIBSLEADOUTWIPEDIR, 0) m_bIsLen = False + Case Params.RIBSLEADFILLET + m_dValue = ReadMachiningParamDouble(nIndex, MAC_RIBSLEADFILLET, 0) + m_bIsLen = True Case Params.SHELLNBRDIFFERENCE m_dValue = ReadMachiningParamDouble(nIndex, MAC_SHELLNBRDIFFERENCE, 0) m_bIsLen = False @@ -1265,6 +1279,8 @@ Public Class NumericMachiningParam WriteMachiningParam(nIndex, MAC_RIBSOVERLAP, sWriteValue, sFilePath) Case Params.RIBSSTRANDCOUNT WriteMachiningParam(nIndex, MAC_RIBSSTRANDCOUNT, sWriteValue, sFilePath) + Case Params.RIBSLINKFILLET + WriteMachiningParam(nIndex, MAC_RIBSLINKFILLET, sWriteValue, sFilePath) Case Params.RIBSLEADINLEN WriteMachiningParam(nIndex, MAC_RIBSLEADINLEN, sWriteValue, sFilePath) Case Params.RIBSLEADOUTLEN @@ -1275,6 +1291,8 @@ Public Class NumericMachiningParam WriteMachiningParam(nIndex, MAC_RIBSLEADOUTWIPE, sWriteValue, sFilePath) Case Params.RIBSLEADOUTWIPEDIR WriteMachiningParam(nIndex, MAC_RIBSLEADOUTWIPEDIR, sWriteValue, sFilePath) + Case Params.RIBSLEADFILLET + WriteMachiningParam(nIndex, MAC_RIBSLEADFILLET, sWriteValue, sFilePath) Case Params.SHELLNBRDIFFERENCE WriteMachiningParam(nIndex, MAC_SHELLNBRDIFFERENCE, sWriteValue, sFilePath) Case Params.SHELLNBRCOASTING diff --git a/Icarus/RibParamPanel/CopyFromWndVM.vb b/Icarus/RibParamPanel/CopyFromWndVM.vb index 9fa6779..76b6831 100644 --- a/Icarus/RibParamPanel/CopyFromWndVM.vb +++ b/Icarus/RibParamPanel/CopyFromWndVM.vb @@ -60,6 +60,7 @@ Public Class CopyFromWndVM MachiningParam.Params.RIBSOVERLAP, MachiningParam.Params.RIBSSTRANDCOUNT, MachiningParam.Params.RIBSLINK, + MachiningParam.Params.RIBSLINKFILLET, MachiningParam.Params.RIBSMERGEWITHSHELL, MachiningParam.Params.RIBSINVERTDIRECTION, MachiningParam.Params.RIBSINVERTSTRANDORDER, @@ -69,7 +70,8 @@ Public Class CopyFromWndVM MachiningParam.Params.RIBSLEADOUTLEN, MachiningParam.Params.RIBSLEADOUTCOASTING, MachiningParam.Params.RIBSLEADOUTWIPE, - MachiningParam.Params.RIBSLEADOUTWIPEDIR}) + MachiningParam.Params.RIBSLEADOUTWIPEDIR, + MachiningParam.Params.RIBSLEADFILLET}) For Each Param In ParamList Select Case Map.refRibPanelVM.SelRib.Type Case RibEntity.RibTypes.FROMDRAW @@ -100,8 +102,8 @@ Public Class CopyFromWndVM Else RibTypeParam.SelValue = RibTypeParam.PartSelValue End If - Case MachiningParam.Params.RIBSSTRANDWIDTH, MachiningParam.Params.RIBSOVERLAP, MachiningParam.Params.RIBSSTRANDCOUNT, MachiningParam.Params.RIBSLEADINLEN, MachiningParam.Params.RIBSLEADOUTLEN, - MachiningParam.Params.RIBSLEADOUTCOASTING, MachiningParam.Params.RIBSLEADOUTWIPE, MachiningParam.Params.RIBSLEADOUTWIPEDIR + Case MachiningParam.Params.RIBSSTRANDWIDTH, MachiningParam.Params.RIBSOVERLAP, MachiningParam.Params.RIBSSTRANDCOUNT, MachiningParam.Params.RIBSLINKFILLET, MachiningParam.Params.RIBSLEADINLEN, MachiningParam.Params.RIBSLEADOUTLEN, + MachiningParam.Params.RIBSLEADOUTCOASTING, MachiningParam.Params.RIBSLEADOUTWIPE, MachiningParam.Params.RIBSLEADOUTWIPEDIR, MachiningParam.Params.RIBSLEADFILLET Dim RibTypeParam As RibNumericMachiningParam = Nothing Dim dRibParam As Double = 0 Select Case Type @@ -114,6 +116,9 @@ Public Class CopyFromWndVM Case MachiningParam.Params.RIBSSTRANDCOUNT RibTypeParam = Map.refRibParamPanelVM.MachiningParamList.FirstOrDefault(Function(x) x.Type = MachiningParam.Params.RIBSSTRANDCOUNT) bRead = EgtGetInfo(nFromId, MAC_RIBSSTRANDCOUNT, dRibParam) + Case MachiningParam.Params.RIBSLINKFILLET + RibTypeParam = Map.refRibParamPanelVM.MachiningParamList.FirstOrDefault(Function(x) x.Type = MachiningParam.Params.RIBSLINKFILLET) + bRead = EgtGetInfo(nFromId, MAC_RIBSLINKFILLET, dRibParam) Case MachiningParam.Params.RIBSLEADINLEN RibTypeParam = Map.refRibParamPanelVM.MachiningParamList.FirstOrDefault(Function(x) x.Type = MachiningParam.Params.RIBSLEADINLEN) bRead = EgtGetInfo(nFromId, MAC_RIBSLEADINLEN, dRibParam) @@ -129,6 +134,9 @@ Public Class CopyFromWndVM Case MachiningParam.Params.RIBSLEADOUTWIPEDIR RibTypeParam = Map.refRibParamPanelVM.MachiningParamList.FirstOrDefault(Function(x) x.Type = MachiningParam.Params.RIBSLEADOUTWIPEDIR) bRead = EgtGetInfo(nFromId, MAC_RIBSLEADOUTWIPEDIR, dRibParam) + Case MachiningParam.Params.RIBSLEADFILLET + RibTypeParam = Map.refRibParamPanelVM.MachiningParamList.FirstOrDefault(Function(x) x.Type = MachiningParam.Params.RIBSLEADFILLET) + bRead = EgtGetInfo(nFromId, MAC_RIBSLEADFILLET, dRibParam) End Select If Not IsNothing(RibTypeParam) AndAlso bRead Then RibTypeParam.SetValue(dRibParam) diff --git a/Icarus/RibParamPanel/RibParamPanelVM.vb b/Icarus/RibParamPanel/RibParamPanelVM.vb index a753413..0f309b0 100644 --- a/Icarus/RibParamPanel/RibParamPanelVM.vb +++ b/Icarus/RibParamPanel/RibParamPanelVM.vb @@ -47,6 +47,7 @@ Public Class RibParamPanelVM New RibNumericMachiningParam(MachiningParam.Params.RIBSOVERLAP, nRibId, nPartId, Me), New RibNumericMachiningParam(MachiningParam.Params.RIBSSTRANDCOUNT, nRibId, nPartId, Me), New RibCheckMachiningParam(MachiningParam.Params.RIBSLINK, nRibId, nPartId, Me), + New RibNumericMachiningParam(MachiningParam.Params.RIBSLINKFILLET, nRibId, nPartId, Me), New RibCheckMachiningParam(MachiningParam.Params.RIBSMERGEWITHSHELL, nRibId, nPartId, Me), New RibCheckMachiningParam(MachiningParam.Params.RIBSINVERTDIRECTION, nRibId, nPartId, Me), New RibCheckMachiningParam(MachiningParam.Params.RIBSINVERTSTRANDORDER, nRibId, nPartId, Me), @@ -56,7 +57,8 @@ Public Class RibParamPanelVM New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTLEN, nRibId, nPartId, Me), New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTCOASTING, nRibId, nPartId, Me), New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPE, nRibId, nPartId, Me), - New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPEDIR, nRibId, nPartId, Me)}) + New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPEDIR, nRibId, nPartId, Me), + New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADFILLET, nRibId, nPartId, Me)}) NotifyPropertyChanged(NameOf(MachiningParamList)) NotifyPropertyChanged(NameOf(sName)) End Sub @@ -244,6 +246,10 @@ Public Class RibNumericMachiningParam bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSSTRANDCOUNT, m_dValue) EgtGetInfo(nPartId, MAC_RIBSSTRANDCOUNT, m_dPartValue) m_bIsLen = True + Case Params.RIBSLINKFILLET + bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSLINKFILLET, m_dValue) + EgtGetInfo(nPartId, MAC_RIBSLINKFILLET, m_dPartValue) + m_bIsLen = True Case Params.RIBSINVERTDIRECTION bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSINVERTDIRECTION, m_dValue) EgtGetInfo(nPartId, MAC_RIBSINVERTDIRECTION, m_dPartValue) @@ -280,6 +286,10 @@ Public Class RibNumericMachiningParam bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSLEADOUTWIPEDIR, m_dValue) EgtGetInfo(nPartId, MAC_RIBSLEADOUTWIPEDIR, m_dPartValue) m_bIsLen = True + Case Params.RIBSLEADFILLET + bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSLEADFILLET, m_dValue) + EgtGetInfo(nPartId, MAC_RIBSLEADFILLET, m_dPartValue) + m_bIsLen = True End Select m_dOrigValue = m_dValue If Not bReadFromPart Then @@ -314,6 +324,12 @@ Public Class RibNumericMachiningParam Else EgtRemoveInfo(nRibId, MAC_RIBSSTRANDCOUNT) End If + Case Params.RIBSLINKFILLET + If bIsModifiedFromPart Then + EgtSetInfo(nRibId, MAC_RIBSLINKFILLET, sWriteValue) + Else + EgtRemoveInfo(nRibId, MAC_RIBSLINKFILLET) + End If Case Params.RIBSINVERTDIRECTION If bIsModifiedFromPart Then EgtSetInfo(nRibId, MAC_RIBSINVERTDIRECTION, sWriteValue) @@ -368,6 +384,12 @@ Public Class RibNumericMachiningParam Else EgtRemoveInfo(nRibId, MAC_RIBSLEADOUTWIPEDIR) End If + Case Params.RIBSLEADFILLET + If bIsModifiedFromPart Then + EgtSetInfo(nRibId, MAC_RIBSLEADFILLET, sWriteValue) + Else + EgtRemoveInfo(nRibId, MAC_RIBSLEADFILLET) + End If End Select End Sub