diff --git a/AlarmsPageUC.xaml b/AlarmsPageUC.xaml
index d62ad66..85561c3 100644
--- a/AlarmsPageUC.xaml
+++ b/AlarmsPageUC.xaml
@@ -94,7 +94,7 @@
-
+
diff --git a/ConstMachIni.vb b/ConstMachIni.vb
index 979c411..ca827ca 100644
--- a/ConstMachIni.vb
+++ b/ConstMachIni.vb
@@ -60,6 +60,8 @@
Public Const K_SAWBLADEMAKER As String = "SawBladeMaker"
Public Const K_MILLMAKER As String = "MillMaker"
Public Const K_MOUNTEDTOOLCONFIG As String = "MountedToolConfig"
+ Public Const K_MAXSAWDIAMFORVAC As String = "MaxSawDiamForVac"
+ Public Const K_MAXSAWDIAMFORPROBE As String = "MaxSawDiamForProbe"
Public Const S_MACHININGS As String = "Machinings"
Public Const K_SAWING As String = "Sawing"
diff --git a/CurrentMachine.vb b/CurrentMachine.vb
index 65e21f2..9890c37 100644
--- a/CurrentMachine.vb
+++ b/CurrentMachine.vb
@@ -33,6 +33,12 @@ Public Class CurrentMachine
' Distanza di sicurezza
Private m_dSafeZ As Double = 0
+ ' Massimo diametro lama per utilizzo ventose movimento pezzi
+ Private m_dMaxSawDiamForVac As Double = 650
+
+ ' Massimo diametro lama per tastatura grezzo
+ Private m_dMaxSawDiamForProbe As Double = 650
+
' Flag che indicano stato tipologia utensili (attivo/non attivo)
Private m_bSaw As Boolean = False
Private m_bDrill As Boolean = False
@@ -165,6 +171,18 @@ Public Class CurrentMachine
End Get
End Property
+ Friend ReadOnly Property dMaxSawDiamForVac As Double
+ Get
+ Return m_dMaxSawDiamForVac
+ End Get
+ End Property
+
+ Friend ReadOnly Property dMaxSawDiamForProbe As Double
+ Get
+ Return m_dMaxSawDiamForProbe
+ End Get
+ End Property
+
Friend Property dSafeZ As Double
Get
If EgtMdbGetGeneralParam(MCH_GP.SAFEZ, m_dSafeZ) Then
@@ -527,6 +545,9 @@ Public Class CurrentMachine
m_bDrill = (GetPrivateProfileInt(S_TOOLS, K_DRILLBIT, 0, sMachIniFile) > 0)
' fresa
m_bMill = (GetPrivateProfileInt(S_TOOLS, K_MILL, 0, sMachIniFile) > 0)
+ ' Leggo limiti diametro lama per altre operazioni
+ m_dMaxSawDiamForVac = GetPrivateProfileDouble(S_TOOLS, K_MAXSAWDIAMFORVAC, 650, sMachIniFile)
+ m_dMaxSawDiamForProbe = GetPrivateProfileDouble(S_TOOLS, K_MAXSAWDIAMFORPROBE, 650, sMachIniFile)
' Leggo flag presenza tipologie lavorazioni
' lama
m_bSawing = (GetPrivateProfileInt(S_MACHININGS, K_SAWING, 0, sMachIniFile) > 0)
@@ -610,6 +631,24 @@ Public Class CurrentMachine
End Sub
+ Friend Function IsVacuumMovePossible() As Boolean
+ ' Recupero diametro lama corrente
+ EgtTdbSetCurrTool(sCurrSaw)
+ Dim dToolDiam As Double = 0
+ EgtTdbGetCurrToolParam(MCH_TP.DIAM, dToolDiam)
+ ' Confronto con massimo ammesso
+ Return (dToolDiam <= dMaxSawDiamForVac)
+ End Function
+
+ Friend Function IsRawProbingPossible() As Boolean
+ ' Recupero diametro lama corrente
+ EgtTdbSetCurrTool(sCurrSaw)
+ Dim dToolDiam As Double = 0
+ EgtTdbGetCurrToolParam(MCH_TP.DIAM, dToolDiam)
+ ' Confronto con massimo ammesso
+ Return (dToolDiam <= dMaxSawDiamForProbe)
+ End Function
+
Friend Function GetPrivateProfileMaterial(
ByVal lpAppName As String,
ByVal lpKeyName As String,
diff --git a/MachiningDbPageUC.xaml b/MachiningDbPageUC.xaml
index 779d84d..41e460b 100644
--- a/MachiningDbPageUC.xaml
+++ b/MachiningDbPageUC.xaml
@@ -423,14 +423,19 @@
-
-
-
-
+
+
+
diff --git a/MachiningDbPageUC.xaml.vb b/MachiningDbPageUC.xaml.vb
index 3ec1602..86be40c 100644
--- a/MachiningDbPageUC.xaml.vb
+++ b/MachiningDbPageUC.xaml.vb
@@ -94,6 +94,7 @@ Public Class MachiningDbPageUC
SawRouStepGpBx.Header = EgtMsg(MSG_MACHININGSDBPAGEUC + 27)
SawRouStepTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 28)
SideStepTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 29)
+ StepSideAngTxBl.Text = EgtMsg(MSG_OMAGCUT + 862)
ArcIntTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 17)
ArcExtTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 18)
LowLenGpBx.Header = EgtMsg(MSG_MACHININGSDBPAGEUC + 19)
@@ -357,6 +358,8 @@ Public Class MachiningDbPageUC
StepTxBx.Text = LenToString(ToolDouble, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.RETURNPOS, ToolDouble)
ReturnPosTxBx.Text = LenToString(ToolDouble, 3)
+ EgtMdbGetCurrMachiningParam(MCH_MP.STEPSIDEANG, ToolDouble)
+ StepSideAngTxBx.Text = LenToString(ToolDouble, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.STEPEXTARC, ToolDouble)
ArcExtTxBx.Text = LenToString(ToolDouble, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.STEPINTARC, ToolDouble)
@@ -465,6 +468,8 @@ Public Class MachiningDbPageUC
EgtMdbSetCurrMachiningParam(MCH_MP.CURVEUSE, CurveUseCmBx.SelectedIndex)
StringToLen(ApproxTxBx.Text, dTemp)
EgtMdbSetCurrMachiningParam(MCH_MP.APPROX, dTemp)
+ StringToLen(StepSideAngTxBx.Text, dTemp)
+ EgtMdbSetCurrMachiningParam(MCH_MP.STEPSIDEANG, dTemp)
StringToLen(ArcExtTxBx.Text, dTemp)
EgtMdbSetCurrMachiningParam(MCH_MP.STEPEXTARC, dTemp)
StringToLen(ArcIntTxBx.Text, dTemp)
@@ -591,6 +596,8 @@ Public Class MachiningDbPageUC
DrillStepBrd.Visibility = Windows.Visibility.Hidden
SawRouStepGpBx.Visibility = Windows.Visibility.Hidden
SawStepGpBx.Visibility = Windows.Visibility.Visible
+ StepSideAngTxBl.Visibility = Windows.Visibility.Visible
+ StepSideAngTxBx.Visibility = Windows.Visibility.Visible
ArcIntTxBl.Visibility = Windows.Visibility.Visible
ArcIntTxBx.Visibility = Windows.Visibility.Visible
ArcExtTxBl.Visibility = Windows.Visibility.Visible
@@ -662,6 +669,8 @@ Public Class MachiningDbPageUC
End If
StepTxBx.Visibility = Windows.Visibility.Visible
SawStepGpBx.Visibility = Windows.Visibility.Visible
+ StepSideAngTxBl.Visibility = Windows.Visibility.Hidden
+ StepSideAngTxBx.Visibility = Windows.Visibility.Hidden
ArcIntTxBl.Visibility = Windows.Visibility.Hidden
ArcIntTxBx.Visibility = Windows.Visibility.Hidden
ArcExtTxBl.Visibility = Windows.Visibility.Hidden
diff --git a/MoveRawPartPage.xaml.vb b/MoveRawPartPage.xaml.vb
index b8f50f6..72c4cb9 100644
--- a/MoveRawPartPage.xaml.vb
+++ b/MoveRawPartPage.xaml.vb
@@ -36,6 +36,11 @@ Public Class MoveRawPartPage
m_bByHand = (GetVacuumType() = 0 Or
Not m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.AUTO_MANIP) Or
(GetPrivateProfileInt(S_RAWMOVE, K_PERPENDICULAR, 0, m_MainWindow.GetIniFile()) <> 0))
+ ' Se movimento con ventosa, verifico se lama troppo grande
+ If Not m_bByHand And Not m_MainWindow.m_CurrentMachine.IsVacuumMovePossible() Then
+ m_bByHand = True
+ m_MainWindow.m_CurrentProjectPageUC.SetWarningMessage(EgtMsg(MSG_SPLITPAGEUC + 11)) ' Lama troppo grande per utilizzo ventosa
+ End If
' Deseleziono tutto
EgtDeselectAll()
' Recupero i tagli allungati prima definiti
diff --git a/My Project/AssemblyInfo.vb b/My Project/AssemblyInfo.vb
index cc8ee38..3dff5fa 100644
--- a/My Project/AssemblyInfo.vb
+++ b/My Project/AssemblyInfo.vb
@@ -60,5 +60,5 @@ Imports System.Windows
' by using the '*' as shown below:
'
-
-
+
+
diff --git a/RawPartPageUC.xaml.vb b/RawPartPageUC.xaml.vb
index 5b7fc56..38f8ab8 100644
--- a/RawPartPageUC.xaml.vb
+++ b/RawPartPageUC.xaml.vb
@@ -1065,6 +1065,11 @@ Public Class RawPartPageUC
End Sub
Private Sub RawProbingBtn_Click(sender As Object, e As RoutedEventArgs) Handles RawProbingBtn.Click
+ ' Verifico diametro lama corrente rispetto a massimo per tastatura grezzo
+ If Not m_MainWindow.m_CurrentMachine.IsRawProbingPossible() Then
+ m_CurrProjPage.SetWarningMessage(EgtMsg(MSG_RAWPARTPAGEUC + 34)) ' Lama troppo grande per tastatura
+ Return
+ End If
' Recupero origine tavola rispetto allo 0 macchina
Dim TableRef As Point3d
EgtGetTableRef(1, TableRef)
diff --git a/SplitPageUC.xaml.vb b/SplitPageUC.xaml.vb
index 0507fee..28afcd8 100644
--- a/SplitPageUC.xaml.vb
+++ b/SplitPageUC.xaml.vb
@@ -39,6 +39,11 @@ Public Class SplitPageUC
m_bByHand = (EgtGetHeadId(VACUUM_HEAD) = GDB_ID.NULL Or
Not m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.AUTO_MANIP) Or
(GetPrivateProfileInt(S_RAWMOVE, K_PERPENDICULAR, 0, m_MainWindow.GetIniFile()) <> 0))
+ ' Se movimento con ventosa, verifico se lama troppo grande
+ If Not m_bByHand And Not m_MainWindow.m_CurrentMachine.IsVacuumMovePossible() Then
+ m_bByHand = True
+ m_MainWindow.m_CurrentProjectPageUC.SetWarningMessage(EgtMsg(MSG_SPLITPAGEUC + 11)) ' Lama troppo grande per utilizzo ventosa
+ End If
' Nascondo eventuali pezzi in parcheggio
HideParkedParts()
EgtZoom(ZM.ALL)