Imports EgtUILib Public Module SetUpUtility Public Function IsToolInSetUp(sTUUID As String) As Boolean ' recupero il gruppo del setup Dim nSetUpGroup As Integer = EgtGetCurrSetup() ' leggo l'attrezzaggio del progetto Dim sPosition As String = String.Empty Dim IniIndex As Integer = 1 ' recupero stringa di ogni posizione While EgtGetInfo(nSetUpGroup, K_POS & IniIndex, sPosition) ' la spezzo sui ; Dim sItems() As String = sPosition.Split(";".ToCharArray) ' se ci sono almeno tre elementi sono sicuro che ci sia almeno un'uscita attrezzata If sItems.Count >= 3 Then ' separo le uscite divise dalla , Dim sExitToolAssList() As String = sItems(2).Split(",".ToCharArray) ' verifico se l'utensile è quello che sto cercando For AssIndex = 0 To sExitToolAssList.Count() - 1 Dim sExitToolAssItem() As String = sExitToolAssList(AssIndex).Split("/".ToCharArray) If sExitToolAssItem.Count > 1 Then If sExitToolAssItem(1) = sTUUID Then Return True End If End If Next End If IniIndex += 1 End While Return False End Function Public Function IsValidToolHeadExitInSetUp() As Boolean ' recupero il gruppo del setup Dim nSetUpGroup As Integer = EgtGetCurrSetup() ' leggo l'attrezzaggio del progetto Dim sPosition As String = String.Empty Dim IniIndex As Integer = 1 ' recupero stringa di ogni posizione While EgtGetInfo(nSetUpGroup, K_POS & IniIndex, sPosition) Dim sHead As String = String.Empty Dim sExit As Integer = 0 Dim sExitList As New List(Of String) Dim sToolList As New List(Of String) ' la spezzo sui ; Dim sItems() As String = sPosition.Split(";".ToCharArray) ' se ci sono almeno due elementi sono sicuro che ci sia la H If sItems.Count >= 2 Then sHead = sItems(1) ' se ci sono almeno tre elementi sono sicuro che ci sia almeno un'uscita attrezzata If sItems.Count >= 3 Then ' separo le uscite divise dalla , Dim sExitToolAssList() As String = sItems(2).Split(",".ToCharArray) ' creo le liste di uscite e utensili attrezzati ricavati For AssIndex = 0 To sExitToolAssList.Count() - 1 Dim sExitToolAssItem() As String = sExitToolAssList(AssIndex).Split("/".ToCharArray) Dim sToolName As String = String.Empty EgtTdbGetToolFromUUID(sExitToolAssItem(1), sToolName) If Not String.IsNullOrWhiteSpace(sToolName) Then EgtTdbSetCurrTool(sToolName) Dim sToolHead As String = String.Empty Dim nToolExit As Integer = 0 EgtTdbGetCurrToolParam(MCH_TP.HEAD, sToolHead) EgtTdbGetCurrToolParam(MCH_TP.EXIT_, nToolExit) Integer.TryParse(sExitToolAssItem(0), sExit) If Not (sHead = sToolHead) Or Not (nToolExit = sExit) Then Return False End If Else Return False End If Next End If End If IniIndex += 1 End While Return True End Function End Module