diff --git a/Icarus/AboutBoxWindow/AboutBoxV.xaml.vb b/Icarus/AboutBoxWindow/AboutBoxV.xaml.vb
index 0d57a6a..d764385 100644
--- a/Icarus/AboutBoxWindow/AboutBoxV.xaml.vb
+++ b/Icarus/AboutBoxWindow/AboutBoxV.xaml.vb
@@ -18,12 +18,24 @@ Public Class AboutBoxV
Dim sLeftDays As String = ""
Dim nLeftDays As Integer
If EgtGetKeyLeftDays(nLeftDays) AndAlso nLeftDays < 500 Then sLeftDays = " (" & nLeftDays.ToString() & ")"
+ Dim sAssStatus As String = " discontinued"
+ Dim nAssLeftDays As Integer
+ If EgtGetKeyAssLeftDays( nAssLeftDays) And nAssLeftDays >= 0 Then
+ If nAssLeftDays > 30 then
+ sAssStatus = "expires within " & nAssLeftDays.ToString() & " days"
+ Else If nAssLeftDays > 0 then
+ sAssStatus = "to be renewed within " & nAssLeftDays.ToString() & " days"
+ Else
+ sAssStatus = "to be renewed by today"
+ End If
+ End If
sInfo = If(EgtIsDebug(), "*** Debug Libraries ***" & Environment.NewLine, "")
sInfo &= "User " & Environment.MachineName & "\" & Environment.UserName &
" Inst" & Map.refMainWindowVM.MainWindowM.nInstance.ToString() &
" Ulv" & Map.refMainWindowVM.MainWindowM.nUserLevel.ToString() &
" Dbg" & Map.refMainWindowVM.MainWindowM.DebugLevel().ToString() & Environment.NewLine
sInfo &= sKey & " - " & sKlev & " - " & sOpts & sLeftDays & Environment.NewLine
+ sInfo &= "Maintenance plan " & sAssStatus & Environment.NewLine
sInfo &= "DataRoot " & Map.refMainWindowVM.MainWindowM.sDataRoot & Environment.NewLine
sInfo &= "MachinesRoot " & Map.refMainWindowVM.MainWindowM.sMachinesRoot & Environment.NewLine
Dim sOpSys As String = String.Empty
diff --git a/Icarus/Constants/Const3dPrint.vb b/Icarus/Constants/Const3dPrint.vb
index a8ec31a..6410c44 100644
--- a/Icarus/Constants/Const3dPrint.vb
+++ b/Icarus/Constants/Const3dPrint.vb
@@ -68,6 +68,7 @@
Public Const MAT_KW = "KW"
Public Const MAT_KZ = "KZ"
Public Const MAT_KN = "KN"
+ Public Const MAT_TDRYER = "TDRYER"
Public Const MAT_ORIG = "Orig"
' parametri Lavorazione
@@ -93,6 +94,7 @@
Public Const MAC_INNERSHELLWIDTH = "InnerStrandW"
Public Const MAC_OFFSETLEADPOINT = "OffsetLeadPoint"
Public Const MAC_LEADIN = "LeadIn"
+ Public Const MAC_SINGLELEADIN = "SingleLeadIn"
Public Const MAC_LEADINTANGDIST = "LeadInTangDist"
Public Const MAC_LEADINORTHODIST = "LeadInOrthoDist"
Public Const MAC_LEADOUT = "LeadOut"
@@ -102,6 +104,7 @@
Public Const MAC_COASTINGFEEDPU = "CoastingFeedPu"
Public Const MAC_WIPELEN = "WipeLen"
Public Const MAC_WIPEFEEDPU = "WipeFeedPu"
+ Public Const MAC_SPIRALVASELEN = "SpiralVaseLen"
Public Const MAC_WIPEDIR = "WipeDir"
Public Const MAC_FLOORCOUNT = "FloorCount"
Public Const MAC_G0FEED = "G0Feed"
@@ -111,11 +114,16 @@
Public Const MAC_POSTFLOWDELAY = "PostFlowDelay"
Public Const MAC_SCREWBACK = "ScrewBack"
Public Const MAC_SLICINGHEIGHT = "SlicingHeight"
+ Public Const MAC_MAXSLICESNUMBER = "MaxSlicesNumber"
Public Const MAC_RIBSSTRANDWIDTH = "RibsStrandW"
Public Const MAC_RIBSTYPE = "RibsType"
Public Const MAC_RIBSOVERLAP = "RibsOverlap"
+ Public Const MAC_RIBSSTRANDOVERLAP = "RibsStrandOverlap"
Public Const MAC_RIBSSTRANDCOUNT = "RibsStrandCount"
Public Const MAC_RIBSLINK = "RibsLink"
+ Public Const MAC_RIBSLINKFILLET = "RibsLinkFillet"
+ Public Const MAC_RIBSMERGEWITHSHELL = "RibsMergeWithShell"
+ Public Const MAC_RIBSINVERTMERGEDSHELLMAINLINK = "InvertRibsMergedShellMainLink"
Public Const MAC_RIBSINVERTORDER = "RibsInvertOrder"
Public Const MAC_RIBSINVERTDIRECTION = "RibsInvertDirection"
Public Const MAC_RIBSINVERTSTRANDORDER = "RibsInvertStrandOrder"
@@ -126,6 +134,7 @@
Public Const MAC_RIBSLEADOUTCOASTING = "RibsLeadOutCoasting"
Public Const MAC_RIBSLEADOUTWIPE = "RibsLeadOutWipe"
Public Const MAC_RIBSLEADOUTWIPEDIR = "RibsLeadOutWipeDir"
+ Public Const MAC_RIBSLEADFILLET = "RibsLeadFillet"
Public Const MAC_RIBSLIMITUNBOUNDEDWITHSOLID = "LimitUnboundedRibsWithSolid"
Public Const MAC_SHELLNBRDIFFERENCE = "ShellNbrDifference"
Public Const MAC_SHELLNBRCOASTING = "ShellNbrCoasting"
diff --git a/Icarus/Constants/ConstGen.vb b/Icarus/Constants/ConstGen.vb
index 302cb0c..ee8020e 100644
--- a/Icarus/Constants/ConstGen.vb
+++ b/Icarus/Constants/ConstGen.vb
@@ -53,6 +53,7 @@ Public Module ConstGen
' Abilitazioni licenza
Friend Enum KEY_OPT As UInteger
BASE = 1 ' Prodotto Icarus
+ MACHINE_EXPORT = 2 ' opzione per esportare file icrx per macchina
End Enum
' File di log generale
@@ -77,4 +78,7 @@ Public Module ConstGen
' Nome file Lua con le funzioni di attrezzaggio
Public Const SETUP_LUA As String = "SetUp.lua"
+ ' Chiave di Info in gruppo di lavoro per attivazione Virtual Milling
+ Public Const KEY_MCHGRP_VM As String = "Vm"
+
End Module
diff --git a/Icarus/Constants/ConstIni.vb b/Icarus/Constants/ConstIni.vb
index 88fb4ae..8f0cf48 100644
--- a/Icarus/Constants/ConstIni.vb
+++ b/Icarus/Constants/ConstIni.vb
@@ -29,6 +29,7 @@ Public Module ConstIni
Public Const K_NETKEY As String = "NetKey"
Public Const K_LASTNGEDIR As String = "LastNgeDir"
Public Const K_LASTIMPDIR As String = "LastImpDir"
+ Public Const K_MACHINEEXPORT As String = "MachineExport"
'Public Const K_SUPPORT As String = "Support"
'Public Const S_LANGUAGES As String = "Languages"
@@ -102,11 +103,15 @@ Public Module ConstIni
Public Const K_DXFSCALE As String = "DxfScale"
Public Const K_STLSCALE As String = "StlScale"
Public Const K_CNCFLAG As String = "CncFlag"
+ Public Const K_ADVFLAG As String = "AdvFlag"
+ Public Const K_ADVTOLER As String = "AdvToler"
'Public Const S_SIMUL As String = "Simul"
'Public Const K_SLIDERX As String = "SliderX"
'Public Const K_SLIDERVAL As String = "SliderVal"
Public Const K_MACHVIEWMODE As String = "MachViewMode"
+ Public Const K_VIRTUALADDITIVE As String = "VirtualAdditive"
+ Public Const K_TRACEENABLE As String = "TraceEnable"
Public Const S_PRINTING3D As String = "3dPrinting"
Public Const K_3PRNBASEDIR As String = "BaseDir"
@@ -115,6 +120,9 @@ Public Module ConstIni
Public Const K_VIEWSLIDER As String = "ViewSlider"
Public Const K_IMPORTCURREXTENSION As String = "ImportCurrExtension"
+ Public Const S_SOLIDS As String = "Solids"
+ Public Const K_SIMPLIFIEDSECTION As String = "SimplifiedSection"
+
Public Const S_COLORS As String = "Colors"
Public Const K_CLR_PRINTPART As String = "PrintPart"
Public Const K_CLR_RIBS As String = "Ribs"
diff --git a/Icarus/Constants/ConstMachDataIni.vb b/Icarus/Constants/ConstMachDataIni.vb
index b3d9052..dfd7f53 100644
--- a/Icarus/Constants/ConstMachDataIni.vb
+++ b/Icarus/Constants/ConstMachDataIni.vb
@@ -27,6 +27,7 @@ Public Module ConstMachDataIni
Public Const S_45DEGX As String = "45DegX"
Public Const S_45DEGY As String = "45DegY"
Public Const S_HORIZONTAL As String = "Horizontal"
+ Public Const S_MULTIPLANAR As String = "MultiPlanar"
Public Const K_MINX As String = "MinX"
Public Const K_MAXX As String = "MaxX"
Public Const K_MINY As String = "MinY"
diff --git a/Icarus/Constants/ConstMachIni.vb b/Icarus/Constants/ConstMachIni.vb
index 1cdbd2d..8be8e1a 100644
--- a/Icarus/Constants/ConstMachIni.vb
+++ b/Icarus/Constants/ConstMachIni.vb
@@ -1,6 +1,7 @@
Public Module ConstMachIni
- Public Const MACH_INI_FILE_NAME As String = "MachData.ini"
+ Public Const S_GENERAL As String = "General"
+ Public Const K_GEN_STD_VIEW As String = "StandardView"
Public Const S_MACHINING As String = "Machining"
Public Const K_MACH_INITSCRIPT As String = "InitScript"
@@ -8,6 +9,7 @@
Public Const S_MACH_PRINTING3D As String = "3dPrinting"
Public Const K_SLICINGTYPE As String = "SlicingType"
+ Public Const K_NEWSLICINGTYPE As String = "NewSlicingType"
Public Const K_SPEED_MIN As String = "SpeedMin"
Public Const K_SPEED_MAX As String = "SpeedMax"
Public Const K_MAX_HEIGHT As String = "HMax"
@@ -24,4 +26,10 @@
#End Region
+ Public Const S_VMILL As String = "VMill"
+ Public Const K_VM_ENABLE As String = "Enable"
+
+ Public Const S_TOOLTRACE As String = "ToolTrace"
+ Public Const K_TT_ENABLE As String = "Enable"
+
End Module
diff --git a/Icarus/CurrMachiningPanel/CurrMachining.vb b/Icarus/CurrMachiningPanel/CurrMachining.vb
index 5daeef4..7f75ef0 100644
--- a/Icarus/CurrMachiningPanel/CurrMachining.vb
+++ b/Icarus/CurrMachiningPanel/CurrMachining.vb
@@ -106,12 +106,12 @@ Public Class CurrMachining
Else
m_nIndex = 0
End If
- m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.GENERAL, nPartId, m_nIndex, False))
- m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.LINK, nPartId, m_nIndex, False))
- 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))
+ m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.GENERAL, nPartId, m_nIndex, False, Me))
+ m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.LINK, nPartId, m_nIndex, False, Me))
+ m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.RIBS, nPartId, m_nIndex, False, Me))
+ m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.SHELL_NUMBER, nPartId, m_nIndex, False, Me))
+ m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.AUX_SOLID, nPartId, m_nIndex, False, Me))
+ m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.INFILL, nPartId, m_nIndex, False, Me))
For Each Cathegory In m_CathegoryList
For Each MachiningParam In Cathegory.MachiningParamList
AddHandler MachiningParam.PropertyChanged, AddressOf OnMachiningParamPropertyChanged
@@ -124,12 +124,12 @@ Public Class CurrMachining
' ricavo lavorazione da lista
Dim CurrMachiningInDb As MachiningIndex = Map.refTopPanelVM.MachiningList.FirstOrDefault(Function(x) x.nIndex = nIndex)
m_sCurrGUID = CurrMachiningInDb.sGUID
- m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.GENERAL, nPartId, m_nIndex, True))
- m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.LINK, nPartId, m_nIndex, True))
- 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))
+ m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.GENERAL, nPartId, m_nIndex, True, Me))
+ m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.LINK, nPartId, m_nIndex, True, Me))
+ m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.RIBS, nPartId, m_nIndex, True, Me))
+ m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.SHELL_NUMBER, nPartId, m_nIndex, True, Me))
+ m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.AUX_SOLID, nPartId, m_nIndex, True, Me))
+ m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.INFILL, nPartId, m_nIndex, True, Me))
For Each Cathegory In m_CathegoryList
For Each MachiningParam In Cathegory.MachiningParamList
AddHandler MachiningParam.PropertyChanged, AddressOf OnMachiningParamPropertyChanged
@@ -196,8 +196,9 @@ End Class
Public Class CurrMachiningCathegory
Inherits MachiningCathegory
- Sub New(Type As Cathegories, nPartId As Integer, nIndex As Integer, bForceFromDb As Boolean)
+ Sub New(Type As Cathegories, nPartId As Integer, nIndex As Integer, bForceFromDb As Boolean, Machining As Machining)
m_Type = Type
+ m_Machining = Machining
Select Case m_Type
Case Cathegories.GENERAL
m_sName = "General"
@@ -221,7 +222,8 @@ Public Class CurrMachiningCathegory
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.SLICINGHEIGHT, nPartId, nIndex, bForceFromDb, Me)})
+ New CurrNumericMachiningParam(MachiningParam.Params.SLICINGHEIGHT, nPartId, nIndex, bForceFromDb, Me),
+ New CurrNumericMachiningParam(MachiningParam.Params.MAXSLICESNUMBER, nPartId, nIndex, bForceFromDb, Me)})
Case Cathegories.LINK
m_sName = "Shell"
m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.INNERSHELLWIDTH, nPartId, nIndex, bForceFromDb, Me),
@@ -229,6 +231,7 @@ Public Class CurrMachiningCathegory
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 CurrCheckMachiningParam(MachiningParam.Params.SINGLELEADIN, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.LEADINTANGDIST, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.LEADINORTHODIST, nPartId, nIndex, bForceFromDb, Me),
New CurrComboMachiningParam(MachiningParam.Params.LEADOUT, nPartId, nIndex, bForceFromDb, Me),
@@ -237,7 +240,8 @@ Public Class CurrMachiningCathegory
New CurrNumericMachiningParam(MachiningParam.Params.COASTINGLEN, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.COASTINGFEED_PC, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.WIPELEN, nPartId, nIndex, bForceFromDb, Me),
- New CurrNumericMachiningParam(MachiningParam.Params.WIPEFEED_PC, nPartId, nIndex, bForceFromDb, Me)})
+ New CurrNumericMachiningParam(MachiningParam.Params.WIPEFEED_PC, nPartId, nIndex, bForceFromDb, Me),
+ New CurrNumericMachiningParam(MachiningParam.Params.SPIRALVASELEN, nPartId, nIndex, bForceFromDb, Me)})
'New CurrNumericMachiningParam(MachiningParam.Params.WIPEDIR, nPartId, nIndex, bForceFromDb, Me)})
Case Cathegories.RIBS
m_sName = "Ribs"
@@ -245,8 +249,12 @@ Public Class CurrMachiningCathegory
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.RIBSSTRANDOVERLAP, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.RIBSSTRANDCOUNT, nPartId, nIndex, bForceFromDb, Me),
New CurrCheckMachiningParam(MachiningParam.Params.RIBSLINK, nPartId, nIndex, bForceFromDb, Me),
+ New CurrNumericMachiningParam(MachiningParam.Params.RIBSLINKFILLET, nPartId, nIndex, bForceFromDb, Me),
+ New CurrCheckMachiningParam(MachiningParam.Params.RIBSMERGEWITHSHELL, nPartId, nIndex, bForceFromDb, Me),
+ New CurrCheckMachiningParam(MachiningParam.Params.RIBSINVERTMERGEDSHELLMAINLINK, nPartId, nIndex, bForceFromDb, Me),
New CurrCheckMachiningParam(MachiningParam.Params.RIBSINVERTORDER, nPartId, nIndex, bForceFromDb, Me),
New CurrCheckMachiningParam(MachiningParam.Params.RIBSINVERTDIRECTION, nPartId, nIndex, bForceFromDb, Me),
New CurrCheckMachiningParam(MachiningParam.Params.RIBSINVERTSTRANDORDER, nPartId, nIndex, bForceFromDb, Me),
@@ -256,7 +264,8 @@ Public Class CurrMachiningCathegory
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTLEN, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTCOASTING, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPE, nPartId, nIndex, bForceFromDb, Me),
- New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPEDIR, nPartId, nIndex, bForceFromDb, Me)})
+ New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPEDIR, nPartId, nIndex, bForceFromDb, Me),
+ New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADFILLET, nPartId, nIndex, bForceFromDb, Me)})
Case Cathegories.SHELL_NUMBER
m_sName = "Reduce Shell Number"
m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.SHELLNBRDIFFERENCE, nPartId, nIndex, bForceFromDb, Me),
@@ -309,6 +318,11 @@ Public Class CurrMachiningCathegory
Dim MachiningParam As ComboMachiningParam = MachiningParamList.FirstOrDefault(Function(z) z.Type = Param)
MachiningParam.ManageDependencyParam()
Next
+ For Each Param In {MachiningParam.Params.SPIRALVASE}
+ Dim GeneralCathegory As MachiningCathegory = Machining.CathegoryList.FirstOrDefault(Function(z) z.Type = Cathegories.GENERAL)
+ Dim MachiningParam As CheckMachiningParam = GeneralCathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Param)
+ MachiningParam.ManageDependencyParam(Me)
+ Next
Case Cathegories.RIBS
For Each Param In {MachiningParam.Params.RIBSTYPE}
Dim MachiningParam As ComboMachiningParam = MachiningParamList.FirstOrDefault(Function(z) z.Type = Param)
@@ -354,7 +368,7 @@ Public Class CurrNumericMachiningParam
Public Overrides Property sValue As String
Get
- Return If(m_bIsLen, LenToString(m_dValue, 1), DoubleToString(m_dValue, 2))
+ Return If(m_bIsLen, LenToString(m_dValue, 2), DoubleToString(m_dValue, 2))
End Get
Set(value As String)
Dim dTempValue As Double = 0
@@ -467,6 +481,9 @@ Public Class CurrNumericMachiningParam
Case Params.WIPEFEED_PC
bReadFromPart = EgtGetInfo(nPartId, MAC_WIPEFEEDPU, m_dValue)
m_bIsLen = False
+ Case Params.SPIRALVASELEN
+ bReadFromPart = EgtGetInfo(nPartId, MAC_SPIRALVASELEN, m_dValue)
+ m_bIsLen = True
'Case Params.WIPEDIR
' bReadFromPart = EgtGetInfo(nPartId, MAC_WIPEDIR, m_dValue)
' m_bIsLen = True
@@ -484,25 +501,34 @@ Public Class CurrNumericMachiningParam
m_bIsLen = True
Case Params.PREFLOWDELAY
bReadFromPart = EgtGetInfo(nPartId, MAC_PREFLOWDELAY, m_dValue)
- m_bIsLen = True
+ m_bIsLen = False
Case Params.POSTFLOWDELAY
bReadFromPart = EgtGetInfo(nPartId, MAC_POSTFLOWDELAY, m_dValue)
- m_bIsLen = True
+ m_bIsLen = False
Case Params.SCREWBACK
bReadFromPart = EgtGetInfo(nPartId, MAC_SCREWBACK, m_dValue)
- m_bIsLen = True
+ m_bIsLen = False
Case Params.SLICINGHEIGHT
bReadFromPart = EgtGetInfo(nPartId, MAC_SLICINGHEIGHT, m_dValue)
m_bIsLen = True
+ Case Params.MAXSLICESNUMBER
+ bReadFromPart = EgtGetInfo(nPartId, MAC_MAXSLICESNUMBER, m_dValue)
+ m_bIsLen = False
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
+ Case Params.RIBSSTRANDOVERLAP
+ bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSSTRANDOVERLAP, m_dValue)
+ m_bIsLen = False
Case Params.RIBSSTRANDCOUNT
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSSTRANDCOUNT, m_dValue)
m_bIsLen = False
+ Case Params.RIBSLINKFILLET
+ bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLINKFILLET, m_dValue)
+ m_bIsLen = True
Case Params.RIBSLEADINLEN
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADINLEN, m_dValue)
m_bIsLen = True
@@ -518,6 +544,9 @@ Public Class CurrNumericMachiningParam
Case Params.RIBSLEADOUTWIPEDIR
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADOUTWIPEDIR, m_dValue)
m_bIsLen = False
+ Case Params.RIBSLEADFILLET
+ bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADFILLET, m_dValue)
+ m_bIsLen = True
Case Params.SHELLNBRDIFFERENCE
bReadFromPart = EgtGetInfo(nPartId, MAC_SHELLNBRDIFFERENCE, m_dValue)
m_bIsLen = False
@@ -614,15 +643,15 @@ Public Class CurrNumericMachiningParam
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.G0FEED, Params.G0FEEDZ, Params.LINKZUP, Params.TOOLDIAM, Params.FLOWRATE_PC, Params.PREFLOWDELAY, Params.POSTFLOWDELAY, Params.SCREWBACK, Params.SLICINGHEIGHT
+ Params.G0FEED, Params.G0FEEDZ, Params.LINKZUP, Params.TOOLDIAM, Params.FLOWRATE_PC, Params.PREFLOWDELAY, Params.POSTFLOWDELAY, Params.SCREWBACK, Params.SLICINGHEIGHT, Params.MAXSLICESNUMBER
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
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
+ Params.WIPELEN, Params.WIPEFEED_PC, Params.SPIRALVASELEN, Params.SINGLELEADIN ' Params.WIPEDIR
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.LINK).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
- Case Params.RIBSSTRANDWIDTH, Params.RIBSOVERLAP, Params.RIBSSTRANDCOUNT, Params.RIBSLINK, Params.RIBSINVERTORDER, Params.RIBSINVERTDIRECTION,
+ Case Params.RIBSSTRANDWIDTH, Params.RIBSOVERLAP, Params.RIBSSTRANDOVERLAP, Params.RIBSSTRANDCOUNT, Params.RIBSLINK, Params.RIBSLINKFILLET, Params.RIBSMERGEWITHSHELL, Params.RIBSINVERTMERGEDSHELLMAINLINK, Params.RIBSINVERTORDER, Params.RIBSINVERTDIRECTION,
Params.RIBSLEADININVERT, Params.RIBSLEADINLEN, Params.RIBSLEADOUTINVERT, Params.RIBSLEADOUTLEN, Params.RIBSLEADOUTCOASTING,
- Params.RIBSLEADOUTWIPE, Params.RIBSLEADOUTWIPEDIR
+ Params.RIBSLEADOUTWIPE, Params.RIBSLEADOUTWIPEDIR, Params.RIBSLEADFILLET
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.RIBS).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
Case Params.SHELLNBRDIFFERENCE, Params.SHELLNBRCOASTING, Params.SHELLNBRWIPE, Params.SHELLNBRWIPEDIR
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.SHELL_NUMBER).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
@@ -693,6 +722,8 @@ Public Class CurrNumericMachiningParam
EgtSetInfo(nPartId, MAC_WIPELEN, sWriteValue)
Case Params.WIPEFEED_PC
EgtSetInfo(nPartId, MAC_WIPEFEEDPU, sWriteValue)
+ Case Params.SPIRALVASELEN
+ EgtSetInfo(nPartId, MAC_SPIRALVASELEN, sWriteValue)
'Case Params.WIPEDIR
' EgtSetInfo(nPartId, MAC_WIPEDIR, sWriteValue)
Case Params.FLOORCOUNT
@@ -711,12 +742,18 @@ Public Class CurrNumericMachiningParam
EgtSetInfo(nPartId, MAC_SCREWBACK, sWriteValue)
Case Params.SLICINGHEIGHT
EgtSetInfo(nPartId, MAC_SLICINGHEIGHT, sWriteValue)
+ Case Params.MAXSLICESNUMBER
+ EgtSetInfo(nPartId, MAC_MAXSLICESNUMBER, sWriteValue)
Case Params.RIBSSTRANDWIDTH
EgtSetInfo(nPartId, MAC_RIBSSTRANDWIDTH, sWriteValue)
Case Params.RIBSOVERLAP
EgtSetInfo(nPartId, MAC_RIBSOVERLAP, sWriteValue)
+ Case Params.RIBSSTRANDOVERLAP
+ EgtSetInfo(nPartId, MAC_RIBSSTRANDOVERLAP, sWriteValue)
Case Params.RIBSSTRANDCOUNT
EgtSetInfo(nPartId, MAC_RIBSSTRANDCOUNT, sWriteValue)
+ Case Params.RIBSLINKFILLET
+ EgtSetInfo(nPartId, MAC_RIBSLINKFILLET, sWriteValue)
Case Params.RIBSLEADINLEN
EgtSetInfo(nPartId, MAC_RIBSLEADINLEN, sWriteValue)
Case Params.RIBSLEADOUTLEN
@@ -727,6 +764,8 @@ Public Class CurrNumericMachiningParam
EgtSetInfo(nPartId, MAC_RIBSLEADOUTWIPE, sWriteValue)
Case Params.RIBSLEADOUTWIPEDIR
EgtSetInfo(nPartId, MAC_RIBSLEADOUTWIPEDIR, sWriteValue)
+ Case Params.RIBSLEADFILLET
+ EgtSetInfo(nPartId, MAC_RIBSLEADFILLET, sWriteValue)
Case Params.SHELLNBRDIFFERENCE
EgtSetInfo(nPartId, MAC_SHELLNBRDIFFERENCE, sWriteValue)
Case Params.SHELLNBRCOASTING
@@ -928,17 +967,15 @@ Public Class CurrComboMachiningParam
Dim bReadFromPart As Boolean = False
Select Case Type
Case Params.SLICINGTYPE
- Dim nSlicingType As Integer = GetPrivateProfileInt(S_MACH_PRINTING3D, K_SLICINGTYPE, 0, CurrentMachine.sMachIniFile)
- m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_SLICINGTYPE.VERTICAL, "Vertical")})
- If nSlicingType >= 1 Then
- m_ValueList.Add(New IdNameStruct(Machining.MPAR_SLICINGTYPE.DEG45, "45deg X"))
- If nSlicingType >= 2 Then
- m_ValueList.Add(New IdNameStruct(Machining.MPAR_SLICINGTYPE.DEG45_Y, "45deg Y"))
- If nSlicingType >= 3 Then
- m_ValueList.Add(New IdNameStruct(Machining.MPAR_SLICINGTYPE.HORIZONTAL, "Horizontal"))
- End If
- End If
- End If
+ Dim nNewSlicingType As Integer = CurrentMachine.GetSlicingType()
+ m_ValueList = New List(Of IdNameStruct)
+ If (nNewSlicingType And 1) <> 0 Then m_ValueList.Add(New IdNameStruct(Machining.MPAR_SLICINGTYPE.VERTICAL, "Vertical"))
+ If (nNewSlicingType And 2) <> 0 Then m_ValueList.Add(New IdNameStruct(Machining.MPAR_SLICINGTYPE.DEG45, "45deg X"))
+ If (nNewSlicingType And 4) <> 0 Then m_ValueList.Add(New IdNameStruct(Machining.MPAR_SLICINGTYPE.DEG45_Y, "45deg Y"))
+ If (nNewSlicingType And 8) <> 0 Then m_ValueList.Add(New IdNameStruct(Machining.MPAR_SLICINGTYPE.HORIZONTAL, "Horizontal"))
+ If (nNewSlicingType And 16) <> 0 Then m_ValueList.Add(New IdNameStruct(Machining.MPAR_SLICINGTYPE.MULTIPLANAR, "MultiPlanar"))
+ If (nNewSlicingType And 32) <> 0 Then m_ValueList.Add(New IdNameStruct(Machining.MPAR_SLICINGTYPE.MULTIPLANAR_DEG45, "MultiPlanar 45deg"))
+ If (nNewSlicingType And 64) <> 0 Then m_ValueList.Add(New IdNameStruct(Machining.MPAR_SLICINGTYPE.MULTIPLANAR_HORIZ, "MultiPlanar Horiz"))
Dim nSelValue As Integer = 0
bReadFromPart = EgtGetInfo(nPartId, MAC_SLICINGTYPE, nSelValue)
If Not bReadFromPart Then
@@ -1150,6 +1187,7 @@ Public Class CurrCheckMachiningParam
m_bValue = value
NotifyPropertyChanged(NameOf(bValue))
NotifyPropertyChanged(NameOf(bIsModifiedFromDb))
+ ManageDependencyParam()
End Set
End Property
@@ -1175,8 +1213,14 @@ Public Class CurrCheckMachiningParam
Select Case Type
Case Params.SPIRALVASE
bReadFromPart = EgtGetInfo(nPartId, MAC_SPIRALVASE, m_bValue)
+ Case Params.SINGLELEADIN
+ bReadFromPart = EgtGetInfo(nPartId, MAC_SINGLELEADIN, m_bValue)
Case Params.RIBSLINK
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLINK, m_bValue)
+ Case Params.RIBSMERGEWITHSHELL
+ bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSMERGEWITHSHELL, m_bValue)
+ Case Params.RIBSINVERTMERGEDSHELLMAINLINK
+ bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSINVERTMERGEDSHELLMAINLINK, m_bValue)
Case Params.RIBSINVERTORDER
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSINVERTORDER, m_bValue)
Case Params.RIBSINVERTDIRECTION
@@ -1200,7 +1244,9 @@ Public Class CurrCheckMachiningParam
Select Case Type
Case Params.SPIRALVASE
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
- Case Params.RIBSLINK, Params.RIBSINVERTORDER, Params.RIBSINVERTDIRECTION, Params.RIBSINVERTSTRANDORDER, Params.RIBSLEADININVERT, Params.RIBSLEADOUTINVERT, Params.RIBSLIMITUNBOUNDEDWITHSOLID
+ Case Params.SINGLELEADIN
+ m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.LINK).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
+ Case Params.RIBSLINK, Params.RIBSMERGEWITHSHELL, Params.RIBSINVERTMERGEDSHELLMAINLINK, 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)
@@ -1218,8 +1264,14 @@ Public Class CurrCheckMachiningParam
Select Case Type
Case Params.SPIRALVASE
EgtSetInfo(nPartId, MAC_SPIRALVASE, If(m_bValue, 1, 0))
+ Case Params.SINGLELEADIN
+ EgtSetInfo(nPartId, MAC_SINGLELEADIN, If(m_bValue, 1, 0))
Case Params.RIBSLINK
EgtSetInfo(nPartId, MAC_RIBSLINK, If(m_bValue, 1, 0))
+ Case Params.RIBSMERGEWITHSHELL
+ EgtSetInfo(nPartId, MAC_RIBSMERGEWITHSHELL, If(m_bValue, 1, 0))
+ Case Params.RIBSINVERTMERGEDSHELLMAINLINK
+ EgtSetInfo(nPartId, MAC_RIBSINVERTMERGEDSHELLMAINLINK, If(m_bValue, 1, 0))
Case Params.RIBSINVERTORDER
EgtSetInfo(nPartId, MAC_RIBSINVERTORDER, If(m_bValue, 1, 0))
Case Params.RIBSINVERTDIRECTION
diff --git a/Icarus/CurrMachiningPanel/CurrMachiningPanelVM.vb b/Icarus/CurrMachiningPanel/CurrMachiningPanelVM.vb
index 1d2f2f9..1fe1e66 100644
--- a/Icarus/CurrMachiningPanel/CurrMachiningPanelVM.vb
+++ b/Icarus/CurrMachiningPanel/CurrMachiningPanelVM.vb
@@ -140,7 +140,7 @@ Public Class CurrMachiningPanelVM
WriteMachiningParam(nIndex, MAC_GUID, sNewMachGUID.ToString())
WriteMachiningParam(nIndex, MAC_NAME, SaveInDbWndVM.sName)
' creo categoria materiali con attivo materiale corrente
- Dim MaterialCathegory As New MachiningCathegory(MachiningCathegory.Cathegories.MATERIALS, 0)
+ Dim MaterialCathegory As New MachiningCathegory(MachiningCathegory.Cathegories.MATERIALS, 0, m_CurrMachining)
Dim SelMaterialParam As MaterialMachiningParam = MaterialCathegory.MachiningParamList.FirstOrDefault(Function(x As MaterialMachiningParam) x.sGUID = Map.refTopPanelVM.SelMaterial.sGUID)
If Not IsNothing(SelMaterialParam) Then
SelMaterialParam.bValue = True
diff --git a/Icarus/DispositionPanel/DispositionPanelVM.vb b/Icarus/DispositionPanel/DispositionPanelVM.vb
index 3321944..789eb52 100644
--- a/Icarus/DispositionPanel/DispositionPanelVM.vb
+++ b/Icarus/DispositionPanel/DispositionPanelVM.vb
@@ -21,8 +21,8 @@ Public Class DispositionPanelVM
Dim dNewXPos As Double = ptReference.x
StringToLen(value, dNewXPos)
Dim b3Print As BBox3d = GetSolidForReferenceBBox(Map.refTopPanelVM.SelPart)
- Dim dMin As Double = 0
- Dim dMax As Double = CurrentMachine.b3Tab.DimX
+ Dim dMin As Double = Math.Min( 0, CurrentMachine.b3ExtrusionArea.Min.x)
+ Dim dMax As Double = Math.Max( CurrentMachine.b3Tab.DimX, CurrentMachine.b3ExtrusionArea.Max.x)
If b3Print.Max.x > ptReference.x Then
dMax -= b3Print.Max.x - ptReference.x
End If
@@ -60,8 +60,8 @@ Public Class DispositionPanelVM
Dim dNewYPos As Double = ptReference.y
StringToLen(value, dNewYPos)
Dim b3Print As BBox3d = GetSolidForReferenceBBox(Map.refTopPanelVM.SelPart)
- Dim dMin As Double = 0
- Dim dMax As Double = CurrentMachine.b3Tab.DimY
+ Dim dMin As Double = Math.Min( 0, CurrentMachine.b3ExtrusionArea.Min.y)
+ Dim dMax As Double = Math.Max( CurrentMachine.b3Tab.DimY, CurrentMachine.b3ExtrusionArea.Max.y)
If b3Print.Max.y > ptReference.y Then
dMax -= b3Print.Max.y - ptReference.y
End If
diff --git a/Icarus/FilledSolidPanel/FilledSolidPanelVM.vb b/Icarus/FilledSolidPanel/FilledSolidPanelVM.vb
index ab5e31c..83b40b9 100644
--- a/Icarus/FilledSolidPanel/FilledSolidPanelVM.vb
+++ b/Icarus/FilledSolidPanel/FilledSolidPanelVM.vb
@@ -595,6 +595,7 @@ Public Class FilledSolidPanelVM
Friend Sub Dispose()
' ripristino frame originale
EgtSetGridFrame(m_OriginalGridFrame)
+ EgtSetGridGeoAdv( -1, -1, -1, 0, CurrentMachine.b3Tab.DimX(), 0, CurrentMachine.b3Tab.DimY())
' se in modifica parametri
If m_bMachParam_IsChecked Then
' ripristino modalita' standard
@@ -1075,6 +1076,7 @@ Public Class FilledSolidPanelVM
'''
Public Sub CPlaneTop(ByVal param As Object)
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
+ EgtSetGridGeoAdv( -1, -1, -1, 0, CurrentMachine.b3Tab.DimX(), 0, CurrentMachine.b3Tab.DimY())
Map.refSceneHostVM.MainController.SetLastInteger(Controller.GRID_TYPE.TOP)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
End Sub
@@ -1100,6 +1102,7 @@ Public Class FilledSolidPanelVM
'''
Public Sub CPlaneFront(ByVal param As Object)
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
+ EgtSetGridGeo( -1, -1, -1, OptionModule.m_nExtSStep)
Map.refSceneHostVM.MainController.SetLastInteger(Controller.GRID_TYPE.FRONT)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
End Sub
@@ -1125,6 +1128,7 @@ Public Class FilledSolidPanelVM
'''
Public Sub CPlaneRight(ByVal param As Object)
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
+ EgtSetGridGeo( -1, -1, -1, OptionModule.m_nExtSStep)
Map.refSceneHostVM.MainController.SetLastInteger(Controller.GRID_TYPE.RIGHT)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
End Sub
@@ -1150,6 +1154,7 @@ Public Class FilledSolidPanelVM
'''
Public Sub CPlaneBack(ByVal param As Object)
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
+ EgtSetGridGeo( -1, -1, -1, OptionModule.m_nExtSStep)
Map.refSceneHostVM.MainController.SetLastInteger(Controller.GRID_TYPE.BACK)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
End Sub
@@ -1175,6 +1180,7 @@ Public Class FilledSolidPanelVM
'''
Public Sub CPlaneLeft(ByVal param As Object)
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
+ EgtSetGridGeo( -1, -1, -1, OptionModule.m_nExtSStep)
Map.refSceneHostVM.MainController.SetLastInteger(Controller.GRID_TYPE.LEFT)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
End Sub
@@ -1200,6 +1206,7 @@ Public Class FilledSolidPanelVM
'''
Public Sub CPlaneBottom(ByVal param As Object)
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
+ EgtSetGridGeo( -1, -1, -1, OptionModule.m_nExtSStep)
Map.refSceneHostVM.MainController.SetLastInteger(Controller.GRID_TYPE.BOTTOM)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
End Sub
@@ -1226,6 +1233,7 @@ Public Class FilledSolidPanelVM
Public Sub CPlaneElevation(ByVal param As Object)
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
ManageInterface(False)
+ EgtSetGridGeo( -1, -1, -1, OptionModule.m_nExtSStep)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID_ELEVATION)
End Sub
@@ -1251,87 +1259,12 @@ Public Class FilledSolidPanelVM
Public Sub CPlaneOrigin(ByVal param As Object)
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
ManageInterface(False)
+ EgtSetGridGeo( -1, -1, -1, OptionModule.m_nExtSStep)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID_ORIGIN)
End Sub
#End Region ' CPlaneOrigin
-#Region "CPlaneRotate"
-
- '''
- ''' Returns a command that do CPlaneRotate.
- '''
- Public ReadOnly Property CPlaneRotate_Command As ICommand
- Get
- If m_cmdCPlaneRotate Is Nothing Then
- m_cmdCPlaneRotate = New Command(AddressOf CPlaneRotate)
- End If
- Return m_cmdCPlaneRotate
- End Get
- End Property
-
- '''
- ''' Execute the CPlaneRotate. This method is invoked by the CPlaneRotateCommand.
- '''
- Public Sub CPlaneRotate(ByVal param As Object)
- If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
- If (Keyboard.Modifiers And ModifierKeys.Shift) <> ModifierKeys.Shift Then
- Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID_ROTATE)
- Else
- Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID_ROTATE3D)
- End If
- End Sub
-
-#End Region ' CPlaneRotate
-
-#Region "CPlane3P"
-
- '''
- ''' Returns a command that do CPlane3P.
- '''
- Public ReadOnly Property CPlane3P_Command As ICommand
- Get
- If m_cmdCPlane3P Is Nothing Then
- m_cmdCPlane3P = New Command(AddressOf CPlane3P)
- End If
- Return m_cmdCPlane3P
- End Get
- End Property
-
- '''
- ''' Execute the CPlane3P. This method is invoked by the CPlane3PCommand.
- '''
- Public Sub CPlane3P(ByVal param As Object)
- If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
- Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID_3P)
- End Sub
-
-#End Region ' CPlane3P
-
-#Region "CPlanePerpObj"
-
- '''
- ''' Returns a command that do CPlanePerpObj.
- '''
- Public ReadOnly Property CPlanePerpObj_Command As ICommand
- Get
- If m_cmdCPlanePerpObj Is Nothing Then
- m_cmdCPlanePerpObj = New Command(AddressOf CPlanePerpObj)
- End If
- Return m_cmdCPlanePerpObj
- End Get
- End Property
-
- '''
- ''' Execute the CPlanePerpObj. This method is invoked by the CPlanePerpObjCommand.
- '''
- Public Sub CPlanePerpObj(ByVal param As Object)
- If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
- Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID_PERPCURVE)
- End Sub
-
-#End Region ' CPlanePerpObj
-
#Region "CPlaneObj"
Private m_bCPlaneObj_IsActive As Boolean = False
diff --git a/Icarus/FilledSolidParamPanel/FilledSolidParamPanelVM.vb b/Icarus/FilledSolidParamPanel/FilledSolidParamPanelVM.vb
index eac4460..62ccbfe 100644
--- a/Icarus/FilledSolidParamPanel/FilledSolidParamPanelVM.vb
+++ b/Icarus/FilledSolidParamPanel/FilledSolidParamPanelVM.vb
@@ -166,13 +166,13 @@ Public Class FilledSolidNumericMachiningParam
Public Overrides Property sValue As String
Get
- Return If(m_bIsLen, LenToString(m_dValue, 1), m_dValue)
+ Return If(m_bIsLen, LenToString(m_dValue, 2), DoubleToString(m_dValue, 2))
End Get
Set(value As String)
If m_bIsLen Then
StringToLen(value, m_dValue)
Else
- m_dValue = value
+ StringToDouble(value, m_dValue)
End If
NotifyPropertyChanged(NameOf(sValue))
NotifyPropertyChanged(NameOf(bIsModifiedFromPart))
diff --git a/Icarus/Icarus.vbproj b/Icarus/Icarus.vbproj
index 0d4df2d..9c02606 100644
--- a/Icarus/Icarus.vbproj
+++ b/Icarus/Icarus.vbproj
@@ -76,6 +76,9 @@
true
+
+ ..\..\..\EgtProg\Icarus\DotNetZip.dll
+
False
..\..\..\EgtProg\DllD32\EgtUILib.dll
@@ -84,8 +87,8 @@
False
..\..\..\EgtProg\DllD32\EgtWPFLib5.dll
-
- ..\packages\Ionic.Zip.1.9.1.8\lib\Ionic.Zip.dll
+
+ ..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll
@@ -332,6 +335,7 @@
+
diff --git a/Icarus/InstrumentPanel/InstrumentPanelV.xaml b/Icarus/InstrumentPanel/InstrumentPanelV.xaml
index b74099f..00b29b0 100644
--- a/Icarus/InstrumentPanel/InstrumentPanelV.xaml
+++ b/Icarus/InstrumentPanel/InstrumentPanelV.xaml
@@ -1,30 +1,37 @@
-
+
+
+
+
+
+
+ 25
+ 25
+
+
+
+
+
+
-
-
- 25
- 25
-
-
-
-
-
+
diff --git a/Icarus/MachiningDb/Machining.vb b/Icarus/MachiningDb/Machining.vb
index ae0f2be..21e4049 100644
--- a/Icarus/MachiningDb/Machining.vb
+++ b/Icarus/MachiningDb/Machining.vb
@@ -14,6 +14,9 @@ Public Class Machining
DEG45 = 2
DEG45_Y = 3
HORIZONTAL = 4
+ MULTIPLANAR = 5
+ MULTIPLANAR_DEG45 = 6
+ MULTIPLANAR_HORIZ = 7
End Enum
Public Enum MPAR_STRANDORDERS As Integer
@@ -147,13 +150,13 @@ Public Class Machining
m_sName = "New Machining"
End If
m_sOrigName = m_sName
- m_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.GENERAL, nIndex))
- m_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.LINK, nIndex))
- 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))
+ m_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.GENERAL, nIndex, Me))
+ m_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.LINK, nIndex, Me))
+ m_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.RIBS, nIndex, Me))
+ m_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.SHELL_NUMBER, nIndex, Me))
+ m_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.AUX_SOLID, nIndex, Me))
+ m_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.INFILL, nIndex, Me))
+ m_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.MATERIALS, nIndex, Me))
For Each Cathegory In m_CathegoryList
For Each MachiningParam In Cathegory.MachiningParamList
AddHandler MachiningParam.PropertyChanged, AddressOf OnMachiningParamPropertyChanged
@@ -314,11 +317,19 @@ Public Class MachiningCathegory
End Set
End Property
+ Protected m_Machining As Machining
+ Friend ReadOnly Property Machining As Machining
+ Get
+ Return m_Machining
+ End Get
+ End Property
+
Sub New()
End Sub
- Sub New(Type As Cathegories, nIndex As Integer)
+ Sub New(Type As Cathegories, nIndex As Integer, Machining As Machining)
+ m_Machining = Machining
m_Type = Type
Select Case m_Type
Case Cathegories.GENERAL
@@ -343,7 +354,8 @@ Public Class MachiningCathegory
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.SLICINGHEIGHT, nIndex, Me)})
+ New NumericMachiningParam(MachiningParam.Params.SLICINGHEIGHT, nIndex, Me),
+ New NumericMachiningParam(MachiningParam.Params.MAXSLICESNUMBER, nIndex, Me)})
Case Cathegories.LINK
m_sName = "Shell"
m_MachiningParamList = New List(Of MachiningParam)({New NumericMachiningParam(MachiningParam.Params.INNERSHELLWIDTH, nIndex, Me),
@@ -351,6 +363,7 @@ Public Class MachiningCathegory
New ComboMachiningParam(MachiningParam.Params.LINKTYPE, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.LINKPARAM, nIndex, Me),
New ComboMachiningParam(MachiningParam.Params.LEADIN, nIndex, Me),
+ New CheckMachiningParam(MachiningParam.Params.SINGLELEADIN, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.LEADINTANGDIST, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.LEADINORTHODIST, nIndex, Me),
New ComboMachiningParam(MachiningParam.Params.LEADOUT, nIndex, Me),
@@ -359,7 +372,8 @@ Public Class MachiningCathegory
New NumericMachiningParam(MachiningParam.Params.COASTINGLEN, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.COASTINGFEED_PC, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.WIPELEN, nIndex, Me),
- New NumericMachiningParam(MachiningParam.Params.WIPEFEED_PC, nIndex, Me)})
+ New NumericMachiningParam(MachiningParam.Params.WIPEFEED_PC, nIndex, Me),
+ New NumericMachiningParam(MachiningParam.Params.SPIRALVASELEN, nIndex, Me)})
'New NumericMachiningParam(MachiningParam.Params.WIPEDIR, nIndex, Me)})
Case Cathegories.RIBS
m_sName = "Ribs"
@@ -367,8 +381,12 @@ Public Class MachiningCathegory
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.RIBSSTRANDOVERLAP, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.RIBSSTRANDCOUNT, nIndex, Me),
New CheckMachiningParam(MachiningParam.Params.RIBSLINK, nIndex, Me),
+ New NumericMachiningParam(MachiningParam.Params.RIBSLINKFILLET, nIndex, Me),
+ New CheckMachiningParam(MachiningParam.Params.RIBSMERGEWITHSHELL, nIndex, Me),
+ New CheckMachiningParam(MachiningParam.Params.RIBSINVERTMERGEDSHELLMAINLINK, nIndex, Me),
New CheckMachiningParam(MachiningParam.Params.RIBSINVERTORDER, nIndex, Me),
New CheckMachiningParam(MachiningParam.Params.RIBSINVERTDIRECTION, nIndex, Me),
New CheckMachiningParam(MachiningParam.Params.RIBSINVERTSTRANDORDER, nIndex, Me),
@@ -378,7 +396,8 @@ Public Class MachiningCathegory
New NumericMachiningParam(MachiningParam.Params.RIBSLEADOUTLEN, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.RIBSLEADOUTCOASTING, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPE, nIndex, Me),
- New NumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPEDIR, nIndex, Me)})
+ New NumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPEDIR, nIndex, Me),
+ New NumericMachiningParam(MachiningParam.Params.RIBSLEADFILLET, nIndex, Me)})
Case Cathegories.SHELL_NUMBER
m_sName = "Reduce Shell Number"
m_MachiningParamList = New List(Of MachiningParam)({New NumericMachiningParam(MachiningParam.Params.SHELLNBRDIFFERENCE, nIndex, Me),
@@ -440,7 +459,12 @@ Public Class MachiningCathegory
Dim MachiningParam As ComboMachiningParam = MachiningParamList.FirstOrDefault(Function(z) z.Type = Param)
MachiningParam.ManageDependencyParam()
Next
- Case Cathegories.RIBS
+ For Each Param In {MachiningParam.Params.SPIRALVASE}
+ Dim GeneralCathegory As MachiningCathegory = Machining.CathegoryList.FirstOrDefault(Function(z) z.Type = Cathegories.GENERAL)
+ Dim MachiningParam As CheckMachiningParam = GeneralCathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Param)
+ MachiningParam.ManageDependencyParam(Me)
+ Next
+ Case Cathegories.RIBS
For Each Param In {MachiningParam.Params.RIBSTYPE}
Dim MachiningParam As ComboMachiningParam = MachiningParamList.FirstOrDefault(Function(z) z.Type = Param)
MachiningParam.ManageDependencyParam()
@@ -602,6 +626,7 @@ Public MustInherit Class MachiningParam
POSTFLOWDELAY = 20
SCREWBACK = 21
SLICINGHEIGHT = 22
+ MAXSLICESNUMBER = 23
LINKTYPE = 51
LINKPARAM = 52
LEADIN = 53
@@ -616,23 +641,30 @@ Public MustInherit Class MachiningParam
WIPELEN = 62
WIPEFEED_PC = 63
INNERSHELLWIDTH = 64
+ SPIRALVASELEN = 65
+ SINGLELEADIN = 66
'WIPEDIR = 64
RIBSTYPE = 101
RIBSOVERLAP = 102
RIBSSTRANDCOUNT = 103
RIBSLINK = 104
- RIBSINVERTORDER = 105
- RIBSINVERTDIRECTION = 106
- RIBSINVERTSTRANDORDER = 107
- RIBSLEADININVERT = 108
- RIBSLEADINLEN = 109
- RIBSLEADOUTINVERT = 110
- RIBSLEADOUTLEN = 111
- RIBSLEADOUTCOASTING = 112
- RIBSLEADOUTWIPE = 113
- RIBSLEADOUTWIPEDIR = 114
- RIBSLIMITUNBOUNDEDWITHSOLID = 115
- RIBSSTRANDWIDTH = 116
+ RIBSMERGEWITHSHELL = 105
+ RIBSINVERTMERGEDSHELLMAINLINK = 106
+ RIBSINVERTORDER = 107
+ RIBSINVERTDIRECTION = 108
+ RIBSINVERTSTRANDORDER = 109
+ RIBSLEADININVERT = 110
+ RIBSLEADINLEN = 111
+ RIBSLEADOUTINVERT = 112
+ RIBSLEADOUTLEN = 113
+ RIBSLEADOUTCOASTING = 114
+ RIBSLEADOUTWIPE = 115
+ RIBSLEADOUTWIPEDIR = 116
+ RIBSLIMITUNBOUNDEDWITHSOLID = 117
+ RIBSSTRANDWIDTH = 118
+ RIBSLINKFILLET = 119
+ RIBSLEADFILLET = 120
+ RIBSSTRANDOVERLAP = 121
SHELLNBRDIFFERENCE = 151
SHELLNBRCOASTING = 152
SHELLNBRWIPE = 153
@@ -719,7 +751,7 @@ Public MustInherit Class MachiningParam
m_Cathegory = Cathegory
Select Case m_Type
Case Params.SLICINGTYPE
- m_sName = "Slicing Direction"
+ m_sName = "Slicing Type"
Case Params.STRANDH
m_sName = "Strand Height"
Case Params.STRANDW
@@ -746,6 +778,8 @@ Public MustInherit Class MachiningParam
m_sName = "Offset Lead Point"
Case Params.LEADIN
m_sName = "Lead In"
+ Case Params.SINGLELEADIN
+ m_sName = "Single Lead In"
Case Params.LEADINTANGDIST
m_sName = "Lead In Tang Dist"
Case Params.LEADINORTHODIST
@@ -764,6 +798,8 @@ Public MustInherit Class MachiningParam
m_sName = "Wipe Len"
Case Params.WIPEFEED_PC
m_sName = "Wipe Feed [%]"
+ Case Params.SPIRALVASELEN
+ m_sName = "Spiral Trans Len"
Case Params.FLOORCOUNT
m_sName = "Floor Count"
Case Params.G0FEED
@@ -780,16 +816,26 @@ Public MustInherit Class MachiningParam
m_sName = "Screw Back"
Case Params.SLICINGHEIGHT
m_sName = "Slicing Height"
+ Case Params.MAXSLICESNUMBER
+ m_sName = "Max Slices Number"
Case Params.RIBSSTRANDWIDTH
m_sName = "Custom Strand Width"
Case Params.RIBSTYPE
m_sName = "Type"
Case Params.RIBSOVERLAP
m_sName = "Overlap [%]"
+ Case Params.RIBSSTRANDOVERLAP
+ m_sName = "Strand Overlap [%]"
Case Params.RIBSSTRANDCOUNT
m_sName = "Strand Count"
Case Params.RIBSLINK
m_sName = "Link"
+ Case Params.RIBSLINKFILLET
+ m_sName = "Link Fillet"
+ Case Params.RIBSMERGEWITHSHELL
+ m_sName = "Merge With Shell"
+ Case Params.RIBSINVERTMERGEDSHELLMAINLINK
+ m_sName = "Invert Merged Shell Main Link"
Case Params.RIBSINVERTORDER
m_sName = "Invert Order"
Case Params.RIBSINVERTDIRECTION
@@ -810,6 +856,8 @@ Public MustInherit Class MachiningParam
m_sName = "Lead Out Wipe"
Case Params.RIBSLEADOUTWIPEDIR
m_sName = "Lead Out Wipe Dir [deg]"
+ Case Params.RIBSLEADFILLET
+ m_sName = "Lead Fillet"
Case Params.RIBSLIMITUNBOUNDEDWITHSOLID
m_sName = "Limit Unbounded With Solid"
Case Params.SHELLNBRDIFFERENCE
@@ -935,7 +983,7 @@ Public Class NumericMachiningParam
End Property
Public Overridable Property sValue As String
Get
- Return If(m_bIsLen, LenToString(m_dValue, 1), DoubleToString(m_dValue, 2))
+ Return If(m_bIsLen, LenToString(m_dValue, 2), DoubleToString(m_dValue, 2))
End Get
Set(value As String)
Dim dTempValue As Double = 0
@@ -1040,6 +1088,7 @@ Public Class NumericMachiningParam
If Type = Params.SLICINGHEIGHT Then
m_dMinValue = 0
m_dMaxValue = CurrentMachine.dSlicingMaxHeight
+ m_MinMaxType = MinMaxTypes.ABSOLUT
m_bIsActiveMinMax = True
End If
' leggo parametri da Db
@@ -1102,6 +1151,9 @@ Public Class NumericMachiningParam
Case Params.WIPEFEED_PC
m_dValue = ReadMachiningParamDouble(nIndex, MAC_WIPEFEEDPU, 0)
m_bIsLen = False
+ Case Params.SPIRALVASELEN
+ m_dValue = ReadMachiningParamDouble(nIndex, MAC_SPIRALVASELEN, 0)
+ m_bIsLen = True
'Case Params.WIPEDIR
' m_dValue = ReadMachiningParamDouble(nIndex, MAC_WIPEDIR, 0)
' m_bIsLen = True
@@ -1129,15 +1181,24 @@ Public Class NumericMachiningParam
Case Params.SLICINGHEIGHT
m_dValue = ReadMachiningParamDouble(nIndex, MAC_SLICINGHEIGHT, CurrentMachine.dSlicingMaxHeight)
m_bIsLen = False
+ Case Params.MAXSLICESNUMBER
+ m_dValue = ReadMachiningParamDouble(nIndex, MAC_MAXSLICESNUMBER, 0)
+ 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
+ Case Params.RIBSSTRANDOVERLAP
+ m_dValue = ReadMachiningParamDouble(nIndex, MAC_RIBSSTRANDOVERLAP, 0)
+ m_bIsLen = False
Case Params.RIBSSTRANDCOUNT
m_dValue = ReadMachiningParamDouble(nIndex, MAC_RIBSSTRANDCOUNT, 0)
m_bIsLen = False
+ Case Params.RIBSLINKFILLET
+ m_dValue = ReadMachiningParamDouble(nIndex, MAC_RIBSLINKFILLET, 0)
+ m_bIsLen = True
Case Params.RIBSLEADINLEN
m_dValue = ReadMachiningParamDouble(nIndex, MAC_RIBSLEADINLEN, 0)
m_bIsLen = True
@@ -1153,6 +1214,9 @@ Public Class NumericMachiningParam
Case Params.RIBSLEADOUTWIPEDIR
m_dValue = ReadMachiningParamDouble(nIndex, MAC_RIBSLEADOUTWIPEDIR, 0)
m_bIsLen = False
+ Case Params.RIBSLEADFILLET
+ m_dValue = ReadMachiningParamDouble(nIndex, MAC_RIBSLEADFILLET, 0)
+ m_bIsLen = True
Case Params.SHELLNBRDIFFERENCE
m_dValue = ReadMachiningParamDouble(nIndex, MAC_SHELLNBRDIFFERENCE, 0)
m_bIsLen = False
@@ -1316,6 +1380,8 @@ Public Class NumericMachiningParam
WriteMachiningParam(nIndex, MAC_WIPELEN, sWriteValue, sFilePath)
Case Params.WIPEFEED_PC
WriteMachiningParam(nIndex, MAC_WIPEFEEDPU, sWriteValue, sFilePath)
+ Case Params.SPIRALVASELEN
+ WriteMachiningParam(nIndex, MAC_SPIRALVASELEN, sWriteValue, sFilePath)
'Case Params.WIPEDIR
' WriteMachiningParam(nIndex, MAC_WIPEDIR, sWriteValue, sFilePath)
Case Params.FLOORCOUNT
@@ -1334,12 +1400,18 @@ Public Class NumericMachiningParam
WriteMachiningParam(nIndex, MAC_SCREWBACK, sWriteValue, sFilePath)
Case Params.SLICINGHEIGHT
WriteMachiningParam(nIndex, MAC_SLICINGHEIGHT, sWriteValue, sFilePath)
+ Case Params.MAXSLICESNUMBER
+ WriteMachiningParam(nIndex, MAC_MAXSLICESNUMBER, sWriteValue, sFilePath)
Case Params.RIBSSTRANDWIDTH
WriteMachiningParam(nIndex, MAC_RIBSSTRANDWIDTH, sWriteValue, sFilePath)
Case Params.RIBSOVERLAP
WriteMachiningParam(nIndex, MAC_RIBSOVERLAP, sWriteValue, sFilePath)
+ Case Params.RIBSSTRANDOVERLAP
+ WriteMachiningParam(nIndex, MAC_RIBSSTRANDOVERLAP, sWriteValue, sFilePath)
Case Params.RIBSSTRANDCOUNT
WriteMachiningParam(nIndex, MAC_RIBSSTRANDCOUNT, sWriteValue, sFilePath)
+ Case Params.RIBSLINKFILLET
+ WriteMachiningParam(nIndex, MAC_RIBSLINKFILLET, sWriteValue, sFilePath)
Case Params.RIBSLEADINLEN
WriteMachiningParam(nIndex, MAC_RIBSLEADINLEN, sWriteValue, sFilePath)
Case Params.RIBSLEADOUTLEN
@@ -1350,6 +1422,8 @@ Public Class NumericMachiningParam
WriteMachiningParam(nIndex, MAC_RIBSLEADOUTWIPE, sWriteValue, sFilePath)
Case Params.RIBSLEADOUTWIPEDIR
WriteMachiningParam(nIndex, MAC_RIBSLEADOUTWIPEDIR, sWriteValue, sFilePath)
+ Case Params.RIBSLEADFILLET
+ WriteMachiningParam(nIndex, MAC_RIBSLEADFILLET, sWriteValue, sFilePath)
Case Params.SHELLNBRDIFFERENCE
WriteMachiningParam(nIndex, MAC_SHELLNBRDIFFERENCE, sWriteValue, sFilePath)
Case Params.SHELLNBRCOASTING
@@ -1533,17 +1607,15 @@ Public Class ComboMachiningParam
Else
Select Case Type
Case Params.SLICINGTYPE
- Dim nSlicingType As Integer = GetPrivateProfileInt(S_MACH_PRINTING3D, K_SLICINGTYPE, 0, CurrentMachine.sMachIniFile)
- m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_SLICINGTYPE.VERTICAL, "Vertical")})
- If nSlicingType >= 1 Then
- m_ValueList.Add(New IdNameStruct(Machining.MPAR_SLICINGTYPE.DEG45, "45deg X"))
- If nSlicingType >= 2 Then
- m_ValueList.Add(New IdNameStruct(Machining.MPAR_SLICINGTYPE.DEG45_Y, "45deg Y"))
- If nSlicingType >= 3 Then
- m_ValueList.Add(New IdNameStruct(Machining.MPAR_SLICINGTYPE.HORIZONTAL, "Horizontal"))
- End If
- End If
- End If
+ Dim nNewSlicingType As Integer = CurrentMachine.GetSlicingType()
+ m_ValueList = New List(Of IdNameStruct)
+ If (nNewSlicingType And 1) <> 0 Then m_ValueList.Add(New IdNameStruct(Machining.MPAR_SLICINGTYPE.VERTICAL, "Vertical"))
+ If (nNewSlicingType And 2) <> 0 Then m_ValueList.Add(New IdNameStruct(Machining.MPAR_SLICINGTYPE.DEG45, "45deg X"))
+ If (nNewSlicingType And 4) <> 0 Then m_ValueList.Add(New IdNameStruct(Machining.MPAR_SLICINGTYPE.DEG45_Y, "45deg Y"))
+ If (nNewSlicingType And 8) <> 0 Then m_ValueList.Add(New IdNameStruct(Machining.MPAR_SLICINGTYPE.HORIZONTAL, "Horizontal"))
+ If (nNewSlicingType And 16) <> 0 Then m_ValueList.Add(New IdNameStruct(Machining.MPAR_SLICINGTYPE.MULTIPLANAR, "MultiPlanar"))
+ If (nNewSlicingType And 32) <> 0 Then m_ValueList.Add(New IdNameStruct(Machining.MPAR_SLICINGTYPE.MULTIPLANAR_DEG45, "MultiPlanar 45deg"))
+ If (nNewSlicingType And 64) <> 0 Then m_ValueList.Add(New IdNameStruct(Machining.MPAR_SLICINGTYPE.MULTIPLANAR_HORIZ, "MultiPlanar Horiz"))
Dim nSelValue As Double = ReadMachiningParamDouble(nIndex, MAC_SLICINGTYPE, -1)
If nSelValue = -1 Then
Dim dSlicing45 As Double = 0
@@ -1739,6 +1811,7 @@ Public Class CheckMachiningParam
Set(value As Boolean)
m_bValue = value
NotifyPropertyChanged(NameOf(bValue))
+ ManageDependencyParam()
End Set
End Property
@@ -1778,8 +1851,14 @@ Public Class CheckMachiningParam
Select Case Type
Case Params.SPIRALVASE
m_bValue = ReadMachiningParamDouble(nIndex, MAC_SPIRALVASE, 0)
+ Case Params.SINGLELEADIN
+ m_bValue = ReadMachiningParamDouble(nIndex, MAC_SINGLELEADIN, 0)
Case Params.RIBSLINK
m_bValue = ReadMachiningParamDouble(nIndex, MAC_RIBSLINK, 0)
+ Case Params.RIBSMERGEWITHSHELL
+ m_bValue = ReadMachiningParamDouble(nIndex, MAC_RIBSMERGEWITHSHELL, 0)
+ Case Params.RIBSINVERTMERGEDSHELLMAINLINK
+ m_bValue = ReadMachiningParamDouble(nIndex, MAC_RIBSINVERTMERGEDSHELLMAINLINK, 0)
Case Params.RIBSINVERTORDER
m_bValue = ReadMachiningParamDouble(nIndex, MAC_RIBSINVERTORDER, 0)
Case Params.RIBSINVERTDIRECTION
@@ -1801,12 +1880,28 @@ Public Class CheckMachiningParam
m_bOrigValue = m_bValue
End Sub
+ Friend Sub ManageDependencyParam(Optional Cathegory As MachiningCathegory = Nothing)
+ ' gestisco dis/attivazione parametri dipendenti
+ Select Case m_Type
+ Case Params.SPIRALVASE
+ Dim ShellCathegory As MachiningCathegory = If(Not IsNothing(Cathegory), Cathegory, m_Cathegory.Machining.CathegoryList.FirstOrDefault(Function(z) z.Type= MachiningCathegory.Cathegories.LINK))
+ Dim NumMachiningParam As NumericMachiningParam = ShellCathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.SPIRALVASELEN)
+ NumMachiningParam.SetIsActive(m_bValue)
+ End Select
+ End Sub
+
Friend Overrides Sub WriteParamOnDb(nIndex As Integer, Optional sFilePath As String = "")
Select Case Type
Case Params.SPIRALVASE
WriteMachiningParam(nIndex, MAC_SPIRALVASE, If(m_bValue, 1, 0), sFilePath)
+ Case Params.SINGLELEADIN
+ WriteMachiningParam(nIndex, MAC_SINGLELEADIN, If(m_bValue, 1, 0), sFilePath)
Case Params.RIBSLINK
WriteMachiningParam(nIndex, MAC_RIBSLINK, If(m_bValue, 1, 0), sFilePath)
+ Case Params.RIBSMERGEWITHSHELL
+ WriteMachiningParam(nIndex, MAC_RIBSMERGEWITHSHELL, If(m_bValue, 1, 0), sFilePath)
+ Case Params.RIBSINVERTMERGEDSHELLMAINLINK
+ WriteMachiningParam(nIndex, MAC_RIBSINVERTMERGEDSHELLMAINLINK, If(m_bValue, 1, 0), sFilePath)
Case Params.RIBSINVERTORDER
WriteMachiningParam(nIndex, MAC_RIBSINVERTORDER, If(m_bValue, 1, 0), sFilePath)
Case Params.RIBSINVERTDIRECTION
diff --git a/Icarus/MainWindow/MainWindowM.vb b/Icarus/MainWindow/MainWindowM.vb
index 7815f54..4522be5 100644
--- a/Icarus/MainWindow/MainWindowM.vb
+++ b/Icarus/MainWindow/MainWindowM.vb
@@ -8,7 +8,7 @@ Public Class MainWindowM
#Region "FIELDS"
' massimo numero di istanze del programma ammesse
- Const MAX_INST As Integer = 32
+ Const MAX_INST As Integer = 4
Private m_objMutex As Mutex
@@ -191,8 +191,8 @@ Public Class MainWindowM
EgtSetLockId( sLockId)
End If
' Recupero livello e opzioni della chiave
- Dim bKey As Boolean = EgtGetKeyLevel(5583, 2510, 1, m_nKeyLevel) And
- EgtGetKeyOptions(5583, 2510, 1, m_nKeyOptions)
+ Dim bKey As Boolean = EgtGetKeyLevel(5583, 3105, 1, m_nKeyLevel) And
+ EgtGetKeyOptions(5583, 3105, 1, m_nKeyOptions)
' Inizializzazione generale di EgtInterface
m_nDebug = GetMainPrivateProfileInt(S_GENERAL, K_DEBUG, 0)
m_sLogFile = m_sTempDir & "\" & GENLOG_FILE_NAME.Replace("#", m_nInstance.ToString())
@@ -317,7 +317,7 @@ Public Class MainWindowM
Friend Function GetMaxInstances() As Integer
' Leggo il massimo numero di istanze ammesse
Dim nMaxInst As Integer = GetMainPrivateProfileInt(S_GENERAL, K_MAXINST, 1)
- Return 1 ' Max(1, Min(nMaxInst, MAX_INST))
+ Return Max(1, Min(nMaxInst, MAX_INST))
End Function
Friend Sub Close()
diff --git a/Icarus/MainWindow/MainWindowV.xaml.vb b/Icarus/MainWindow/MainWindowV.xaml.vb
index 8cb3d42..85d4609 100644
--- a/Icarus/MainWindow/MainWindowV.xaml.vb
+++ b/Icarus/MainWindow/MainWindowV.xaml.vb
@@ -40,7 +40,7 @@ Class MainWindowV
End Sub
Private Sub MainWindowV_Closing(sender As Object, e As System.ComponentModel.CancelEventArgs)
- If (Keyboard.Modifiers And ModifierKeys.Alt) = ModifierKeys.Alt OrElse Keyboard.IsKeyDown(Key.F4) Then
+ If (Keyboard.Modifiers And ModifierKeys.Alt) = ModifierKeys.Alt AndAlso Keyboard.IsKeyDown(Key.F4) Then
e.Cancel = True
Return
End If
@@ -61,6 +61,8 @@ Class MainWindowV
Me.Activate()
' Recupero l'array di stringhe con i nomi del file
Dim sFiles() As String = DirectCast(e.Data.GetData(DataFormats.FileDrop), String())
+ ' Apro il primo
+ Map.refSecondaryWindowVM.OpenStdFile(sFiles(0))
End If
End Sub
diff --git a/Icarus/MainWindow/MainWindowVM.vb b/Icarus/MainWindow/MainWindowVM.vb
index c839239..acc78cb 100644
--- a/Icarus/MainWindow/MainWindowVM.vb
+++ b/Icarus/MainWindow/MainWindowVM.vb
@@ -159,14 +159,19 @@ Public Class MainWindowVM
End Function
Friend Sub CloseApplication()
- If (Keyboard.Modifiers And ModifierKeys.Alt) = ModifierKeys.Alt OrElse Keyboard.IsKeyDown(Key.F4) Then
+ ' Se simulazione in corso
+ If Not IsNothing( Map.refSimulationPanelVM) AndAlso Map.refSimulationPanelVM.MySimul.bSimExecuting Then
+ ' Avvio l'arresto della simulazione
+ Map.refSimulationPanelVM.MySimul.SetSimulationStatus(MCH_SIM_ST.UI_STOP)
+ Map.refSimulationPanelVM.MySimul.m_bSimulEndExitApp = True
Return
End If
- ' gestisco la chiusura della simulazione
+ ' Chiusura della simulazione
If Map.refRightPanelVM.SelPanel = RightPanelVM.Panels.SIMULATION AndAlso Not IsNothing(Map.refSimulationPanelVM) Then
Map.refSimulationPanelVM.MySimul.ResetSimulation()
End If
- Dim bAllowClose As Boolean = Map.refSceneHostVM.ManageModified()
+ ' Gestisco eventuale file corrente modificato
+ Dim bAllowClose As Boolean = Map.refSceneHostVM.MainController.ManageModified()
' Se non confermata chiusura, esco
If Not bAllowClose Then Return
' salvo modo di visualizzazione
diff --git a/Icarus/ManagePartPanel/ManagePartPanelV.xaml b/Icarus/ManagePartPanel/ManagePartPanelV.xaml
index fb93b42..e2a3bac 100644
--- a/Icarus/ManagePartPanel/ManagePartPanelV.xaml
+++ b/Icarus/ManagePartPanel/ManagePartPanelV.xaml
@@ -49,8 +49,13 @@
Style="{StaticResource BaseTextBlock}"/>
+ Visibility="{Binding TextBox_Visibility}">
+
+
+
+
@@ -69,8 +74,13 @@
Style="{StaticResource BaseTextBlock}"/>
+ Visibility="{Binding TextBox_Visibility}">
+
+
+
+
diff --git a/Icarus/ManagePartPanel/ManagePartPanelV.xaml.vb b/Icarus/ManagePartPanel/ManagePartPanelV.xaml.vb
index ff9c652..814dd7a 100644
--- a/Icarus/ManagePartPanel/ManagePartPanelV.xaml.vb
+++ b/Icarus/ManagePartPanel/ManagePartPanelV.xaml.vb
@@ -23,4 +23,12 @@
End Select
End Sub
+ Private Sub TextBox_PreviewKeyDown(sender As Object, e As KeyEventArgs)
+ ' per evitare che il click del tasto Enter a fine edit faccia scattare anche la chiusura
+ ' di tutto il pannello a causa del IsDefault sul tasto di chiusura, termino la gestione del click
+ If e.Key = Key.Enter Then
+ e.Handled = True
+ End If
+ End Sub
+
End Class
diff --git a/Icarus/ManagePartPanel/ManagePartPanelVM.vb b/Icarus/ManagePartPanel/ManagePartPanelVM.vb
index 1aedc18..82c58a2 100644
--- a/Icarus/ManagePartPanel/ManagePartPanelVM.vb
+++ b/Icarus/ManagePartPanel/ManagePartPanelVM.vb
@@ -472,14 +472,6 @@ Public Class ManagePartPanelVM
Map.refSliceManagerVM.UpdateDimensions()
Next
End If
- 'EgtAddMachGroup("3dPrint")
- 'EgtSetTable("Tab")
-
- 'Dim nRawId As Integer = EgtAddRawPart(b3PrintSolid.Min, b3PrintSolid.DimX, b3PrintSolid.DimY, b3PrintSolid.DimZ, New Color3d(128, 128, 128, 30))
- 'EgtAddPartToRawPart(nPartId, b3PrintSolid.Min, nRawId)
- 'EgtMoveToCornerRawPart(nRawId, New Point3d(dPosX, dPosY, 0), MCH_CR.BL)
-
- 'EgtResetCurrMachGroup()
' seleziono ultimo pezzo aggiunto
Map.refTopPanelVM.SelLastPart()
diff --git a/Icarus/MaterialDb/Material.vb b/Icarus/MaterialDb/Material.vb
index 11ad06e..5792e8d 100644
--- a/Icarus/MaterialDb/Material.vb
+++ b/Icarus/MaterialDb/Material.vb
@@ -285,6 +285,8 @@ Public Class MaterialIndex
sParamKey = MAT_KZ
Case MaterialParam.Params.KN
sParamKey = MAT_KN
+ Case MaterialParam.Params.TDRYER
+ sParamKey = MAT_TDRYER
End Select
Return ReadMaterialParamDouble(m_nIndex, sParamKey, dDefault)
End Function
@@ -346,6 +348,7 @@ Public Class MaterialCathegory
m_MaterialParamList = New List(Of MaterialParam)({New NumericMaterialParam(MaterialParam.Params.K_EXTRUSION, nIndex),
New NumericMaterialParam(MaterialParam.Params.K_LAY_TIME, nIndex),
New NumericMaterialParam(MaterialParam.Params.DENSITY, nIndex),
+ New NumericMaterialParam(MaterialParam.Params.TDRYER, nIndex),
New StringMaterialParam(MaterialParam.Params.ORIG, nIndex)})
m_Cathegory_Visibility = Visibility.Visible
Case Cathegories.TEMPERATURES
@@ -419,6 +422,7 @@ Public MustInherit Class MaterialParam
KZ = 20
KN = 21
ORIG = 22
+ TDRYER = 23
End Enum
Private m_Type As Params
@@ -478,6 +482,8 @@ Public MustInherit Class MaterialParam
m_sName = "KZ"
Case Params.KN
m_sName = "KN"
+ Case Params.TDRYER
+ m_sName = "Dryer Temperature"
Case Params.ORIG
m_sName = "Original"
End Select
@@ -498,13 +504,13 @@ Public Class NumericMaterialParam
Private m_dValue As Double
Public Property dValue As String
Get
- Return If(m_bIsLen, LenToString(m_dValue, 1), m_dValue)
+ Return If(m_bIsLen, LenToString(m_dValue, 5), DoubleToString(m_dValue, 5))
End Get
Set(value As String)
If m_bIsLen Then
StringToLen(value, m_dValue)
Else
- m_dValue = value
+ StringToDouble(value, m_dValue)
End If
NotifyPropertyChanged(NameOf(dValue))
End Set
@@ -583,6 +589,9 @@ Public Class NumericMaterialParam
Case Params.KN
m_dValue = ReadMaterialParamDouble(nIndex, MAT_KN, 0)
m_bIsLen = False
+ Case Params.TDRYER
+ m_dValue = ReadMaterialParamDouble(nIndex, MAT_TDRYER, 0)
+ m_bIsLen = False
End Select
m_dOrigValue = m_dValue
End Sub
@@ -633,6 +642,8 @@ Public Class NumericMaterialParam
WriteMaterialParam(nIndex, MAT_KZ, sWriteValue, sFilePath)
Case Params.KN
WriteMaterialParam(nIndex, MAT_KN, sWriteValue, sFilePath)
+ Case Params.TDRYER
+ WriteMaterialParam(nIndex, MAT_TDRYER, sWriteValue, sFilePath)
End Select
End Sub
diff --git a/Icarus/MaterialDb/MaterialDbVM.vb b/Icarus/MaterialDb/MaterialDbVM.vb
index 0c34f08..6da5a0f 100644
--- a/Icarus/MaterialDb/MaterialDbVM.vb
+++ b/Icarus/MaterialDb/MaterialDbVM.vb
@@ -285,17 +285,19 @@ Public Class MaterialDbVM
' aggiorno lista materiali Db
Init()
' aggiorno lista materiali TopBar
- Dim PrevMaterialGuid As String = Map.refTopPanelVM.SelMaterial.sGUID
Map.refTopPanelVM.InitMaterialList()
- Dim PrevMaterial As MaterialIndex = Map.refTopPanelVM.MaterialList.FirstOrDefault(Function(x) x.sGUID = PrevMaterialGuid)
- If Not IsNothing(PrevMaterial) Then
- Map.refTopPanelVM.SetSelMaterial(PrevMaterial)
- Else
- Map.refTopPanelVM.SelMaterial = Nothing
- Map.refTopPanelVM.NotifyPropertyChanged(NameOf(Map.refTopPanelVM.SelMaterial))
+ If Not IsNothing(Map.refTopPanelVM.SelMaterial) Then
+ Dim PrevMaterialGuid As String = Map.refTopPanelVM.SelMaterial.sGUID
+ Dim PrevMaterial As MaterialIndex = Map.refTopPanelVM.MaterialList.FirstOrDefault(Function(x) x.sGUID = PrevMaterialGuid)
+ If Not IsNothing(PrevMaterial) Then
+ Map.refTopPanelVM.SetSelMaterial(PrevMaterial)
+ Else
+ Map.refTopPanelVM.SelMaterial = Nothing
+ Map.refTopPanelVM.NotifyPropertyChanged(NameOf(Map.refTopPanelVM.SelMaterial))
+ End If
+ ' ricarico lavorazioni per aggiorno liste materiali all'interno
+ Map.refMachiningDbVM.Init()
End If
- ' ricarico lavorazioni per aggiorno liste materiali all'interno
- Map.refMachiningDbVM.Init()
End If
' ripristino modalita' standard
Map.refTopPanelVM.SelPage = Pages.MODIFY
diff --git a/Icarus/My Project/AssemblyInfo.vb b/Icarus/My Project/AssemblyInfo.vb
index dc5eac4..5b465cb 100644
--- a/Icarus/My Project/AssemblyInfo.vb
+++ b/Icarus/My Project/AssemblyInfo.vb
@@ -30,7 +30,7 @@ Imports System.Windows
#End If
-
+
@@ -70,5 +70,5 @@ Imports System.Windows
' by using the '*' as shown below:
'
-
-
+
+
diff --git a/Icarus/OptionsWindow/OptionModule.vb b/Icarus/OptionsWindow/OptionModule.vb
index e827d44..9677134 100644
--- a/Icarus/OptionsWindow/OptionModule.vb
+++ b/Icarus/OptionsWindow/OptionModule.vb
@@ -15,6 +15,8 @@ Friend Module OptionModule
Friend m_bThickLine As Boolean
' Flag per visualizzazione smussata delle superfici
Friend m_bSmoothTriMesh As Boolean
+ ' Flag per visualizzazione semplificate sezione strand
+ Friend m_bUseSimplifiedSection As Boolean
' Colore di default in disegno
Friend m_DefMaterialColor As Color3d
@@ -43,6 +45,14 @@ Friend Module OptionModule
Friend m_sFont As String
Friend m_dTextHeight As Double
+ ' Parametri per la griglia
+ Friend m_bGridVisibility As Boolean
+ Friend m_dSnapStepMm As Double
+ Friend m_dSnapStepInch As Double
+ Friend m_nMinLineSStep As Integer
+ Friend m_nMajLineSStep As Integer
+ Friend m_nExtSStep As Integer
+
' Variabili che indicano per ogni tipo di lavorazione quale geometria è selezionabile
'Friend m_SelGeomSawing As SceneSelModeOpt
'Friend m_SelGeomDrilling As SceneSelModeOpt
@@ -99,6 +109,8 @@ Friend Module OptionModule
m_bThickLine = GetMainPrivateProfileInt(S_SCENE, K_LINEWIDTH, 1) <> 1
' Inizializzo flag visualizzazione smussata delle superfici
m_bSmoothTriMesh = GetMainPrivateProfileInt(S_SCENE, K_SHOWTRIAADV, 1) <> 0
+ ' Inizializzo flag visualizzazione sezione strand semplificata
+ m_bUseSimplifiedSection = GetMainPrivateProfileInt(S_SOLIDS, K_SIMPLIFIEDSECTION, 0) <> 0
' Inizio colore di default in disegno
Dim DefColor As New Color3d(0, 0, 0)
GetMainPrivateProfileColor(S_GEOMDB, K_DEFAULTCOLOR, DefColor)
@@ -108,6 +120,13 @@ Friend Module OptionModule
' Inizializzo variabili per import
m_dDxfScaleFactor = GetMainPrivateProfileDouble(S_IMPORT, K_DXFSCALE, 1)
m_dStlScaleFactor = GetMainPrivateProfileDouble(S_IMPORT, K_STLSCALE, 1)
+ ' Inizializzo parametri griglia
+ m_bGridVisibility = (GetMainPrivateProfileInt(S_GRID, K_SHOWGRID, 1) <> 0)
+ m_dSnapStepMm = GetMainPrivateProfileDouble(S_GRID, K_SNAPSTEP, 10)
+ m_dSnapStepInch = GetMainPrivateProfileDouble(S_GRID, K_SNAPSTEPINCH, 12.7)
+ m_nMinLineSStep = GetMainPrivateProfileInt(S_GRID, K_MINLINESSTEP, 1)
+ m_nMajLineSStep = GetMainPrivateProfileInt(S_GRID, K_MAJLINESSTEP, 10)
+ m_nExtSStep = GetMainPrivateProfileInt(S_GRID, K_EXTSSTEP, 100)
End Sub
End Module
\ No newline at end of file
diff --git a/Icarus/OptionsWindow/OptionWindowV.xaml b/Icarus/OptionsWindow/OptionWindowV.xaml
index 3462b49..af22aac 100644
--- a/Icarus/OptionsWindow/OptionWindowV.xaml
+++ b/Icarus/OptionsWindow/OptionWindowV.xaml
@@ -61,6 +61,7 @@
+
@@ -70,6 +71,10 @@
Grid.Row="1" Margin="0,5,0,5"/>
+
+