Files
icarus/Icarus/Utility/LuaExec.vb
T
Emmanuele Sassi ff5ce8be86 - introduzione parametri spiralvase
- introduzione estensione del cn dipendente dalla macchina
- spostamento parametri di lavorazione
- aggiunto salvataggio e lettura materiale in progetto
- aggiunto bottone update e modificato genera con possibilita' di cambio nome
- aggiunta possibilita' di aprire notepad dopo generazione
2022-10-18 15:30:40 +02:00

103 lines
4.1 KiB
VB.net

Imports EgtUILib
Imports EgtWPFLib5
Module LuaExec
Friend Function ExecSlice(bSlice As Boolean, bCalcTFS As Boolean) As Boolean
EgtOutLog("-- Start ExecSlice --")
Dim bOk As Boolean = True
' eseguo slice
If bSlice Then
EgtLuaCreateGlobTable("PRINT")
EgtLuaSetGlobIntVar("PRINT.PROGRAM", 1)
bOk = bOk AndAlso EgtLuaExecFile(Map.refMainWindowVM.MainWindowM.s3dPrintingDir & "\Slicing.lua")
' Cancello tavola globale
EgtLuaResetGlobVar("PRINT")
End If
If Not bCalcTFS Then Return True
' eseguo calcolo T,F,S da parametri materiale
Dim sExecPath As String = Map.refMainWindowVM.MainWindowM.s3dPrintingDir & "\CalcMachParamFromSW.lua"
If Not My.Computer.FileSystem.FileExists(sExecPath) Then
EgtOutLog("Not found 3DPrint script " & sExecPath)
Return False
End If
' Assegno i dati
Dim SelMaterialParam As Material = Map.refTopPanelVM.GetSelMaterialData()
EgtLuaCreateGlobTable("MATERIAL")
EgtLuaSetGlobNumVar("MATERIAL.K", SelMaterialParam.dK)
EgtLuaSetGlobNumVar("MATERIAL.C1", SelMaterialParam.dC1)
EgtLuaSetGlobNumVar("MATERIAL.C2", SelMaterialParam.dC2)
EgtLuaSetGlobNumVar("MATERIAL.Density", SelMaterialParam.dDensity)
EgtLuaSetGlobNumVar("MATERIAL.AMax", SelMaterialParam.dAMax)
EgtLuaSetGlobNumVar("MATERIAL.ATrg", SelMaterialParam.dATrg)
EgtLuaSetGlobNumVar("MATERIAL.AMin", SelMaterialParam.dAMin)
EgtLuaSetGlobNumVar("MATERIAL.BMax", SelMaterialParam.dBMax)
EgtLuaSetGlobNumVar("MATERIAL.BTrg", SelMaterialParam.dBTrg)
EgtLuaSetGlobNumVar("MATERIAL.BMin", SelMaterialParam.dBMin)
EgtLuaSetGlobNumVar("MATERIAL.KW", SelMaterialParam.dKW)
EgtLuaSetGlobNumVar("MATERIAL.KZ", SelMaterialParam.dKZ)
EgtLuaSetGlobNumVar("MATERIAL.KN", SelMaterialParam.dKN)
' Eseguo lo script
If EgtLuaExecFile(sExecPath) Then
bOk = True
'' Recupero i risultati
'Dim nErr As Integer = 999
'EgtLuaGetGlobIntVar("MATERIAL.ERR", nErr)
'bOk = (nErr <= 0)
'If Not bOk Then EgtOutLog("ExecSlice Err=" & nErr.ToString())
Else
EgtOutLog("Error executing Slice Exec script " & sExecPath)
bOk = False
End If
' Cancello tavola globale
EgtLuaResetGlobVar("MATERIAL")
Return bOk
End Function
Friend Function ExecGenerate() As Boolean
EgtOutLog("-- Start ExecGenerate --")
' eseguo generazione
EgtLuaCreateGlobTable("PRINT")
EgtLuaSetGlobIntVar("PRINT.PROGRAM", 1)
Dim sIsoFilePath As String = ""
Dim nTabPartId As Integer = EgtGetFirstNameInGroup(GDB_ID.ROOT, TABLE)
If nTabPartId <> GDB_ID.NULL Then
If Not EgtGetInfo(nTabPartId, KEY_ISOFILE_PATH, sIsoFilePath) Then
EgtGetCurrFilePath(sIsoFilePath)
Dim sExtension As String = ""
GetPrivateProfileString(S_PARTPROGRAM, K_EXTENSION, "", sExtension, CurrentMachine.sMachIniFile)
If String.IsNullOrWhiteSpace(sExtension) Then
sExtension = ".cnc"
End If
sIsoFilePath = System.IO.Path.ChangeExtension(sIsoFilePath, sExtension)
End If
End If
EgtLuaSetGlobStringVar("PRINT.ISOFILEPATH", sIsoFilePath)
Dim bOk As Boolean = EgtLuaExecFile(Map.refMainWindowVM.MainWindowM.s3dPrintingDir & "\GcodeGenerate.lua")
If bOk Then
Dim nErr As Integer = 999
EgtLuaGetGlobIntVar("PRINT.ERR", nErr)
bOk = (nErr <= 0)
End If
' Cancello tavola globale
EgtLuaResetGlobVar("PRINT")
Return bOk
End Function
Friend Function ExecSolid() As Boolean
EgtOutLog("-- Start ExecSolid --")
' eseguo generazione
EgtLuaCreateGlobTable("PRINT")
Dim bOk As Boolean = EgtLuaExecFile(Map.refMainWindowVM.MainWindowM.s3dPrintingDir & "\CalcSolids.lua")
If bOk Then
Dim nErr As Integer = 999
EgtLuaGetGlobIntVar("PRINT.ERR", nErr)
bOk = (nErr <= 0)
End If
' Cancello tavola globale
EgtLuaResetGlobVar("PRINT")
Return bOk
End Function
End Module