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 @@
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Icarus/FilledSolidParamPanel/FilledSolidParamPanelVM.vb b/Icarus/FilledSolidParamPanel/FilledSolidParamPanelVM.vb
index 51f79b9..eac4460 100644
--- a/Icarus/FilledSolidParamPanel/FilledSolidParamPanelVM.vb
+++ b/Icarus/FilledSolidParamPanel/FilledSolidParamPanelVM.vb
@@ -42,12 +42,21 @@ 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),
+ m_MachiningParamList = New List(Of MachiningParam)({New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSSTRANDWIDTH, nFilledSolidId, nPartId, Me),
New FilledSolidComboMachiningParam(MachiningParam.Params.AUXSOLIDSINFILL, nFilledSolidId, nPartId, Me),
+ New FilledSolidCheckMachiningParam(MachiningParam.Params.AUXSOLIDSINFILLLINK, nFilledSolidId, nPartId, Me),
+ New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSSTRANDCOUNT, 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)})
@@ -190,6 +199,14 @@ Public Class FilledSolidNumericMachiningParam
MyBase.New(Type, Cathegory)
Dim bReadFromPart As Boolean = False
Select Case Type
+ Case Params.AUXSOLIDSSTRANDWIDTH
+ bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSSTRANDWIDTH, m_dValue)
+ EgtGetInfo(nPartId, MAC_AUXSOLIDSSTRANDWIDTH, m_dPartValue)
+ m_bIsLen = True
+ Case Params.AUXSOLIDSSTRANDCOUNT
+ bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSSTRANDCOUNT, m_dValue)
+ EgtGetInfo(nPartId, MAC_AUXSOLIDSSTRANDCOUNT, m_dPartValue)
+ m_bIsLen = False
Case Params.AUXSOLIDSOVERLAP
bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSOVERLAP, m_dValue)
EgtGetInfo(nPartId, MAC_AUXSOLIDSOVERLAP, m_dPartValue)
@@ -202,6 +219,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)
@@ -230,6 +271,18 @@ Public Class FilledSolidNumericMachiningParam
sWriteValue = DoubleToString(m_dValue, 2)
End If
Select Case Type
+ Case Params.AUXSOLIDSSTRANDWIDTH
+ If bIsModifiedFromPart Then
+ EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSSTRANDWIDTH, sWriteValue)
+ Else
+ EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSSTRANDWIDTH)
+ End If
+ Case Params.AUXSOLIDSSTRANDCOUNT
+ If bIsModifiedFromPart Then
+ EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSSTRANDCOUNT, sWriteValue)
+ Else
+ EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSSTRANDCOUNT)
+ End If
Case Params.AUXSOLIDSOVERLAP
If bIsModifiedFromPart Then
EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSOVERLAP, sWriteValue)
@@ -248,6 +301,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 +428,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 +473,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)
@@ -447,4 +541,95 @@ Public Class FilledSolidComboMachiningParam
#End Region ' COMMANDS
+End Class
+
+Public Class FilledSolidCheckMachiningParam
+ Inherits CheckMachiningParam
+
+ Public Overrides Property bValue As Boolean
+ Get
+ Return m_bValue
+ End Get
+ Set(value As Boolean)
+ m_bValue = value
+ NotifyPropertyChanged(NameOf(bValue))
+ NotifyPropertyChanged(NameOf(bIsModifiedFromPart))
+ End Set
+ End Property
+
+ Protected m_bPartValue As Boolean
+ Public ReadOnly Property bPartValue As Boolean
+ Get
+ Return m_bPartValue
+ End Get
+ End Property
+
+ Public ReadOnly Property bIsModifiedFromPart As Boolean
+ Get
+ Return m_bValue <> m_bPartValue
+ End Get
+ End Property
+
+ ' Definizione comandi
+ Private m_cmdResetParam As ICommand
+
+ Sub New(Type As Params, nAuxSolidId As Integer, nPartId As Integer, Cathegory As MachiningCathegory)
+ MyBase.New(Type, Cathegory)
+ Dim bReadFromPart As Boolean = False
+ Select Case Type
+ Case Params.AUXSOLIDSINFILLLINK
+ bReadFromPart = EgtGetInfo(nAuxSolidId, MAC_AUXSOLIDSINFILLLINK, m_bValue)
+ EgtGetInfo(nPartId, MAC_AUXSOLIDSINFILLLINK, m_bPartValue)
+ End Select
+ m_bOrigValue = m_bValue
+ If Not bReadFromPart Then
+ m_bValue = m_bPartValue
+ m_bOrigValue = m_bPartValue
+ End If
+ End Sub
+
+ Friend Sub WriteParamInRib(nAuxSolidId As Integer)
+ Select Case Type
+ Case Params.AUXSOLIDSINFILLLINK
+ If bIsModifiedFromPart Then
+ EgtSetInfo(nAuxSolidId, MAC_AUXSOLIDSINFILLLINK, If(m_bValue, 1, 0))
+ Else
+ EgtRemoveInfo(nAuxSolidId, MAC_AUXSOLIDSINFILLLINK)
+ End If
+ End Select
+ End Sub
+
+ Friend Overrides Sub SaveParam()
+ m_bOrigValue = m_bValue
+ End Sub
+
+ Friend Overrides Sub ResetParam()
+ m_bValue = m_bOrigValue
+ NotifyPropertyChanged(NameOf(bValue))
+ End Sub
+
+#Region "COMMANDS"
+
+#Region "ResetParam"
+
+ Public ReadOnly Property ResetParam_Command As ICommand
+ Get
+ If m_cmdResetParam Is Nothing Then
+ m_cmdResetParam = New Command(AddressOf ResetParamCmd)
+ End If
+ Return m_cmdResetParam
+ End Get
+ End Property
+
+ Public Sub ResetParamCmd()
+ m_bValue = m_bPartValue
+ NotifyPropertyChanged(NameOf(bValue))
+ NotifyPropertyChanged(NameOf(bIsModifiedFromPart))
+ End Sub
+
+#End Region ' ResetParam
+
+#End Region ' COMMANDS
+
+
End Class
diff --git a/Icarus/MachiningDb/Machining.vb b/Icarus/MachiningDb/Machining.vb
index 9be2e19..5beaf5b 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 = 1
- OFFSET = 2
- ZIGZAG = 3
- 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),
@@ -336,10 +342,12 @@ Public Class MachiningCathegory
New OrderedMachiningParam(MachiningParam.Params.PRINT_ORDER, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.PREFLOWDELAY, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.POSTFLOWDELAY, nIndex, Me),
- New NumericMachiningParam(MachiningParam.Params.SCREWBACK, nIndex, Me)})
+ New NumericMachiningParam(MachiningParam.Params.SCREWBACK, nIndex, Me),
+ New NumericMachiningParam(MachiningParam.Params.SLICINGHEIGHT, nIndex, Me)})
Case Cathegories.LINK
m_sName = "Shell"
- m_MachiningParamList = New List(Of MachiningParam)({New NumericMachiningParam(MachiningParam.Params.OFFSETLEADPOINT, nIndex, Me),
+ m_MachiningParamList = New List(Of MachiningParam)({New NumericMachiningParam(MachiningParam.Params.INNERSHELLWIDTH, nIndex, Me),
+ New NumericMachiningParam(MachiningParam.Params.OFFSETLEADPOINT, nIndex, Me),
New ComboMachiningParam(MachiningParam.Params.LINKTYPE, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.LINKPARAM, nIndex, Me),
New ComboMachiningParam(MachiningParam.Params.LEADIN, nIndex, Me),
@@ -355,7 +363,8 @@ Public Class MachiningCathegory
'New NumericMachiningParam(MachiningParam.Params.WIPEDIR, nIndex, Me)})
Case Cathegories.RIBS
m_sName = "Ribs"
- m_MachiningParamList = New List(Of MachiningParam)({New ComboMachiningParam(MachiningParam.Params.RIBSTYPE, nIndex, Me),
+ m_MachiningParamList = New List(Of MachiningParam)({New NumericMachiningParam(MachiningParam.Params.RIBSSTRANDWIDTH, nIndex, Me),
+ New ComboMachiningParam(MachiningParam.Params.RIBSTYPE, nIndex, Me),
New CheckMachiningParam(MachiningParam.Params.RIBSLIMITUNBOUNDEDWITHSOLID, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.RIBSOVERLAP, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.RIBSSTRANDCOUNT, nIndex, Me),
@@ -378,15 +387,42 @@ 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),
+ m_MachiningParamList = New List(Of MachiningParam)({New NumericMachiningParam(MachiningParam.Params.AUXSOLIDSSTRANDWIDTH, nIndex, Me),
New ComboMachiningParam(MachiningParam.Params.AUXSOLIDSINFILL, nIndex, Me),
+ New CheckMachiningParam(MachiningParam.Params.AUXSOLIDSINFILLLINK, nIndex, Me),
+ New NumericMachiningParam(MachiningParam.Params.AUXSOLIDSSTRANDCOUNT, 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.INFILLSTRANDWIDTH, nIndex, Me),
+ 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 CheckMachiningParam(MachiningParam.Params.INFILLLINK, 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 +450,19 @@ Public Class MachiningCathegory
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
@@ -443,6 +492,11 @@ End Class
Public MustInherit Class MachiningParam
Inherits VMBase
+ Public Enum MinMaxTypes As Integer
+ ABSOLUT = 1
+ PERCENTAGE = 2
+ End Enum
+
Public Enum Params As Integer
SLICINGTYPE = 1
SPIRALVASE = 2
@@ -454,7 +508,6 @@ Public MustInherit Class MachiningParam
STARTPOINTOFFSETONSLICE = 8
STRANDORDER = 9
DIRECTION = 10
- FLOORCOUNT = 11
G0FEED = 12
LINKZUP = 13
G0FEEDZ = 14
@@ -465,6 +518,7 @@ Public MustInherit Class MachiningParam
PREFLOWDELAY = 19
POSTFLOWDELAY = 20
SCREWBACK = 21
+ SLICINGHEIGHT = 22
LINKTYPE = 51
LINKPARAM = 52
LEADIN = 53
@@ -478,6 +532,7 @@ Public MustInherit Class MachiningParam
COASTINGFEED_PC = 61
WIPELEN = 62
WIPEFEED_PC = 63
+ INNERSHELLWIDTH = 64
'WIPEDIR = 64
RIBSTYPE = 101
RIBSOVERLAP = 102
@@ -494,6 +549,7 @@ Public MustInherit Class MachiningParam
RIBSLEADOUTWIPE = 113
RIBSLEADOUTWIPEDIR = 114
RIBSLIMITUNBOUNDEDWITHSOLID = 115
+ RIBSSTRANDWIDTH = 116
SHELLNBRDIFFERENCE = 151
SHELLNBRCOASTING = 152
SHELLNBRWIPE = 153
@@ -504,10 +560,35 @@ 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
+ AUXSOLIDSSTRANDCOUNT = 216
+ AUXSOLIDSINFILLLINK = 217
+ AUXSOLIDSSTRANDWIDTH = 218
+ FLOORCOUNT = 250
+ FLOORTYPE = 251
+ CEILCOUNT = 252
+ CEILTYPE = 253
+ INFILLTYPE = 254
+ INFILLLINK = 255
+ INFILLDENSITY = 256
+ INFILLOVERLAP = 257
+ INFILLGRIDOVERLAP = 258
+ INFILLDIRECTION = 259
+ INFILLOFFSETX = 260
+ INFILLOFFSETY = 261
+ INFILLCOASTING = 262
+ INFILLWIPE = 263
+ INFILLWIPEDIR = 264
+ INFILLSTRANDWIDTH = 265
+ Materials = 500
End Enum
Protected m_Type As Params
@@ -533,12 +614,29 @@ Public MustInherit Class MachiningParam
End Get
End Property
+ Public ReadOnly Property bIsBeta As Boolean
+ Get
+ Select Case m_Type
+ Case Params.FLOORCOUNT, Params.FLOORTYPE, Params.CEILCOUNT, Params.CEILTYPE, Params.INFILLTYPE
+ Return True
+ Case Else
+ Return False
+ End Select
+ End Get
+ End Property
+
+ Public ReadOnly Property IsBeta_Visibility As Visibility
+ Get
+ Return If(bIsBeta, Visibility.Visible, Visibility.Collapsed)
+ End Get
+ End Property
+
Sub New(Type As Params, Cathegory As MachiningCathegory)
m_Type = Type
m_Cathegory = Cathegory
Select Case m_Type
Case Params.SLICINGTYPE
- m_sName = "Slicing direction"
+ m_sName = "Slicing Direction"
Case Params.STRANDH
m_sName = "Strand Height"
Case Params.STRANDW
@@ -559,6 +657,8 @@ Public MustInherit Class MachiningParam
m_sName = "Link Param"
Case Params.LINKZUP
m_sName = "Link Z Up"
+ Case Params.INNERSHELLWIDTH
+ m_sName = "Custom Inner Shell Width"
Case Params.OFFSETLEADPOINT
m_sName = "Offset Lead Point"
Case Params.LEADIN
@@ -595,6 +695,10 @@ Public MustInherit Class MachiningParam
m_sName = "Post Flow Delay"
Case Params.SCREWBACK
m_sName = "Screw Back"
+ Case Params.SLICINGHEIGHT
+ m_sName = "Slicing Height"
+ Case Params.RIBSSTRANDWIDTH
+ m_sName = "Custom Strand Width"
Case Params.RIBSTYPE
m_sName = "Type"
Case Params.RIBSOVERLAP
@@ -633,10 +737,16 @@ Public MustInherit Class MachiningParam
m_sName = "Wipe"
Case Params.SHELLNBRWIPEDIR
m_sName = "Wipe Direction [deg]"
+ Case Params.AUXSOLIDSSTRANDWIDTH
+ m_sName = "Custom Strand Width"
Case Params.AUXSOLIDSOVERLAP
m_sName = "Overlap [%]"
Case Params.AUXSOLIDSINFILL
m_sName = "Infill"
+ Case Params.AUXSOLIDSINFILLLINK
+ m_sName = "Infill Link"
+ Case Params.AUXSOLIDSSTRANDCOUNT
+ m_sName = "Strand Count"
Case Params.AUXSOLIDSSTRANDORDER
m_sName = "Strand Order"
Case Params.AUXSOLIDSLINKTYPE
@@ -645,6 +755,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
@@ -658,11 +780,41 @@ Public MustInherit Class MachiningParam
Case Params.STRANDOVERLAP
m_sName = "Strand Overlap [%]"
Case Params.FLOWRATE_PC
- m_sName = "Flow rate [%]"
+ m_sName = "Flow Rate [%]"
Case Params.DYNAMIC_MODE
m_sName = "Dynamic Mode"
Case Params.PRINT_ORDER
m_sName = "Print Order"
+ Case Params.INFILLSTRANDWIDTH
+ m_sName = "Custom Strand Width"
+ 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.INFILLLINK
+ m_sName = "Link"
+ 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
@@ -686,6 +838,8 @@ Public Class NumericMachiningParam
Protected m_bIsLen As Boolean = False
Protected m_bIsActiveMinMax As Boolean = False
+ Protected m_MinMaxLinkedParam As Params = 0
+ Protected m_MinMaxType As MinMaxTypes = 0
Protected m_dMinValue As Double
Protected m_dMaxValue As Double
@@ -707,13 +861,31 @@ Public Class NumericMachiningParam
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))
+ ManageDependencyParam()
End Set
End Property
@@ -753,12 +925,39 @@ Public Class NumericMachiningParam
Dim sMinMaxValues() As String = sMinMax.Split(","c)
Dim dMin As Double = 0
Dim dMax As Double = 0
- If StringToDouble(sMinMaxValues(0), dMin) AndAlso StringToDouble(sMinMaxValues(1), dMax) Then
- m_dMinValue = dMin
- m_dMaxValue = dMax
- m_bIsActiveMinMax = True
+ If sMinMaxValues.Count() = 2 Then
+ If StringToDouble(sMinMaxValues(0), dMin) AndAlso StringToDouble(sMinMaxValues(1), dMax) Then
+ m_MinMaxType = MinMaxTypes.ABSOLUT
+ m_dMinValue = dMin
+ m_dMaxValue = dMax
+ m_bIsActiveMinMax = True
+ End If
+ ElseIf sMinMaxValues.Count() > 2 Then
+ Dim nMinMaxType As Integer = 0
+ If StringToDouble(sMinMaxValues(0), nMinMaxType) AndAlso nMinMaxType = 1 Then
+ If StringToDouble(sMinMaxValues(0), dMin) AndAlso StringToDouble(sMinMaxValues(1), dMax) Then
+ m_MinMaxType = nMinMaxType
+ m_dMinValue = dMin
+ m_dMaxValue = dMax
+ m_bIsActiveMinMax = True
+ End If
+ ElseIf StringToDouble(sMinMaxValues(0), nMinMaxType) AndAlso nMinMaxType = 2 Then
+ Dim nMinMaxLinkedParam As Integer = 0
+ If sMinMaxValues.Count() >= 4 AndAlso Integer.TryParse(sMinMaxValues(1), nMinMaxLinkedParam) AndAlso StringToDouble(sMinMaxValues(2), dMin) AndAlso StringToDouble(sMinMaxValues(3), dMax) Then
+ m_MinMaxLinkedParam = nMinMaxLinkedParam
+ m_MinMaxType = nMinMaxType
+ m_dMinValue = dMin
+ m_dMaxValue = dMax
+ m_bIsActiveMinMax = True
+ End If
+ End If
End If
End If
+ If Type = Params.SLICINGHEIGHT Then
+ m_dMinValue = 0
+ m_dMaxValue = CurrentMachine.dSlicingMaxHeight
+ m_bIsActiveMinMax = True
+ End If
' leggo parametri da Db
If nIndex = 0 Then
m_dValue = 0
@@ -789,6 +988,9 @@ Public Class NumericMachiningParam
Case Params.LINKZUP
m_dValue = ReadMachiningParamDouble(nIndex, MAC_LINKZUP, 0)
m_bIsLen = True
+ Case Params.INNERSHELLWIDTH
+ m_dValue = ReadMachiningParamDouble(nIndex, MAC_INNERSHELLWIDTH, 0)
+ m_bIsLen = True
Case Params.OFFSETLEADPOINT
m_dValue = ReadMachiningParamDouble(nIndex, MAC_OFFSETLEADPOINT, 0)
m_bIsLen = True
@@ -840,6 +1042,12 @@ Public Class NumericMachiningParam
Case Params.SCREWBACK
m_dValue = ReadMachiningParamDouble(nIndex, MAC_SCREWBACK, 45)
m_bIsLen = False
+ Case Params.SLICINGHEIGHT
+ m_dValue = ReadMachiningParamDouble(nIndex, MAC_SLICINGHEIGHT, CurrentMachine.dSlicingMaxHeight)
+ m_bIsLen = False
+ Case Params.RIBSSTRANDWIDTH
+ m_dValue = ReadMachiningParamDouble(nIndex, MAC_RIBSSTRANDWIDTH, 0)
+ m_bIsLen = True
Case Params.RIBSOVERLAP
m_dValue = ReadMachiningParamDouble(nIndex, MAC_RIBSOVERLAP, 0)
m_bIsLen = False
@@ -873,6 +1081,12 @@ Public Class NumericMachiningParam
Case Params.SHELLNBRWIPEDIR
m_dValue = ReadMachiningParamDouble(nIndex, MAC_SHELLNBRWIPEDIR, 0)
m_bIsLen = False
+ Case Params.AUXSOLIDSSTRANDWIDTH
+ m_dValue = ReadMachiningParamDouble(nIndex, MAC_AUXSOLIDSSTRANDWIDTH, 0)
+ m_bIsLen = True
+ Case Params.AUXSOLIDSSTRANDCOUNT
+ m_dValue = ReadMachiningParamDouble(nIndex, MAC_AUXSOLIDSSTRANDCOUNT, 0)
+ m_bIsLen = False
Case Params.AUXSOLIDSOVERLAP
m_dValue = ReadMachiningParamDouble(nIndex, MAC_AUXSOLIDSOVERLAP, 0)
m_bIsLen = False
@@ -882,6 +1096,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 +1126,68 @@ Public Class NumericMachiningParam
Case Params.FLOWRATE_PC
m_dValue = ReadMachiningParamDouble(nIndex, MAC_CONSTANT, 100)
m_bIsLen = False
+ Case Params.INFILLSTRANDWIDTH
+ m_dValue = ReadMachiningParamDouble(nIndex, MAC_INFILLSTRANDWIDTH, 0)
+ m_bIsLen = True
+ 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)
+ Case Params.AUXSOLIDSSTRANDCOUNT
+ Dim AuxSolidsInfillParam As ComboMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSINFILL)
+ Dim ComboMachiningParam As ComboMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSSTRANDORDER)
+ ComboMachiningParam.SetIsActive(m_dValue > 0 OrElse AuxSolidsInfillParam.SelValue.Id = Machining.MPAR_INFILL_TYPE.OFFSET)
+ ComboMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSLINKTYPE)
+ ComboMachiningParam.SetIsActive(m_dValue > 0 OrElse AuxSolidsInfillParam.SelValue.Id = Machining.MPAR_INFILL_TYPE.OFFSET)
+ Dim NumericMachiningParam As NumericMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSLINKPARAM)
+ NumericMachiningParam.SetIsActive(m_dValue > 0 OrElse AuxSolidsInfillParam.SelValue.Id = Machining.MPAR_INFILL_TYPE.OFFSET)
+ NumericMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE)
+ NumericMachiningParam.SetIsActive(m_dValue > 0 OrElse AuxSolidsInfillParam.SelValue.Id = Machining.MPAR_INFILL_TYPE.OFFSET)
+ NumericMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSOFFSETLEADPOINT)
+ NumericMachiningParam.SetIsActive(m_dValue > 0 OrElse AuxSolidsInfillParam.SelValue.Id = Machining.MPAR_INFILL_TYPE.OFFSET)
+ End Select
+ End Sub
+
Friend Overrides Sub WriteParamOnDb(nIndex As Integer, Optional sFilePath As String = "")
Dim sWriteValue As String = ""
If m_bIsLen Then
@@ -923,6 +1212,8 @@ Public Class NumericMachiningParam
WriteMachiningParam(nIndex, MAC_LINKPARAM, sWriteValue, sFilePath)
Case Params.LINKZUP
WriteMachiningParam(nIndex, MAC_LINKZUP, sWriteValue, sFilePath)
+ Case Params.INNERSHELLWIDTH
+ WriteMachiningParam(nIndex, MAC_INNERSHELLWIDTH, sWriteValue, sFilePath)
Case Params.OFFSETLEADPOINT
WriteMachiningParam(nIndex, MAC_OFFSETLEADPOINT, sWriteValue, sFilePath)
Case Params.LEADINTANGDIST
@@ -957,6 +1248,10 @@ Public Class NumericMachiningParam
WriteMachiningParam(nIndex, MAC_POSTFLOWDELAY, sWriteValue, sFilePath)
Case Params.SCREWBACK
WriteMachiningParam(nIndex, MAC_SCREWBACK, sWriteValue, sFilePath)
+ Case Params.SLICINGHEIGHT
+ WriteMachiningParam(nIndex, MAC_SLICINGHEIGHT, sWriteValue, sFilePath)
+ Case Params.RIBSSTRANDWIDTH
+ WriteMachiningParam(nIndex, MAC_RIBSSTRANDWIDTH, sWriteValue, sFilePath)
Case Params.RIBSOVERLAP
WriteMachiningParam(nIndex, MAC_RIBSOVERLAP, sWriteValue, sFilePath)
Case Params.RIBSSTRANDCOUNT
@@ -979,12 +1274,28 @@ Public Class NumericMachiningParam
WriteMachiningParam(nIndex, MAC_SHELLNBRWIPE, sWriteValue, sFilePath)
Case Params.SHELLNBRWIPEDIR
WriteMachiningParam(nIndex, MAC_SHELLNBRWIPEDIR, sWriteValue, sFilePath)
+ Case Params.AUXSOLIDSSTRANDWIDTH
+ WriteMachiningParam(nIndex, MAC_AUXSOLIDSSTRANDWIDTH, sWriteValue, sFilePath)
+ Case Params.AUXSOLIDSSTRANDCOUNT
+ WriteMachiningParam(nIndex, MAC_AUXSOLIDSSTRANDCOUNT, sWriteValue, sFilePath)
Case Params.AUXSOLIDSOVERLAP
WriteMachiningParam(nIndex, MAC_AUXSOLIDSOVERLAP, sWriteValue, sFilePath)
Case Params.AUXSOLIDSLINKPARAM
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 +1304,28 @@ Public Class NumericMachiningParam
WriteMachiningParam(nIndex, MAC_AUXSOLIDSWIPEDIR, sWriteValue, sFilePath)
Case Params.FLOWRATE_PC
WriteMachiningParam(nIndex, MAC_CONSTANT, sWriteValue, sFilePath)
+ Case Params.INFILLSTRANDWIDTH
+ WriteMachiningParam(nIndex, MAC_INFILLSTRANDWIDTH, 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 +1470,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
@@ -1206,12 +1560,43 @@ Public Class ComboMachiningParam
Dim CheckMachiningParam As CheckMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.RIBSLIMITUNBOUNDEDWITHSOLID)
CheckMachiningParam.SetIsActive(m_SelValue.Id = MPAR_RIBSTYPE.UNBOUNDED)
Case Params.AUXSOLIDSINFILL
+ Dim AuxSolidsStrandCountParam As NumericMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSSTRANDCOUNT)
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.OFFSET OrElse AuxSolidsStrandCountParam.dValue > 0)
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.OFFSET OrElse AuxSolidsStrandCountParam.dValue > 0)
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.OFFSET OrElse AuxSolidsStrandCountParam.dValue > 0)
+ NumMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE)
+ NumMachiningParam.SetIsActive(m_SelValue.Id = Machining.MPAR_INFILL_TYPE.OFFSET OrElse AuxSolidsStrandCountParam.dValue > 0)
+ NumMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSOFFSETLEADPOINT)
+ NumMachiningParam.SetIsActive(m_SelValue.Id = Machining.MPAR_INFILL_TYPE.OFFSET OrElse AuxSolidsStrandCountParam.dValue > 0)
+ 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)
+ Dim CheckMachiningParam As CheckMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSINFILLLINK)
+ CheckMachiningParam.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)
+ Dim CheckMachiningParam As CheckMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.INFILLLINK)
+ CheckMachiningParam.SetIsActive(m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.NONE)
End Select
End Sub
@@ -1239,6 +1624,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
@@ -1317,6 +1708,10 @@ Public Class CheckMachiningParam
m_bValue = ReadMachiningParamDouble(nIndex, MAC_RIBSLEADOUTINVERT, 0)
Case Params.RIBSLIMITUNBOUNDEDWITHSOLID
m_bValue = ReadMachiningParamDouble(nIndex, MAC_RIBSLIMITUNBOUNDEDWITHSOLID, 0)
+ Case Params.AUXSOLIDSINFILLLINK
+ m_bValue = ReadMachiningParamDouble(nIndex, MAC_AUXSOLIDSINFILLLINK, 0)
+ Case Params.INFILLLINK
+ m_bValue = ReadMachiningParamDouble(nIndex, MAC_INFILLLINK, 0)
End Select
End If
m_bOrigValue = m_bValue
@@ -1340,6 +1735,10 @@ Public Class CheckMachiningParam
WriteMachiningParam(nIndex, MAC_RIBSLEADOUTINVERT, If(m_bValue, 1, 0), sFilePath)
Case Params.RIBSLIMITUNBOUNDEDWITHSOLID
WriteMachiningParam(nIndex, MAC_RIBSLIMITUNBOUNDEDWITHSOLID, If(m_bValue, 1, 0), sFilePath)
+ Case Params.AUXSOLIDSINFILLLINK
+ WriteMachiningParam(nIndex, MAC_AUXSOLIDSINFILLLINK, If(m_bValue, 1, 0), sFilePath)
+ Case Params.INFILLLINK
+ WriteMachiningParam(nIndex, MAC_INFILLLINK, If(m_bValue, 1, 0), sFilePath)
End Select
End Sub
diff --git a/Icarus/MachiningDb/MachiningDbV.xaml b/Icarus/MachiningDb/MachiningDbV.xaml
index 2d947b0..2e43ffe 100644
--- a/Icarus/MachiningDb/MachiningDbV.xaml
+++ b/Icarus/MachiningDb/MachiningDbV.xaml
@@ -140,9 +140,16 @@
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
-
+
+
diff --git a/Icarus/RibPanel/RibPanelVM.vb b/Icarus/RibPanel/RibPanelVM.vb
index 262b971..8c0104d 100644
--- a/Icarus/RibPanel/RibPanelVM.vb
+++ b/Icarus/RibPanel/RibPanelVM.vb
@@ -641,7 +641,7 @@ Public Class RibPanelVM
' attivo modifiche su scena
Map.refSceneHostVM.MainScene.ResetStatus()
' rendo traspanete estrusione
- EgtSetAlpha(m_SelRib.nExtrusionId, 50)
+ 'EgtSetAlpha(m_SelRib.nExtrusionId, 50)
' seleziono percorso corrente
EgtDeselectAll()
Select Case RibSelectionType
@@ -692,12 +692,12 @@ Public Class RibPanelVM
' seleziono nuova estrusione
EgtSelectObj(m_SelRib.nExtrusionId)
' ripristino trasparenza estrusione
- EgtSetAlpha(m_SelRib.nExtrusionId, 100)
+ 'EgtSetAlpha(m_SelRib.nExtrusionId, 100)
EgtDraw()
' rimetto la selezione scena a null
Map.refSceneHostVM.MainScene.SetStatusNull()
Case Controller.CMD.MOVE, Controller.CMD.ROTATE
- EgtSetAlpha(Map.refRibPanelVM.SelRib.nExtrusionId, 100)
+ ' EgtSetAlpha(Map.refRibPanelVM.SelRib.nExtrusionId, 100)
' seleziono nuova estrusione
EgtSelectObj(m_SelRib.nExtrusionId)
EgtDraw()
diff --git a/Icarus/RibParamPanel/CopyFromWndVM.vb b/Icarus/RibParamPanel/CopyFromWndVM.vb
index c84db68..80b07d1 100644
--- a/Icarus/RibParamPanel/CopyFromWndVM.vb
+++ b/Icarus/RibParamPanel/CopyFromWndVM.vb
@@ -56,7 +56,8 @@ Public Class CopyFromWndVM
Return
End If
' copio i parametri nella rib corrente
- Dim ParamList As New List(Of MachiningParam.Params)({MachiningParam.Params.RIBSTYPE,
+ Dim ParamList As New List(Of MachiningParam.Params)({MachiningParam.Params.RIBSSTRANDWIDTH,
+ MachiningParam.Params.RIBSTYPE,
MachiningParam.Params.RIBSOVERLAP,
MachiningParam.Params.RIBSSTRANDCOUNT,
MachiningParam.Params.RIBSLINK,
@@ -71,9 +72,9 @@ Public Class CopyFromWndVM
MachiningParam.Params.RIBSLEADOUTWIPEDIR})
For Each Param In ParamList
Select Case Map.refRibPanelVM.SelRib.Type
- 'Case RibEntity.RibTypes.FROMDRAW
- ' CopyParam(Param, m_SelRib.nExtrusionId, Map.refRibPanelVM.SelRib.nCurveId)
- ' CopyParam(Param, m_SelRib.nExtrusionId, Map.refRibPanelVM.SelRib.nExtrusionId)
+ Case RibEntity.RibTypes.FROMDRAW
+ CopyParam(Param, m_SelRib.nExtrusionId, Map.refRibPanelVM.SelRib.nCurveId)
+ CopyParam(Param, m_SelRib.nExtrusionId, Map.refRibPanelVM.SelRib.nExtrusionId)
Case RibEntity.RibTypes.FROMIMPORT
CopyParam(Param, m_SelRib.nExtrusionId, Map.refRibPanelVM.SelRib.nExtrusionId)
End Select
@@ -99,11 +100,14 @@ Public Class CopyFromWndVM
Else
RibTypeParam.SelValue = RibTypeParam.PartSelValue
End If
- Case MachiningParam.Params.RIBSOVERLAP, MachiningParam.Params.RIBSSTRANDCOUNT, MachiningParam.Params.RIBSLEADINLEN, MachiningParam.Params.RIBSLEADOUTLEN,
+ 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
Dim RibTypeParam As RibNumericMachiningParam = Nothing
Dim dRibParam As Double = 0
Select Case Type
+ Case MachiningParam.Params.RIBSSTRANDWIDTH
+ RibTypeParam = Map.refRibParamPanelVM.MachiningParamList.FirstOrDefault(Function(x) x.Type = MachiningParam.Params.RIBSSTRANDWIDTH)
+ bRead = EgtGetInfo(nFromId, MAC_RIBSSTRANDWIDTH, dRibParam)
Case MachiningParam.Params.RIBSOVERLAP
RibTypeParam = Map.refRibParamPanelVM.MachiningParamList.FirstOrDefault(Function(x) x.Type = MachiningParam.Params.RIBSOVERLAP)
bRead = EgtGetInfo(nFromId, MAC_RIBSOVERLAP, dRibParam)
diff --git a/Icarus/RibParamPanel/RibParamPanelVM.vb b/Icarus/RibParamPanel/RibParamPanelVM.vb
index 19e59cb..6b69664 100644
--- a/Icarus/RibParamPanel/RibParamPanelVM.vb
+++ b/Icarus/RibParamPanel/RibParamPanelVM.vb
@@ -42,7 +42,8 @@ Public Class RibParamPanelVM
m_Type = Cathegories.RIBS
m_sName = "Ribs"
- m_MachiningParamList = New List(Of MachiningParam)({New RibComboMachiningParam(MachiningParam.Params.RIBSTYPE, nRibId, nPartId, Me),
+ m_MachiningParamList = New List(Of MachiningParam)({New RibNumericMachiningParam(MachiningParam.Params.RIBSSTRANDWIDTH, nRibId, nPartId, Me),
+ New RibComboMachiningParam(MachiningParam.Params.RIBSTYPE, nRibId, nPartId, Me),
New RibNumericMachiningParam(MachiningParam.Params.RIBSOVERLAP, nRibId, nPartId, Me),
New RibNumericMachiningParam(MachiningParam.Params.RIBSSTRANDCOUNT, nRibId, nPartId, Me),
New RibCheckMachiningParam(MachiningParam.Params.RIBSLINK, nRibId, nPartId, Me),
@@ -230,10 +231,14 @@ Public Class RibNumericMachiningParam
MyBase.New(Type, Cathegory)
Dim bReadFromPart As Boolean = False
Select Case Type
+ Case Params.RIBSSTRANDWIDTH
+ bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSSTRANDWIDTH, m_dValue)
+ EgtGetInfo(nPartId, MAC_RIBSSTRANDWIDTH, m_dPartValue)
+ m_bIsLen = True
Case Params.RIBSOVERLAP
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSOVERLAP, m_dValue)
EgtGetInfo(nPartId, MAC_RIBSOVERLAP, m_dPartValue)
- m_bIsLen = True
+ m_bIsLen = False
Case Params.RIBSSTRANDCOUNT
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSSTRANDCOUNT, m_dValue)
EgtGetInfo(nPartId, MAC_RIBSSTRANDCOUNT, m_dPartValue)
@@ -290,6 +295,12 @@ Public Class RibNumericMachiningParam
sWriteValue = DoubleToString(m_dValue, 2)
End If
Select Case Type
+ Case Params.RIBSSTRANDWIDTH
+ If bIsModifiedFromPart Then
+ EgtSetInfo(nRibId, MAC_RIBSSTRANDWIDTH, sWriteValue)
+ Else
+ EgtRemoveInfo(nRibId, MAC_RIBSSTRANDWIDTH)
+ End If
Case Params.RIBSOVERLAP
If bIsModifiedFromPart Then
EgtSetInfo(nRibId, MAC_RIBSOVERLAP, sWriteValue)
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)
diff --git a/Icarus/SliderManager/SliderManagerVM.vb b/Icarus/SliderManager/SliderManagerVM.vb
index b3eea24..5aa2dda 100644
--- a/Icarus/SliderManager/SliderManagerVM.vb
+++ b/Icarus/SliderManager/SliderManagerVM.vb
@@ -20,23 +20,22 @@ Public Class SliderManagerVM
End Get
Set(value As Integer)
If IsNothing(Map.refTopPanelVM.SelPart) Then Return
+ Dim DisableMgr As New DisableModifiedMgr
Select Case m_nSelViewSlider
Case ViewSliderType.ONLY_SELECTED
- ' se diverso da nullo nascondo precedente
- If Not IsNothing(Map.refTopPanelVM.SelPart) Then
- ' riporto vecchio strato a visualizzazione di tutti i solidi
- If m_nLayerIndex > 0 Then dLayerAdvancement = 100
- If m_nLayerIndex = 0 Then
- For Each Layer In Map.refTopPanelVM.SelPart.LayerList
- EgtSetStatus(Layer.nLayerId, GDB_ST.OFF)
- Next
- ElseIf m_nLayerIndex > 0 Then
- EgtSetStatus(Map.refTopPanelVM.SelPart.LayerList(m_nLayerIndex - 1).nLayerId, GDB_ST.OFF)
- End If
+ ' nascondo precedente
+ ' riporto vecchio strato a visualizzazione di tutti i solidi
+ If m_nLayerIndex > 0 Then dLayerAdvancement = 100
+ If m_nLayerIndex = 0 Then
+ For Each Layer In Map.refTopPanelVM.SelPart.LayerList
+ EgtSetStatus(Layer.nLayerId, GDB_ST.OFF)
+ Next
+ ElseIf m_nLayerIndex > 0 Then
+ EgtSetStatus(Map.refTopPanelVM.SelPart.LayerList(m_nLayerIndex - 1).nLayerId, GDB_ST.OFF)
End If
m_nLayerIndex = value
' se diverso da nullo visualizzo corrente
- If Not IsNothing(Map.refTopPanelVM.SelPart) AndAlso m_nLayerIndex > 0 Then EgtSetStatus(Map.refTopPanelVM.SelPart.LayerList(m_nLayerIndex - 1).nLayerId, GDB_ST.ON_)
+ If m_nLayerIndex > 0 Then EgtSetStatus(Map.refTopPanelVM.SelPart.LayerList(m_nLayerIndex - 1).nLayerId, GDB_ST.ON_)
' porto barra nuovo strato a 100
If m_nLayerIndex > 0 Then SetLayerAdvancement(100)
Case ViewSliderType.UNTIL_SELECTED
@@ -64,6 +63,7 @@ Public Class SliderManagerVM
End If
m_nLayerIndex = value
End Select
+ DisableMgr.ReEnable()
NotifyPropertyChanged(NameOf(ghShowValue))
NotifyPropertyChanged(NameOf(ghValueIndex))
NotifyPropertyChanged(NameOf(ghValueHeight))
@@ -71,47 +71,44 @@ Public Class SliderManagerVM
End Set
End Property
Private Sub SetLayerIndex(value As Integer)
+ If IsNothing(Map.refTopPanelVM.SelPart) Then Return
+ Dim DisableMgr As New DisableModifiedMgr
Select Case m_nSelViewSlider
Case ViewSliderType.ONLY_SELECTED
- If Not IsNothing(Map.refTopPanelVM.SelPart) Then
- ' riporto vecchio strato a visualizzazione di tutti i solidi
- If m_nLayerIndex > 0 AndAlso m_nLayerIndex < Map.refTopPanelVM.SelPart.LayerList.Count Then dLayerAdvancement = 100
- For nLayerInd = 0 To Map.refTopPanelVM.SelPart.LayerList.Count - 1
- If nLayerInd = value - 1 Then
- EgtSetStatus(Map.refTopPanelVM.SelPart.LayerList(nLayerInd).nLayerId, GDB_ST.ON_)
- Else
- EgtSetStatus(Map.refTopPanelVM.SelPart.LayerList(nLayerInd).nLayerId, GDB_ST.OFF)
- End If
- Next
- End If
+ ' riporto vecchio strato a visualizzazione di tutti i solidi
+ If m_nLayerIndex > 0 AndAlso m_nLayerIndex < Map.refTopPanelVM.SelPart.LayerList.Count Then dLayerAdvancement = 100
+ For nLayerInd = 0 To Map.refTopPanelVM.SelPart.LayerList.Count - 1
+ If nLayerInd = value - 1 Then
+ EgtSetStatus(Map.refTopPanelVM.SelPart.LayerList(nLayerInd).nLayerId, GDB_ST.ON_)
+ Else
+ EgtSetStatus(Map.refTopPanelVM.SelPart.LayerList(nLayerInd).nLayerId, GDB_ST.OFF)
+ End If
+ Next
m_nLayerIndex = value
Case ViewSliderType.UNTIL_SELECTED
- If Not IsNothing(Map.refTopPanelVM.SelPart) Then
- ' riporto vecchio strato a visualizzazione di tutti i solidi
- If m_nLayerIndex > 0 AndAlso m_nLayerIndex < Map.refTopPanelVM.SelPart.LayerList.Count Then dLayerAdvancement = 100
- For nLayerInd = 0 To Map.refTopPanelVM.SelPart.LayerList.Count - 1
- If nLayerInd <= value - 1 Then
- EgtSetStatus(Map.refTopPanelVM.SelPart.LayerList(nLayerInd).nLayerId, GDB_ST.ON_)
- Else
- EgtSetStatus(Map.refTopPanelVM.SelPart.LayerList(nLayerInd).nLayerId, GDB_ST.OFF)
- End If
- Next
- End If
+ ' riporto vecchio strato a visualizzazione di tutti i solidi
+ If m_nLayerIndex > 0 AndAlso m_nLayerIndex < Map.refTopPanelVM.SelPart.LayerList.Count Then dLayerAdvancement = 100
+ For nLayerInd = 0 To Map.refTopPanelVM.SelPart.LayerList.Count - 1
+ If nLayerInd <= value - 1 Then
+ EgtSetStatus(Map.refTopPanelVM.SelPart.LayerList(nLayerInd).nLayerId, GDB_ST.ON_)
+ Else
+ EgtSetStatus(Map.refTopPanelVM.SelPart.LayerList(nLayerInd).nLayerId, GDB_ST.OFF)
+ End If
+ Next
m_nLayerIndex = value
Case ViewSliderType.FROM_SELECTED
- If Not IsNothing(Map.refTopPanelVM.SelPart) Then
- ' riporto vecchio strato a visualizzazione di tutti i solidi
- If m_nLayerIndex > 0 AndAlso m_nLayerIndex < Map.refTopPanelVM.SelPart.LayerList.Count Then dLayerAdvancement = 100
- For nLayerInd = 0 To Map.refTopPanelVM.SelPart.LayerList.Count - 1
- If nLayerInd >= value - 1 Then
- EgtSetStatus(Map.refTopPanelVM.SelPart.LayerList(nLayerInd).nLayerId, GDB_ST.ON_)
- Else
- EgtSetStatus(Map.refTopPanelVM.SelPart.LayerList(nLayerInd).nLayerId, GDB_ST.OFF)
- End If
- Next
- End If
+ ' riporto vecchio strato a visualizzazione di tutti i solidi
+ If m_nLayerIndex > 0 AndAlso m_nLayerIndex < Map.refTopPanelVM.SelPart.LayerList.Count Then dLayerAdvancement = 100
+ For nLayerInd = 0 To Map.refTopPanelVM.SelPart.LayerList.Count - 1
+ If nLayerInd >= value - 1 Then
+ EgtSetStatus(Map.refTopPanelVM.SelPart.LayerList(nLayerInd).nLayerId, GDB_ST.ON_)
+ Else
+ EgtSetStatus(Map.refTopPanelVM.SelPart.LayerList(nLayerInd).nLayerId, GDB_ST.OFF)
+ End If
+ Next
m_nLayerIndex = value
End Select
+ DisableMgr.ReEnable()
NotifyPropertyChanged(NameOf(nLayerIndex))
NotifyPropertyChanged(NameOf(ghShowValue))
NotifyPropertyChanged(NameOf(ghValueIndex))
@@ -201,6 +198,8 @@ Public Class SliderManagerVM
Return m_dLayerAdvancement
End Get
Set(value As Double)
+ If IsNothing(Map.refTopPanelVM.SelPart) Then Return
+ Dim DisableMgr As New DisableModifiedMgr
Select Case m_nSelViewSlider
Case ViewSliderType.ONLY_SELECTED
Dim nTotSolid As Integer = 0
@@ -247,6 +246,7 @@ Public Class SliderManagerVM
End If
m_dLayerAdvancement = value
End Select
+ DisableMgr.ReEnable()
EgtDraw()
End Set
End Property
@@ -335,6 +335,7 @@ Public Class SliderManagerVM
WriteMainPrivateProfileString(S_PRINTING3D, K_VIEWSLIDER, m_nSelViewSlider)
' ciclo tutti i layer per nasconderli/mostrarli
If IsNothing(Map.refTopPanelVM.SelPart) OrElse IsNothing(Map.refTopPanelVM.SelPart.LayerList) Then Return
+ Dim DisableMgr As New DisableModifiedMgr
Select Case m_nSelViewSlider
Case ViewSliderType.ONLY_SELECTED
For Each Layer In Map.refTopPanelVM.SelPart.LayerList
@@ -361,6 +362,7 @@ Public Class SliderManagerVM
End If
Next
End Select
+ DisableMgr.ReEnable()
' mostro/nascondo slider orizzontale
m_LayerAdvancement_Visibility = If(m_nSelViewSlider = ViewSliderType.ONLY_SELECTED, Visibility.Visible, Visibility.Hidden)
NotifyPropertyChanged(NameOf(LayerAdvancement_Visibility))
diff --git a/Icarus/TSFEditor/TFSEditorV.xaml b/Icarus/TSFEditor/TFSEditorV.xaml
index c42b491..d89a289 100644
--- a/Icarus/TSFEditor/TFSEditorV.xaml
+++ b/Icarus/TSFEditor/TFSEditorV.xaml
@@ -264,7 +264,7 @@
-
-
+ -->
GDB_ID.NULL Then
- ' e la cancello
- EgtErase(nExtrusionAreaId)
- End If
+ If nExtrusionAreaId <> GDB_ID.NULL Then EgtErase(nExtrusionAreaId)
+ Dim nExtrusionRectId As Integer = EgtGetFirstNameInGroup(nTabLayerId, EXTRUSION_RECT)
+ If nExtrusionRectId <> GDB_ID.NULL Then EgtErase(nExtrusionRectId)
' se lavorazione corrente nulla, esco
- If IsNothing(Map.refTopPanelVM.CurrMachining) Then Return
+ If IsNothing(Map.refTopPanelVM.CurrMachining) Then
+ DisableMgr.ReEnable()
+ Return
+ End If
' se non esiste file dati macchina, esco
- If String.IsNullOrWhiteSpace(m_sMachDataIniFile) Then Return
+ If String.IsNullOrWhiteSpace(m_sMachDataIniFile) Then
+ DisableMgr.ReEnable()
+ Return
+ End If
' recupero tipo di slice
Dim sExtrusionType As String = S_VERTICAL
Dim GeneralCathegory As MachiningCathegory = Map.refTopPanelVM.CurrMachining.CathegoryList.FirstOrDefault(Function(x) x.Type = MachiningCathegory.Cathegories.GENERAL)
@@ -178,12 +194,19 @@ Public Module CurrentMachine
Dim dExtrXMin = GetPrivateProfileDouble(sExtrusionType, K_MINX, 0, m_sMachDataIniFile)
Dim dExtrYMax = GetPrivateProfileDouble(sExtrusionType, K_MAXY, 0, m_sMachDataIniFile)
Dim dExtrYMin = GetPrivateProfileDouble(sExtrusionType, K_MINY, 0, m_sMachDataIniFile)
- nExtrusionAreaId = EgtCreateRectangle2P(nTabLayerId, New Point3d(dExtrXMin, dExtrYMin, 0), New Point3d(dExtrXMax, dExtrYMax, 0))
+ Const AREA_WIDTH As Double = 10
+ Dim nAuxRectId As Integer = EgtCreateRectangle2P(nTabLayerId, New Point3d(dExtrXMin - AREA_WIDTH, dExtrYMin - AREA_WIDTH, 0), New Point3d(dExtrXMax + AREA_WIDTH, dExtrYMax + AREA_WIDTH, 0))
+ nExtrusionRectId = EgtCreateRectangle2P(nTabLayerId, New Point3d(dExtrXMin, dExtrYMin, 0), New Point3d(dExtrXMax, dExtrYMax, 0))
+ nExtrusionAreaId = EgtCreateSurfTmByRegion( nTabLayerId, { nAuxRectId, nExtrusionRectId}, EPS_STM)
+ EgtErase( nAuxRectId)
Dim c3Temp As New Color3d
c3Temp.FromColor(System.Drawing.Color.Lime)
EgtSetColor(nExtrusionAreaId, c3Temp)
EgtSetName(nExtrusionAreaId, EXTRUSION_AREA)
+ EgtSetColor(nExtrusionRectId, c3Temp)
+ EgtSetName(nExtrusionRectId, EXTRUSION_RECT)
m_b3ExtrusionArea = New BBox3d(New Point3d(dExtrXMin, dExtrYMin, 0), New Point3d(dExtrXMax, dExtrYMax, 0))
+ DisableMgr.ReEnable()
EgtDraw()
End Sub
diff --git a/Icarus/ViewLayerManager/ViewLayerManagerVM.vb b/Icarus/ViewLayerManager/ViewLayerManagerVM.vb
index eb0b4dd..5e71281 100644
--- a/Icarus/ViewLayerManager/ViewLayerManagerVM.vb
+++ b/Icarus/ViewLayerManager/ViewLayerManagerVM.vb
@@ -150,8 +150,8 @@ Public Class ViewLayer
End Sub
Friend Sub UpdateVisibility(bIsVisible As Boolean)
- ' Disabilito segnalazione modificato
- Dim DisableMgr As New DisableModifiedMgr ' se solidi
+ Dim DisableMgr As New DisableModifiedMgr
+ ' se solidi
If m_Type = ViewLayerType.SOLID_SLICE Then
If Map.refSceneHostVM.MainController.GetStep() = 0 Then
' aggiorno parametro di calcolo solidi sui pezzi
@@ -242,7 +242,6 @@ Public Class ViewLayer
Next
Next
End If
- ' Ripristino stato segnalazione modifica
DisableMgr.ReEnable()
End Sub