8bd01b8058
- Introduzione materiali e spessori nelle lavorazioni. - Scelta delle lavorazioni che tiene conto di materiali e spessori impostati in Db lavorazioni. - Bottoni macchina singoli a stati invece che doppi on/off. - Miglioramenti vari durante prove in macchina.
137 lines
4.4 KiB
VB.net
137 lines
4.4 KiB
VB.net
Imports System.Globalization
|
|
Imports EgtUILib
|
|
|
|
Module Utility
|
|
|
|
'--------------------------------------------------------------------------------------------------
|
|
Friend Function DoubleToString(ByVal dVal As Double, ByVal nNumDec As Integer) As String
|
|
Dim sFormat As String = "F" + Math.Abs(nNumDec).ToString()
|
|
Dim sVal As String = dVal.ToString(sFormat, CultureInfo.InvariantCulture)
|
|
If nNumDec > 0 Then
|
|
Return sVal.TrimEnd("0".ToCharArray()).TrimEnd(".".ToCharArray)
|
|
Else
|
|
Return sVal
|
|
End If
|
|
End Function
|
|
|
|
Friend Function StringToDouble(ByVal sVal As String, ByRef dVal As Double) As Boolean
|
|
Return EgtLuaEvalNumExpr(sVal, dVal)
|
|
End Function
|
|
|
|
Friend Function LenToString(ByVal dVal As Double, ByVal nNumDec As Integer) As String
|
|
Return DoubleToString(EgtToUiUnits(dVal), nNumDec)
|
|
End Function
|
|
|
|
Friend Function StringToLen(ByVal sVal As String, ByRef dVal As Double) As Boolean
|
|
If EgtLuaEvalNumExpr(sVal, dVal) Then
|
|
dVal = EgtFromUiUnits(dVal)
|
|
Return True
|
|
Else
|
|
Return False
|
|
End If
|
|
End Function
|
|
|
|
Friend Function UIExprToExpr(ByVal sUIExpr) As String
|
|
If String.IsNullOrWhiteSpace(sUIExpr) Then
|
|
Return ""
|
|
End If
|
|
Return sUIExpr.Replace("""", "*GEO.ONE_INCH")
|
|
End Function
|
|
|
|
Friend Function ExprToUIExpr(ByVal sExpr) As String
|
|
If String.IsNullOrWhiteSpace(sExpr) Then
|
|
Return ""
|
|
End If
|
|
Return sExpr.Replace("*GEO.ONE_INCH", """")
|
|
End Function
|
|
|
|
'--------------------------------------------------------------------------------------------------
|
|
Friend Sub HideParkedParts()
|
|
Dim nPartId As Integer = EgtGetFirstPart()
|
|
While nPartId <> GDB_ID.NULL
|
|
EgtSetStatus(nPartId, GDB_ST.OFF)
|
|
nPartId = EgtGetNextPart(nPartId)
|
|
End While
|
|
End Sub
|
|
|
|
Friend Sub ShowParkedParts()
|
|
Dim nPartId As Integer = EgtGetFirstPart()
|
|
While nPartId <> GDB_ID.NULL
|
|
EgtSetStatus(nPartId, GDB_ST.ON_)
|
|
nPartId = EgtGetNextPart(nPartId)
|
|
End While
|
|
End Sub
|
|
|
|
Friend Function AdjustFlatPart(nPartId As Integer) As Boolean
|
|
' Ciclo sui layer
|
|
Dim nLayerId As Integer = EgtGetFirstLayer(nPartId)
|
|
While nLayerId <> GDB_ID.NULL
|
|
' Recupero il layer successivo
|
|
Dim nNextLayerId As Integer = EgtGetNextLayer(nLayerId)
|
|
' Recupero il nome del layer
|
|
Dim sLayName As String = String.Empty
|
|
If EgtGetName(nLayerId, sLayName) Then
|
|
' Se layer OutLoop o InLoop
|
|
If String.Compare(sLayName, NAME_OUTLOOP, True) = 0 Or
|
|
String.Compare(sLayName, NAME_INLOOP, True) = 0 Then
|
|
' Sistemo i layer per applicare facilmente le lavorazioni
|
|
EgtAdjustFlatPartLayer(nLayerId)
|
|
End If
|
|
' Se senza nome, lo elimino
|
|
Else
|
|
EgtErase(nLayerId)
|
|
End If
|
|
' Passo al layer successivo
|
|
nLayerId = nNextLayerId
|
|
End While
|
|
Return True
|
|
End Function
|
|
|
|
'--------------------------------------------------------------------------------------------------
|
|
Public Class Language
|
|
|
|
Private m_sLanguageName As String
|
|
Private m_sFileName As String
|
|
|
|
Public Property LanguageName As String
|
|
Get
|
|
Return m_sLanguageName
|
|
End Get
|
|
Set(value As String)
|
|
m_sLanguageName = value
|
|
End Set
|
|
End Property
|
|
|
|
Public Property FileName As String
|
|
Get
|
|
Return m_sFileName
|
|
End Get
|
|
Set(value As String)
|
|
m_sFileName = value
|
|
End Set
|
|
End Property
|
|
|
|
Sub New(LanguageName As String, FileName As String)
|
|
Me.LanguageName = LanguageName
|
|
Me.FileName = FileName
|
|
End Sub
|
|
|
|
End Class
|
|
|
|
Public Function GetPrivateProfileLanguage(
|
|
ByVal lpAppName As String,
|
|
ByVal lpKeyName As String,
|
|
ByVal lpFileName As String) As Language
|
|
|
|
Dim sVal As String = String.Empty
|
|
GetPrivateProfileString(lpAppName, lpKeyName, "", sVal, lpFileName)
|
|
Dim sItems() As String = sVal.Split(",".ToCharArray)
|
|
If sItems.Count() = 2 Then
|
|
Return New Language(sItems(0), sItems(1))
|
|
End If
|
|
Return Nothing
|
|
|
|
End Function
|
|
|
|
End Module
|