- Gestita slicing direction con anche valore horizontal
- Gestite machine sia con che senza direzione di stampa orizzontale - bloccata interfaccia durante edit CurrMachining
This commit is contained in:
@@ -69,6 +69,7 @@
|
||||
Public Const MAC_GUID = "GUID"
|
||||
Public Const MAC_NAME = "Name"
|
||||
Public Const MAC_SLICING45 = "Slicing45"
|
||||
Public Const MAC_SLICINGTYPE = "SlicingType"
|
||||
Public Const MAC_SPIRALVASE = "SpiralVase"
|
||||
Public Const MAC_STRANDH = "StrandH"
|
||||
Public Const MAC_STRANDW = "StrandW"
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
Public Const K_MACH_EXITSCRIPT As String = "ExitScript"
|
||||
|
||||
Public Const S_MACH_PRINTING3D As String = "3dPrinting"
|
||||
Public Const K_HORIZONTAL_PRINT As String = "HorizontalPrint"
|
||||
Public Const K_SPEED_MIN As String = "SpeedMin"
|
||||
Public Const K_SPEED_MAX As String = "SpeedMax"
|
||||
|
||||
|
||||
@@ -16,11 +16,21 @@ Public Class CurrMachining
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property bCurrSlicing45 As Boolean
|
||||
Public ReadOnly Property dCurrSlicingType As Machining.MPAR_SLICINGTYPE
|
||||
Get
|
||||
Dim Slicing45 As CurrCheckMachiningParam = m_CathegoryList.FirstOrDefault(Function(x) x.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(y) y.Type = MachiningParam.Params.SLICING45)
|
||||
Dim SlicingType As CurrComboMachiningParam = m_CathegoryList.FirstOrDefault(Function(x) x.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(y) y.Type = MachiningParam.Params.SLICINGTYPE)
|
||||
If Not IsNothing(SlicingType) Then
|
||||
Return SlicingType.SelValue.Id
|
||||
Else
|
||||
Return 0
|
||||
End If
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property sCurrSlicingType As String
|
||||
Get
|
||||
Dim Slicing45 As CurrComboMachiningParam = m_CathegoryList.FirstOrDefault(Function(x) x.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(y) y.Type = MachiningParam.Params.SLICINGTYPE)
|
||||
If Not IsNothing(Slicing45) Then
|
||||
Return Slicing45.bValue
|
||||
Return Slicing45.SelValue.Name
|
||||
Else
|
||||
Return False
|
||||
End If
|
||||
@@ -143,7 +153,7 @@ Public Class CurrMachining
|
||||
Case NameOf(sender.dValue), NameOf(sender.sValue), NameOf(sender.bValue), NameOf(sender.SelValue)
|
||||
m_bIsModified = m_CathegoryList.Any(Function(x) x.MachiningParamList.Any(Function(y) y.bIsModified))
|
||||
NotifyPropertyChanged(NameOf(ghName))
|
||||
NotifyPropertyChanged(NameOf(bCurrSlicing45))
|
||||
NotifyPropertyChanged(NameOf(sCurrSlicingType))
|
||||
NotifyPropertyChanged(NameOf(sCurrStrandH))
|
||||
NotifyPropertyChanged(NameOf(sCurrStrandW))
|
||||
NotifyPropertyChanged(NameOf(sCurrStrandCount))
|
||||
@@ -172,7 +182,7 @@ Public Class CurrMachiningCathegory
|
||||
Select Case m_Type
|
||||
Case Cathegories.GENERAL
|
||||
m_sName = "General"
|
||||
m_MachiningParamList = New List(Of MachiningParam)({New CurrCheckMachiningParam(MachiningParam.Params.SLICING45, nPartId, nIndex, bForceFromDb),
|
||||
m_MachiningParamList = New List(Of MachiningParam)({New CurrComboMachiningParam(MachiningParam.Params.SLICINGTYPE, nPartId, nIndex, bForceFromDb),
|
||||
New CurrCheckMachiningParam(MachiningParam.Params.SPIRALVASE, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.STRANDH, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.STRANDW, nPartId, nIndex, bForceFromDb),
|
||||
@@ -652,6 +662,21 @@ Public Class CurrComboMachiningParam
|
||||
MyBase.New(Type, nIndex)
|
||||
Dim bReadFromPart As Boolean = False
|
||||
Select Case Type
|
||||
Case Params.SLICINGTYPE
|
||||
Dim nHorizontalPrint As Integer = GetPrivateProfileInt(S_MACH_PRINTING3D, K_HORIZONTAL_PRINT, 0, CurrentMachine.sMachIniFile)
|
||||
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_SLICINGTYPE.VERTICAL, "Vertical"),
|
||||
New IdNameStruct(Machining.MPAR_SLICINGTYPE.HORIZONTAL, "Horizontal")})
|
||||
If nHorizontalPrint > 0 Then
|
||||
m_ValueList.Add(New IdNameStruct(Machining.MPAR_SLICINGTYPE.DEG45, "45°"))
|
||||
End If
|
||||
Dim nSelValue As Integer = 0
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_SLICINGTYPE, nSelValue)
|
||||
If Not bReadFromPart Then
|
||||
Dim nSlicing45 As Integer = 0
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_SLICING45, nSlicing45)
|
||||
nSelValue = If(nSlicing45 = 0, Machining.MPAR_SLICINGTYPE.VERTICAL, Machining.MPAR_SLICINGTYPE.DEG45)
|
||||
End If
|
||||
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
|
||||
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")})
|
||||
@@ -710,14 +735,10 @@ Public Class CurrComboMachiningParam
|
||||
If nIndex > 0 Then
|
||||
Dim DbMachining As Machining = Map.refMachiningDbVM.MachiningList.FirstOrDefault(Function(x) x.nIndex = nIndex)
|
||||
Select Case Type
|
||||
Case Params.STRANDORDER, Params.DIRECTION
|
||||
Case Params.SLICINGTYPE, Params.STRANDORDER, Params.DIRECTION
|
||||
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
Case Params.LINKTYPE, Params.LEADIN, Params.LEADOUT
|
||||
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.LINK).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
'Case Params.LEADIN
|
||||
' m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.LEADIN).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
'Case Params.LEADOUT
|
||||
' m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.LEADOUT).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)
|
||||
End Select
|
||||
@@ -730,6 +751,8 @@ Public Class CurrComboMachiningParam
|
||||
|
||||
Friend Overrides Sub WriteParamInPart(nPartId As Integer)
|
||||
Select Case Type
|
||||
Case Params.SLICINGTYPE
|
||||
EgtSetInfo(nPartId, MAC_SLICINGTYPE, m_SelValue.Id)
|
||||
Case Params.STRANDORDER
|
||||
EgtSetInfo(nPartId, MAC_STRANDORDER, m_SelValue.Id)
|
||||
Case Params.DIRECTION
|
||||
@@ -817,8 +840,6 @@ Public Class CurrCheckMachiningParam
|
||||
MyBase.New(Type, nIndex)
|
||||
Dim bReadFromPart As Boolean = False
|
||||
Select Case Type
|
||||
Case Params.SLICING45
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_SLICING45, m_bValue)
|
||||
Case Params.SPIRALVASE
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_SPIRALVASE, m_bValue)
|
||||
Case Params.RIBSLINK
|
||||
@@ -836,7 +857,7 @@ Public Class CurrCheckMachiningParam
|
||||
If nIndex > 0 Then
|
||||
Dim DbMachining As Machining = Map.refMachiningDbVM.MachiningList.FirstOrDefault(Function(x) x.nIndex = nIndex)
|
||||
Select Case Type
|
||||
Case Params.SLICING45, Params.SPIRALVASE
|
||||
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.RIBSLEADININVERT, Params.RIBSLEADOUTINVERT
|
||||
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.RIBS).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
@@ -850,8 +871,6 @@ Public Class CurrCheckMachiningParam
|
||||
|
||||
Friend Overrides Sub WriteParamInPart(nPartId As Integer)
|
||||
Select Case Type
|
||||
Case Params.SLICING45
|
||||
EgtSetInfo(nPartId, MAC_SLICING45, If(m_bValue, 1, 0))
|
||||
Case Params.SPIRALVASE
|
||||
EgtSetInfo(nPartId, MAC_SPIRALVASE, If(m_bValue, 1, 0))
|
||||
Case Params.RIBSLINK
|
||||
|
||||
@@ -6,6 +6,12 @@ Imports EgtWPFLib5
|
||||
Public Class Machining
|
||||
Inherits VMBase
|
||||
|
||||
Public Enum MPAR_SLICINGTYPE As Integer
|
||||
VERTICAL = 1
|
||||
HORIZONTAL = 2
|
||||
DEG45 = 3
|
||||
End Enum
|
||||
|
||||
Public Enum MPAR_STRANDORDERS As Integer
|
||||
OUTTOIN = 1
|
||||
INTOOUT = 2
|
||||
@@ -279,7 +285,7 @@ Public Class MachiningCathegory
|
||||
Select Case m_Type
|
||||
Case Cathegories.GENERAL
|
||||
m_sName = "General"
|
||||
m_MachiningParamList = New List(Of MachiningParam)({New CheckMachiningParam(MachiningParam.Params.SLICING45, nIndex),
|
||||
m_MachiningParamList = New List(Of MachiningParam)({New ComboMachiningParam(MachiningParam.Params.SLICINGTYPE, nIndex),
|
||||
New CheckMachiningParam(MachiningParam.Params.SPIRALVASE, nIndex),
|
||||
New NumericMachiningParam(MachiningParam.Params.STRANDH, nIndex),
|
||||
New NumericMachiningParam(MachiningParam.Params.STRANDW, nIndex),
|
||||
@@ -380,7 +386,7 @@ Public MustInherit Class MachiningParam
|
||||
|
||||
Public Enum Params As Integer
|
||||
NAME = 2
|
||||
SLICING45 = 3
|
||||
SLICINGTYPE = 3
|
||||
STRANDH = 4
|
||||
STRANDW = 5
|
||||
STRANDCOUNT = 6
|
||||
@@ -455,8 +461,8 @@ Public MustInherit Class MachiningParam
|
||||
Sub New(Type As Params)
|
||||
m_Type = Type
|
||||
Select Case m_Type
|
||||
Case Params.SLICING45
|
||||
m_sName = "Slicing 45°"
|
||||
Case Params.SLICINGTYPE
|
||||
m_sName = "Slicing direction"
|
||||
Case Params.STRANDH
|
||||
m_sName = "Strand Height"
|
||||
Case Params.STRANDW
|
||||
@@ -935,6 +941,20 @@ Public Class ComboMachiningParam
|
||||
m_SelValue = Nothing
|
||||
Else
|
||||
Select Case Type
|
||||
Case Params.SLICINGTYPE
|
||||
Dim nHorizontalPrint As Integer = GetPrivateProfileInt(S_MACH_PRINTING3D, K_HORIZONTAL_PRINT, 0, CurrentMachine.sMachIniFile)
|
||||
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_SLICINGTYPE.VERTICAL, "Vertical"),
|
||||
New IdNameStruct(Machining.MPAR_SLICINGTYPE.HORIZONTAL, "Horizontal")})
|
||||
If nHorizontalPrint > 0 Then
|
||||
m_ValueList.Add(New IdNameStruct(Machining.MPAR_SLICINGTYPE.DEG45, "45°"))
|
||||
End If
|
||||
Dim nSelValue As Double = ReadMachiningParamDouble(nIndex, MAC_SLICINGTYPE, -1)
|
||||
If nSelValue = -1 Then
|
||||
Dim dSlicing45 As Double = 0
|
||||
dSlicing45 = ReadMachiningParamDouble(nIndex, MAC_SLICING45, 0)
|
||||
nSelValue = If(dSlicing45 = 0, Machining.MPAR_SLICINGTYPE.VERTICAL, Machining.MPAR_SLICINGTYPE.DEG45)
|
||||
End If
|
||||
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
|
||||
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")})
|
||||
@@ -979,6 +999,8 @@ Public Class ComboMachiningParam
|
||||
|
||||
Friend Overrides Sub WriteParamOnDb(nIndex As Integer)
|
||||
Select Case Type
|
||||
Case Params.SLICINGTYPE
|
||||
WriteMachiningParam(nIndex, MAC_SLICING45, m_SelValue.Id)
|
||||
Case Params.STRANDORDER
|
||||
WriteMachiningParam(nIndex, MAC_STRANDORDER, m_SelValue.Id)
|
||||
Case Params.DIRECTION
|
||||
@@ -1042,8 +1064,6 @@ Public Class CheckMachiningParam
|
||||
m_bValue = 0
|
||||
Else
|
||||
Select Case Type
|
||||
Case Params.SLICING45
|
||||
m_bValue = ReadMachiningParamDouble(nIndex, MAC_SLICING45, 0)
|
||||
Case Params.SPIRALVASE
|
||||
m_bValue = ReadMachiningParamDouble(nIndex, MAC_SPIRALVASE, 0)
|
||||
Case Params.RIBSLINK
|
||||
@@ -1063,8 +1083,6 @@ Public Class CheckMachiningParam
|
||||
|
||||
Friend Overrides Sub WriteParamOnDb(nIndex As Integer)
|
||||
Select Case Type
|
||||
Case Params.SLICING45
|
||||
WriteMachiningParam(nIndex, MAC_SLICING45, If(m_bValue, 1, 0))
|
||||
Case Params.SPIRALVASE
|
||||
WriteMachiningParam(nIndex, MAC_SPIRALVASE, If(m_bValue, 1, 0))
|
||||
Case Params.RIBSLINK
|
||||
|
||||
@@ -123,7 +123,7 @@ Public Class SliderManagerVM
|
||||
Get
|
||||
Dim dH As Double = 0
|
||||
If Not IsNothing(Map.refTopPanelVM.CurrMachining) Then
|
||||
If Map.refTopPanelVM.CurrMachining.bCurrSlicing45 Then
|
||||
If Map.refTopPanelVM.CurrMachining.dCurrSlicingType = Machining.MPAR_SLICINGTYPE.DEG45 Then
|
||||
Return m_nLayerIndex
|
||||
Else
|
||||
Return m_nLayerIndex & " (" & DoubleToString(m_nLayerIndex * Map.refTopPanelVM.CurrMachining.dCurrStrandH, 0) & "mm)"
|
||||
@@ -138,7 +138,7 @@ Public Class SliderManagerVM
|
||||
Get
|
||||
Dim dH As Double = 0
|
||||
If Not IsNothing(Map.refTopPanelVM.CurrMachining) Then
|
||||
If Map.refTopPanelVM.CurrMachining.bCurrSlicing45 Then
|
||||
If Map.refTopPanelVM.CurrMachining.dCurrSlicingType = Machining.MPAR_SLICINGTYPE.DEG45 Then
|
||||
Return m_nLayerIndex_Maximum
|
||||
Else
|
||||
Return m_nLayerIndex_Maximum & " (" & DoubleToString(m_nLayerIndex_Maximum * Map.refTopPanelVM.CurrMachining.dCurrStrandH, 0) & "mm)"
|
||||
|
||||
@@ -159,10 +159,10 @@
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="45°:"
|
||||
<TextBlock Text="Slicing direction:"
|
||||
HorizontalAlignment="Right"/>
|
||||
<TextBlock Grid.Column="1"
|
||||
Text="{Binding CurrMachining.bCurrSlicing45}"
|
||||
Text="{Binding CurrMachining.sCurrSlicingType}"
|
||||
HorizontalAlignment="Left"/>
|
||||
<TextBlock Grid.Column="2"
|
||||
Text="StrandH:"
|
||||
|
||||
@@ -486,11 +486,25 @@ Public Class TopPanelVM
|
||||
End Function
|
||||
|
||||
Private Sub InitCURRMACHINING()
|
||||
' disabilito ProjManager, TopPanel, TFS, Slider, bottoni e uscita dal programma
|
||||
Map.refProjManagerVM.SetProjCmdIsEnabled(False)
|
||||
Map.refTopPanelVM.SetTopPanelIsEnabled(False)
|
||||
Map.refViewLayerManagerVM.SetViewLayerManagerIsEnabled(False)
|
||||
Map.refSliceManagerVM.SetButtonsIsEnabled(False)
|
||||
Map.refSliderManagerVM.SetLayerIndexIsEnabled(False)
|
||||
Map.refSliderManagerVM.SetLayerAdvancementIsEnabled(False)
|
||||
' imposto pagina
|
||||
Map.refRightPanelVM.SetSelPanel(RightPanelVM.Panels.CURRPRINTPARAM)
|
||||
End Sub
|
||||
|
||||
Private Function ExitCURRMACHINING()
|
||||
|
||||
' riabilito ProjManager, TopPanel, TFS, Slider, bottoni e uscita dal programma
|
||||
Map.refProjManagerVM.SetProjCmdIsEnabled(True)
|
||||
Map.refTopPanelVM.SetTopPanelIsEnabled(True)
|
||||
Map.refViewLayerManagerVM.SetViewLayerManagerIsEnabled(True)
|
||||
Map.refSliceManagerVM.SetButtonsIsEnabled(True)
|
||||
Map.refSliderManagerVM.SetLayerIndexIsEnabled(True)
|
||||
Map.refSliderManagerVM.SetLayerAdvancementIsEnabled(True)
|
||||
Return True
|
||||
End Function
|
||||
|
||||
|
||||
Reference in New Issue
Block a user