Files
egtbeamwall/EgtBEAMWALL.ViewerOptimizer/Utility/LuaExec.vb
T
2021-05-13 19:50:17 +02:00

123 lines
4.9 KiB
VB.net

Imports EgtBEAMWALL.Core
Imports EgtUILib
Imports EgtWPFLib5
Module LuaExec
Friend Function ExecBeam(sFile As String, sMachine As String, nFlag As Integer, bBtl As Boolean) As Boolean
EgtOutLog("-- Start ExecBeam --")
' Recupero lo script da eseguire
Dim sExecPath As String = ""
Dim sExecName As String = ""
GetMainPrivateProfileString(S_BEAM, K_BEAMBWEEXEC, "", sExecName)
sExecPath = (Map.refMainWindowVM.MainWindowM.sBeamRoot & "\" & sExecName).TrimEnd({"\"c})
If Not My.Computer.FileSystem.FileExists(sExecPath) Then
EgtOutLog("Not found BeamExec script " & sExecPath)
Return False
End If
' Assegno i dati
EgtLuaCreateGlobTable("BEAM")
EgtLuaSetGlobStringVar("BEAM.FILE", sFile)
EgtLuaSetGlobStringVar("BEAM.MACHINE", sMachine)
EgtLuaSetGlobIntVar("BEAM.FLAG", nFlag)
' Eseguo lo script
Dim bOk As Boolean = False
If EgtLuaExecFile(sExecPath) Then
' Recupero i risultati
Dim nErr As Integer = 999
EgtLuaGetGlobIntVar("BEAM.ERR", nErr)
bOk = (nErr <= 0)
If Not bOk Then EgtOutLog("BeamExec Err=" & nErr.ToString())
Else
EgtOutLog("Error executing Beam Exec script " & sExecPath)
Return False
End If
' Cancello tavola globale
EgtLuaResetGlobVar("BEAM")
Return bOk
End Function
Friend Function ExecWall(sFile As String, sMachine As String, nFlag As Integer, bBtl As Boolean) As Boolean
EgtOutLog("-- Start ExecWall --")
' Recupero lo script da eseguire
Dim sExecPath As String = ""
Dim sExecName As String = ""
GetMainPrivateProfileString(S_WALL, K_WALLBWEEXEC, "", sExecName)
sExecPath = (Map.refMainWindowVM.MainWindowM.sWallRoot & "\" & sExecName).TrimEnd({"\"c})
If Not My.Computer.FileSystem.FileExists(sExecPath) Then
EgtOutLog("Not found WallExec script " & sExecPath)
Return False
End If
' Assegno i dati
EgtLuaCreateGlobTable("WALL")
EgtLuaSetGlobStringVar("WALL.FILE", sFile)
EgtLuaSetGlobStringVar("WALL.MACHINE", sMachine)
EgtLuaSetGlobIntVar("WALL.FLAG", nFlag)
' Eseguo lo script
Dim bOk As Boolean = False
If EgtLuaExecFile(sExecPath) Then
' Recupero i risultati
Dim nErr As Integer = 999
EgtLuaGetGlobIntVar("WALL.ERR", nErr)
bOk = (nErr <= 0)
If Not bOk Then EgtOutLog("WallExec Err=" & nErr.ToString())
Else
bOk = False
EgtOutLog("Error executing Wall Exec script " & sExecPath)
End If
' Cancello tavola globale
EgtLuaResetGlobVar("WALL")
Return bOk
End Function
Friend Function ExecNesting(sFile As String, sMachine As String, PartList As List(Of BTLPartM), dLength As Double, dWidth As Double, dStartOffset As Double, dOffset As Double, dKerf As Double, nQty As Integer) As Boolean
EgtOutLog("-- Start ExecNest --")
' Recupero lo script da eseguire
Dim sExecPath As String = ""
Dim sExecName As String = ""
GetMainPrivateProfileString(S_NEST, K_NESTEXEC, "", sExecName)
Dim sRoot As String = ""
If Map.refMachinePanelVM.SelectedMachine.nType = MachineType.BEAM Then
sRoot = Map.refMainWindowVM.MainWindowM.sBeamRoot
ElseIf Map.refMachinePanelVM.SelectedMachine.nType = MachineType.WALL Then
sRoot = Map.refMainWindowVM.MainWindowM.sWallRoot
End If
sExecPath = (sRoot & "\" & sExecName).TrimEnd({"\"c})
If Not My.Computer.FileSystem.FileExists(sExecPath) Then
EgtOutLog("Not found NestExec script " & sExecPath)
Return False
End If
' Assegno i dati
EgtLuaCreateGlobTable("NEST")
EgtLuaSetGlobStringVar("NEST.FILE", sFile)
EgtLuaSetGlobStringVar("NEST.MACHINE", sMachine)
EgtLuaSetGlobNumVar("NEST.LEN", dLength)
EgtLuaSetGlobNumVar("NEST.WIDTH", dWidth)
EgtLuaSetGlobNumVar("NEST.STARTOFFSET", dStartOffset)
EgtLuaSetGlobNumVar("NEST.OFFSET", dOffset)
EgtLuaSetGlobNumVar("NEST.KERF", dKerf)
EgtLuaSetGlobNumVar("NEST.QTY", nQty)
EgtLuaCreateGlobTable("PART")
For PartIndex = 0 To PartList.Count - 1
EgtLuaSetGlobIntVar("PART." & PartList(PartIndex).nPartId.ToString(), PartList(PartIndex).m_nCNT + PartList(PartIndex).m_nADDED - PartList(PartIndex).nINPROD)
Next
' Eseguo lo script
Dim bOk As Boolean = False
If EgtLuaExecFile(sExecPath) Then
' Recupero i risultati
Dim nErr As Integer = 999
EgtLuaGetGlobIntVar("NEST.ERR", nErr)
bOk = (nErr <= 0)
If Not bOk Then EgtOutLog("NestExec Err=" & nErr.ToString())
Else
bOk = False
EgtOutLog("Error executing Nest Exec script " & sExecPath)
End If
' Cancello tavola globale
EgtLuaResetGlobVar("NEST")
EgtLuaResetGlobVar("PART")
Return bOk
End Function
End Module