133 lines
6.5 KiB
VB.net
133 lines
6.5 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)
|
|
EgtLuaSetGlobStringVar("PRINT.BASEDIR", Map.refMainWindowVM.MainWindowM.s3dPrintingDir)
|
|
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 dMachiningConstant As Double = 100
|
|
If Not IsNothing(Map.refTopPanelVM.CurrMachining) Then
|
|
Dim MachiningConstant As CurrNumericMachiningParam = Map.refTopPanelVM.CurrMachining.CathegoryList.FirstOrDefault(Function(x) x.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(y) y.Type = MachiningParam.Params.FLOWRATE_PC)
|
|
If Not IsNothing(MachiningConstant) Then
|
|
dMachiningConstant = MachiningConstant.dValue
|
|
End If
|
|
End If
|
|
EgtLuaCreateGlobTable("PRINT")
|
|
EgtLuaSetGlobIntVar("PRINT.PROGRAM", 1)
|
|
EgtLuaSetGlobStringVar("PRINT.BASEDIR", Map.refMainWindowVM.MainWindowM.s3dPrintingDir)
|
|
EgtLuaCreateGlobTable("MACHINING")
|
|
EgtLuaSetGlobNumVar("MACHINING.K", dMachiningConstant)
|
|
EgtLuaCreateGlobTable("MATERIAL")
|
|
EgtLuaSetGlobNumVar("MATERIAL.K_EXTRUSION", Map.refTopPanelVM.SelMaterial.GetSelMaterialData(MaterialParam.Params.K_EXTRUSION))
|
|
EgtLuaSetGlobNumVar("MATERIAL.K_LAYERTIME", Map.refTopPanelVM.SelMaterial.GetSelMaterialData(MaterialParam.Params.K_LAY_TIME))
|
|
EgtLuaSetGlobNumVar("MATERIAL.C1", Map.refTopPanelVM.SelMaterial.GetSelMaterialData(MaterialParam.Params.C1))
|
|
EgtLuaSetGlobNumVar("MATERIAL.C2", Map.refTopPanelVM.SelMaterial.GetSelMaterialData(MaterialParam.Params.C2))
|
|
EgtLuaSetGlobNumVar("MATERIAL.Density", Map.refTopPanelVM.SelMaterial.GetSelMaterialData(MaterialParam.Params.DENSITY))
|
|
EgtLuaSetGlobNumVar("MATERIAL.AMax", Map.refTopPanelVM.SelMaterial.GetSelMaterialData(MaterialParam.Params.AMAX))
|
|
EgtLuaSetGlobNumVar("MATERIAL.ATrg", Map.refTopPanelVM.SelMaterial.GetSelMaterialData(MaterialParam.Params.ATRG))
|
|
EgtLuaSetGlobNumVar("MATERIAL.AMin", Map.refTopPanelVM.SelMaterial.GetSelMaterialData(MaterialParam.Params.AMIN))
|
|
EgtLuaSetGlobNumVar("MATERIAL.BMax", Map.refTopPanelVM.SelMaterial.GetSelMaterialData(MaterialParam.Params.BMAX))
|
|
EgtLuaSetGlobNumVar("MATERIAL.BTrg", Map.refTopPanelVM.SelMaterial.GetSelMaterialData(MaterialParam.Params.BTRG))
|
|
EgtLuaSetGlobNumVar("MATERIAL.BMin", Map.refTopPanelVM.SelMaterial.GetSelMaterialData(MaterialParam.Params.BMIN))
|
|
EgtLuaSetGlobNumVar("MATERIAL.KW", Map.refTopPanelVM.SelMaterial.GetSelMaterialData(MaterialParam.Params.KW))
|
|
EgtLuaSetGlobNumVar("MATERIAL.KZ", Map.refTopPanelVM.SelMaterial.GetSelMaterialData(MaterialParam.Params.KZ))
|
|
EgtLuaSetGlobNumVar("MATERIAL.KN", Map.refTopPanelVM.SelMaterial.GetSelMaterialData(MaterialParam.Params.KN))
|
|
' Eseguo lo script
|
|
If EgtLuaExecFile(sExecPath) Then
|
|
bOk = True
|
|
Else
|
|
EgtOutLog("Error executing Slice Exec script " & sExecPath)
|
|
bOk = False
|
|
End If
|
|
' Cancello tavola globale
|
|
EgtLuaResetGlobVar("MATERIAL")
|
|
EgtLuaResetGlobVar("MACHINING")
|
|
EgtLuaResetGlobVar("PRINT")
|
|
Return bOk
|
|
End Function
|
|
|
|
Friend Function ExecGenerate(ByRef sMsg As String) As Boolean
|
|
sMsg = ""
|
|
EgtOutLog("-- Start ExecGenerate --")
|
|
' eseguo generazione
|
|
EgtLuaCreateGlobTable("PRINT")
|
|
EgtLuaSetGlobIntVar("PRINT.PROGRAM", 1)
|
|
EgtLuaSetGlobStringVar("PRINT.BASEDIR", Map.refMainWindowVM.MainWindowM.s3dPrintingDir)
|
|
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) OrElse
|
|
Not IO.Directory.Exists(IO.Path.GetDirectoryName(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)
|
|
EgtLuaGetGlobStringVar("PRINT.MSG", sMsg)
|
|
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")
|
|
EgtLuaSetGlobIntVar("PRINT.PROGRAM", 1)
|
|
EgtLuaSetGlobStringVar("PRINT.BASEDIR", Map.refMainWindowVM.MainWindowM.s3dPrintingDir)
|
|
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
|
|
|
|
Friend Function ExecPrepare3dmExport(ByRef nExportGeomId As Integer) As Boolean
|
|
Dim bOk As Boolean = True
|
|
EgtLuaCreateGlobTable("PRINT")
|
|
EgtLuaSetGlobStringVar("PRINT.BASEDIR", Map.refMainWindowVM.MainWindowM.s3dPrintingDir)
|
|
bOk = EgtLuaExecFile(Map.refMainWindowVM.MainWindowM.s3dPrintingDir & "\PrepareExport.lua")
|
|
If bOk Then
|
|
EgtLuaGetGlobIntVar("PRINT.EXPORTLAYER", nExportGeomId)
|
|
End If
|
|
' Cancello tavola globale
|
|
EgtLuaResetGlobVar("PRINT")
|
|
Return bOk
|
|
End Function
|
|
|
|
|
|
End Module
|