Files
EgtDOORCreator/CompoMatch.vb
T
Dario Sassi 433eaf789b EgtDOORCreator :
- ulteriori modifiche per lettura cartella brand vuota.
2018-02-14 19:25:25 +00:00

174 lines
7.4 KiB
VB.net

Imports EgtUILib
Imports System.IO
Module CompoMatch
Friend Function CalcCompoMatching(sCompoDir As String, DoorNumber As Integer, sTemplate As String, ByRef sFrameTemplate As String) As Boolean
' Path del lua da utilizzare
Dim sLuaPath As String = sCompoDir & "\Matching.lua"
' Verifico esistenza file Matching nel direttorio passato
If Not File.Exists(sLuaPath) Then
EgtOutLog("Matching error: missing file (" & sLuaPath & ")")
Return False
End If
' Parsing
EgtLuaExecFile(sLuaPath)
' Assegno valori ai parametri per lua
EgtLuaSetGlobIntVar("STU.DoorNumber", DoorNumber)
EgtLuaSetGlobStringVar("STU.CompoPath", sCompoDir)
EgtLuaSetGlobStringVar("STU.Template", If(IsNothing(sTemplate), "", sTemplate))
' Chiamo funzione di Matching tra componente di anta e componente di telaio
If Not EgtLuaCallFunction("STU.Matching") Then
EgtOutLog("Matching error: STU.Matching")
Return False
End If
' Recupero il componente di telaio
EgtLuaGetGlobStringVar("STU.OutTemplate", sFrameTemplate)
EgtLuaResetGlobVar("STU")
Return True
End Function
Friend Function LoadCompoParam(CurrCompo As Compo, sDoor As String) As Boolean
' Path del lua da utilizzare
Dim sLuaPath As String = CurrCompo.CompoType.Path & "\Matching.lua"
' Verifico esistenza file Matching nel direttorio passato
If Not File.Exists(sLuaPath) Then
EgtOutLog("Matching error: missing file (" & sLuaPath & ")")
Return False
End If
' Parsing
EgtLuaExecFile(sLuaPath)
' Assegno valori ai parametri per lua
Dim CurrAssembly As Assembly = Map.refAssemblyPageVM.CurrAssembly
Dim nDoorNbr As Integer = 1
Int32.TryParse(CurrAssembly.DoorNumber, nDoorNbr)
EgtLuaSetGlobIntVar("STU.DoorNumber", nDoorNbr)
' indica se è la prima o la seconda anta selezionata
EgtLuaSetGlobStringVar("STU.Door", sDoor)
EgtLuaSetGlobStringVar("STU.CompoPath", CurrCompo.CompoType.Path)
EgtLuaSetGlobStringVar("STU.Template", CurrCompo.refJambCompo.TemplateSelItem)
Dim bExterior As Boolean = CurrAssembly.Exterior
EgtLuaSetGlobBoolVar("STU.Exterior", bExterior)
Dim dLightUp As Double
StringToDouble(CurrAssembly.LightUp, dLightUp)
EgtLuaSetGlobNumVar("STU.LightUp", dLightUp)
Dim dLightBottom As Double
StringToDouble(CurrAssembly.LightBottom, dLightBottom)
EgtLuaSetGlobNumVar("STU.LightBottom", dLightBottom)
Dim dLightHinge As Double
StringToDouble(CurrAssembly.LightHinge, dLightHinge)
EgtLuaSetGlobNumVar("STU.LightHinge", dLightHinge)
Dim dLightLock As Double
StringToDouble(CurrAssembly.LightLock, dLightLock)
EgtLuaSetGlobNumVar("STU.LightLock", dLightLock)
Dim dOverlapHinge As Double
StringToDouble(CurrAssembly.OverlapHinge, dOverlapHinge)
EgtLuaSetGlobNumVar("STU.OverlapHinge", dOverlapHinge)
Dim dOverlapLock As Double
StringToDouble(CurrAssembly.OverlapLock, dOverlapLock)
EgtLuaSetGlobNumVar("STU.OverlapLock", dOverlapLock)
Dim dOverlapTop As Double
StringToDouble(CurrAssembly.OverlapTop, dOverlapTop)
EgtLuaSetGlobNumVar("STU.OverlapTop", dOverlapTop)
Dim dThicknessHead As Double
StringToDouble(CurrAssembly.ThicknessHead, dThicknessHead)
EgtLuaSetGlobNumVar("STU.ThicknessHead", dThicknessHead)
Dim dThicknessJamb As Double
StringToDouble(CurrAssembly.Thickness, dThicknessJamb)
EgtLuaSetGlobNumVar("STU.ThicknessJamb", dThicknessJamb)
Dim dDeltaT As Double
StringToDouble(CurrAssembly.DeltaThickness, dDeltaT)
EgtLuaSetGlobNumVar("STU.DeltaThickness", dDeltaT)
Dim dThicknessDoor As Double
If Not IsNothing(Map.refPartPageVM.CurrPart) Then
EgtLuaSetGlobStringVar("STU.SelDoor", Map.refPartPageVM.CurrPart.TypePart)
StringToDouble(Map.refPartPageVM.CurrPart.Thickness, dThicknessDoor)
ElseIf CurrAssembly.ArrayPartDoor.Count > 0 Then
StringToDouble(CurrAssembly.GetArrayPartDoor(0).Door.Thickness, dThicknessDoor)
End If
EgtLuaSetGlobNumVar("STU.ThicknessDoor", dThicknessDoor)
Dim dDoor1Width As Double
StringToDouble(CurrAssembly.GetArrayPartDoor(0).Door.Width, dDoor1Width)
EgtLuaSetGlobNumVar("STU.Door1Width", dDoor1Width)
Dim dDoor2Width As Double
StringToDouble(CurrAssembly.GetArrayPartDoor(1).Door.Width, dDoor2Width)
EgtLuaSetGlobNumVar("STU.Door2Width", dDoor2Width)
Return True
End Function
Friend Function CalcCompoParamValue(sInParamName As String, sInParamValue As String, ByRef sOutParamValue As String, ByRef IsEnable As Boolean) As Boolean
' Assegno dati parametro
EgtLuaSetGlobStringVar("STU.InParamName", sInParamName)
Dim dInParamValue As Double
StringToDouble(sInParamValue, dInParamValue)
EgtLuaSetGlobNumVar("STU.InParamValue", dInParamValue)
' Calcolo equivalente parametro in telaio
If Not EgtLuaCallFunction("STU.CalcParam") Then
EgtOutLog("Error in STU.CalcParam")
Return False
End If
' Recupero nuovo valore
Dim dVal As Double
EgtLuaGetGlobNumVar("STU.OutParamValue", dVal)
sOutParamValue = DoubleToString(dVal, 4)
' Recupero stato di visualizzazione
EgtLuaGetGlobBoolVar("STU.IsEnable", IsEnable)
Return True
End Function
Friend Function CalcCompoParamVisibility(sInParamName As String, ByRef IsEnable As Boolean) As Boolean
' Assegno dati parametro
EgtLuaSetGlobStringVar("STU.InParamName", sInParamName)
' Calcolo equivalente parametro in telaio
If Not EgtLuaCallFunction("STU.VisibilityParam") Then
EgtOutLog("Error in STU.VisibilityParam")
Return False
End If
' Recupero stato di visualizzazione
EgtLuaGetGlobBoolVar("STU.IsEnable", IsEnable)
Return True
End Function
Friend Function ResetHMD() As Boolean
EgtLuaResetGlobVar("STU")
Return True
End Function
Friend Function LoadTableGeometry() As Boolean
EgtLuaCreateGlobTable("HMD")
Dim sLuaPath As String = IniFile.m_CompoDir & "\TabellaLua.lua"
' Verifico esistenza file Matching nel direttorio passato
If Not File.Exists(sLuaPath) Then
EgtOutLog("Matching error: missing file (" & sLuaPath & ")")
Return False
End If
' Parsing
If Not EgtLuaExecFile(sLuaPath) Then
EgtOutLog("Matching error: executing file (" & sLuaPath & ")")
Return False
End If
Return True
End Function
Friend Function ReserchInTable(sNameHardware As String, sNameParamLua As String, ByRef sNameGeometry As String) As Boolean
' Assegno dati parametro
EgtLuaSetGlobStringVar("HMD.HardwareName", sNameHardware)
EgtLuaSetGlobStringVar("HMD.Parameter", sNameParamLua)
If Not EgtLuaCallFunction("HMD.RicercaNellaTabella") Then
EgtOutLog("Error in HMD.RicercaNellaTabella")
Return False
End If
' Recupero stato di visualizzazione
EgtLuaGetGlobStringVar("HMD.GeometryName", sNameGeometry)
Return True
End Function
Friend Function ResetCompoParam() As Boolean
EgtLuaResetGlobVar("HMD")
Return True
End Function
End Module