Compare commits

..

1 Commits

Author SHA1 Message Date
Emmanuele Sassi b25d73c0cb - Estensione dati per etichette
- Traduzione errori della categoria CNC
- Verifica esistenza ed eventuale eliminazione vecchio gruppo in cui disegno FreeContour
2022-11-03 17:06:42 +01:00
104 changed files with 12357 additions and 885 deletions
-3
View File
@@ -146,9 +146,6 @@ Public Class BTLParamM
Return m_nType
End Get
End Property
Public Sub SetType(value As BTLParamType)
m_nType = value
End Sub
' Feature a cui appartiene il parametro
Protected m_ParentFeature As BTLFeatureM
-1
View File
@@ -251,7 +251,6 @@
Public Const MGR_RPT_PANELLEN As String = "PANELLEN"
Public Const MGR_RPT_PANELWIDTH As String = "PANELWIDTH"
Public Const MGR_RPT_PANELHEIGHT As String = "PANELHEIGHT"
Public Const MGR_RPT_PANELPOSZ As String = "PANELPOSZ"
Public Const MGR_RPT_PART As String = "PART"
' parametri P per comunicazione con la macchina
@@ -6,7 +6,6 @@
Public Const COL_STARTCUT As String = "colSTARTCUT"
Public Const COL_W As String = "colW"
Public Const COL_L As String = "colL"
Public Const COL_POSZ As String = "colPOSZ"
Public Const COL_ROT As String = "colROT"
Public Const COL_FLIP As String = "colFLIP"
Public Const COL_POSX As String = "colPOSX"
@@ -149,16 +149,6 @@ Public Class MyMachGroupM
End Get
End Property
Protected m_dPosZ As Double = 0
Public Property dPosZ As Double
Get
Return m_dPosZ
End Get
Set(value As Double)
m_dPosZ = value
End Set
End Property
#End Region ' Wall
#Region "Calc"
@@ -321,7 +311,6 @@ Public Class MyMachGroupM
EgtGetInfo(NewMachGroupM.m_Id, MGR_RPT_PANELLEN, NewMachGroupM.m_dL)
EgtGetInfo(NewMachGroupM.m_Id, MGR_RPT_PANELWIDTH, NewMachGroupM.m_dW)
EgtGetInfo(NewMachGroupM.m_Id, MGR_RPT_PANELHEIGHT, NewMachGroupM.m_dH)
EgtGetInfo(NewMachGroupM.m_Id, MGR_RPT_PANELPOSZ, NewMachGroupM.m_dPosZ)
NewMachGroupM.m_dTotMat = NewMachGroupM.m_dL * NewMachGroupM.m_dW * NewMachGroupM.m_dH
NewMachGroupM.m_PartMList = LoadParts(NewMachGroupM)
For Each Part In NewMachGroupM.m_PartMList
@@ -354,7 +343,6 @@ Public Class MyMachGroupM
EgtGetInfo(NewMachGroupM.m_Id, MGR_RPT_PANELLEN, NewMachGroupM.m_dL)
EgtGetInfo(NewMachGroupM.m_Id, MGR_RPT_PANELWIDTH, NewMachGroupM.m_dW)
EgtGetInfo(NewMachGroupM.m_Id, MGR_RPT_PANELHEIGHT, NewMachGroupM.m_dH)
EgtGetInfo(NewMachGroupM.m_Id, MGR_RPT_PANELPOSZ, NewMachGroupM.m_dPosZ)
NewMachGroupM.m_dTotMat = NewMachGroupM.m_dL * NewMachGroupM.m_dW
NewMachGroupM.m_PartMList = LoadParts(NewMachGroupM)
For Each Part In NewMachGroupM.m_PartMList
@@ -632,17 +632,13 @@ Public MustInherit Class MyMachGroupVM
Public ReadOnly Property DeleteMachGroup_Command As ICommand
Get
If m_cmdDeleteMachGroup Is Nothing Then
m_cmdDeleteMachGroup = New Command(AddressOf DeleteMachGroupCmd)
m_cmdDeleteMachGroup = New Command(AddressOf DeleteMachGroup)
End If
Return m_cmdDeleteMachGroup
End Get
End Property
Public Sub DeleteMachGroupCmd()
DeleteMachGroup()
End Sub
Public Overridable Sub DeleteMachGroup(Optional bMultipleCommand As Boolean = False)
Public Overridable Sub DeleteMachGroup()
' elimino tutte le copie
Dim nRawPartId As Integer = EgtGetFirstRawPart()
Dim nBeamId As Integer = EgtGetFirstPartInRawPart(nRawPartId)
+3 -3
View File
@@ -16,7 +16,7 @@ Imports System.Runtime.InteropServices
<Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("Egalware s.r.l.")>
<Assembly: AssemblyProduct("EgtBEAMWALL.Core")>
<Assembly: AssemblyCopyright("Copyright © 2020-2023 by Egalware s.r.l.")>
<Assembly: AssemblyCopyright("Copyright © 2020-2022 by Egalware s.r.l.")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(False)>
@@ -35,5 +35,5 @@ Imports System.Runtime.InteropServices
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.5.2.3")>
<Assembly: AssemblyFileVersion("2.5.2.3")>
<Assembly: AssemblyVersion("2.4.8.2")>
<Assembly: AssemblyFileVersion("2.4.8.2")>
@@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Egalware s.r.l.")]
[assembly: AssemblyProduct("EgtBEAMWALL.DataLayer")]
[assembly: AssemblyCopyright("Copyright © 2020-2023 by Egalware s.r.l.")]
[assembly: AssemblyCopyright("Copyright © 2020-2022 by Egalware s.r.l.")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("2.5.2.3")]
[assembly: AssemblyFileVersion("2.5.2.3")]
[assembly: AssemblyVersion("2.4.8.2")]
[assembly: AssemblyFileVersion("2.4.8.2")]
@@ -701,12 +701,6 @@ Public Class NUMAxiumPcToolkitComm
Try
ISONumVariable.sValue = SentMachGroup.Name
ISOSentVariable.sValue = 0
'Dim TempISOSentVariable As Variable = Map.refMachCommandMessagePanelVM.MainVariablesList.FirstOrDefault(Function(x) x.sName = ISO_SENT)
'While ISOSentVariable.sValue <> "0"
' Threading.Thread.Sleep(100)
' EgtOutLog("Bloccato - Sent(80046): " & TempISOSentVariable.sValue & " Num(80045): " & ISONumVariable.sValue)
' TempISOSentVariable = Map.refMachCommandMessagePanelVM.MainVariablesList.FirstOrDefault(Function(x) x.sName = ISO_SENT)
'End While
SentMachGroup.SetSentToMachine(True)
Catch ex As Exception
EgtOutLog("Error write var after download: " & ex.Message)
@@ -716,7 +710,6 @@ Public Class NUMAxiumPcToolkitComm
nRes = DownLoadFileAsyn(nPortFileTransfer, nFileType, sFilePath, DNC_MODE_ABORT, nIndex)
SendPermissionVariable.sValue = 0
m_BytesTransferedCounter = 0
Threading.Thread.Sleep(1000)
m_bIsTransferActive = False
Return
End Sub)
@@ -81,13 +81,6 @@
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:RawPartListV}}}"/>
</DataGridTextColumn.Header>
</DataGridTextColumn>
<!--PosZ - Posizione in Z-->
<DataGridTextColumn x:Key="colPOSZ" Binding="{Binding sPosZ}">
<DataGridTextColumn.Header>
<TextBlock Text="{Binding Path=DataContext.PosZ_Msg,
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:RawPartListV}}}"/>
</DataGridTextColumn.Header>
</DataGridTextColumn>
<!--MAT - Materiale-->
<DataGridTextColumn x:Key="colMATERIAL" Binding="{Binding sMATERIAL}">
<DataGridTextColumn.Header>
@@ -13,13 +13,6 @@ Public Class RawPartListVM
End Get
End Property
Private m_colRawPart_PosZ As EgtDataGridColumn
Public ReadOnly Property colRawPart_PosZ As EgtDataGridColumn
Get
Return m_colRawPart_PosZ
End Get
End Property
Private m_RawPartColumns As New ObservableCollection(Of EgtDataGridColumn)
Public Property RawPartColumns As ObservableCollection(Of EgtDataGridColumn)
Get
@@ -62,12 +55,6 @@ Public Class RawPartListVM
End Get
End Property
Public ReadOnly Property PosZ_Msg As String
Get
Return EgtMsg(61728)
End Get
End Property
Public ReadOnly Property Material_Msg As String
Get
Return EgtMsg(61607)
@@ -97,27 +84,23 @@ Public Class RawPartListVM
Map.SetRefRawPartListVM(Me)
' carico le colonne della datagrid
GetPrivateProfileColumns(S_RAWPARTLIST_SUPERVISOR, RawPartColumns)
' recupero riferimento a colonna StartCut e PosZ
' recupero riferimento a colonna StartCut
m_colRawPart_StartCut = m_RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_STARTCUT)
m_colRawPart_PosZ = m_RawPartColumns.FirstOrDefault(Function(x) x.Name = COL_POSZ)
End Sub
#End Region ' CONSTRUCTOR
Friend Sub UpdateColumns(nMachType As MachineType)
If nMachType = MachineType.BEAM Then
If Not IsNothing(m_colRawPart_StartCut) Then
m_colRawPart_StartCut.ColumnVisibility = Visibility.Visible
End If
'RawPartColumns.Clear()
'GetPrivateProfileColumns(S_RAWPARTLIST_BEAM, RawPartColumns)
' aggiorno la visibilità delle colonne
For Each col In RawPartColumns
col.ColumnVisibility = If(col.Visible, Visibility.Visible, Visibility.Collapsed)
Next
If Not IsNothing(m_colRawPart_StartCut) Then
m_colRawPart_StartCut.ColumnVisibility = Visibility.Visible
End If
If Not IsNothing(m_colRawPart_PosZ) Then
m_colRawPart_PosZ.ColumnVisibility = Visibility.Collapsed
End If
'RawPartColumns.Clear()
'GetPrivateProfileColumns(S_RAWPARTLIST_BEAM, RawPartColumns)
ElseIf nMachType = MachineType.WALL Then
' aggiorno la visibilità delle colonne
For Each col In RawPartColumns
@@ -126,9 +109,6 @@ Public Class RawPartListVM
If Not IsNothing(m_colRawPart_StartCut) Then
m_colRawPart_StartCut.ColumnVisibility = Visibility.Collapsed
End If
If Not IsNothing(m_colRawPart_PosZ) Then
m_colRawPart_PosZ.ColumnVisibility = Visibility.Visible
End If
'RawPartColumns.Clear()
'GetPrivateProfileColumns(S_RAWPARTLIST_WALL, RawPartColumns)
End If
@@ -1,4 +1,5 @@
Imports System.Collections.ObjectModel
Imports System.Globalization
Imports System.IO
Imports System.Windows.Threading
Imports EgtBEAMWALL.Core
@@ -1003,14 +1004,41 @@ Public Class LeftPanelVM
Private Sub CreateDataFile(sFilePath As String, SelPart As PartVM, SelMachGroup As MyMachGroupVM)
Dim sFileText As New List(Of String)
Dim nBtlInfoId As Integer = EgtGetFirstNameInGroup(GDB_ID.ROOT, BTLINFO)
Dim sInfo As String = ""
Dim bOk As Boolean = False
' inserisco il capitolo del [Main]
sFileText.Add("[Main]")
sFileText.Add("Var1=$PRODID$," & Map.refSupervisorManagerVM.CurrProd.sProdId)
sFileText.Add("Var2=$MACHGROUPID$," & SelMachGroup.Id)
sFileText.Add("Var2=$MACHGROUPID$," & SelMachGroup.nName)
sFileText.Add("Var3=$PARTID$," & SelPart.nPDN)
sFileText.Add("Var4=$MATERIAL$," & SelPart.sMATERIAL)
'sFileText.Add("Var5=$Thickness$," & SelPart.Thickness)
'sFileText.Add("Var6=$Storage$," & SelPart.WarehousePosition)
bOk = EgtGetInfo(nBtlInfoId, BTL_GEN_PROJNUM, sInfo)
sFileText.Add("Var5=$PROJECTNUMBER$," & If(bOk, sInfo, ""))
bOk = EgtGetInfo(nBtlInfoId, BTL_GEN_PROJNAME, sInfo)
sFileText.Add("Var6=$PROJECTNAME$," & If(bOk, sInfo, ""))
bOk = EgtGetInfo(nBtlInfoId, BTL_GEN_CUSTOMER, sInfo)
sFileText.Add("Var7=$CUSTOMER$," & If(bOk, sInfo, ""))
bOk = EgtGetInfo(SelPart.nPartId, BTL_PRT_ASSEMBLYNUM, sInfo)
sFileText.Add("Var8=$ASSEMBLYNUMBER$," & If(bOk, sInfo, ""))
bOk = EgtGetInfo(SelPart.nPartId, BTL_PRT_ORDERNUM, sInfo)
sFileText.Add("Var9=$ORDERNUMBER$," & If(bOk, sInfo, ""))
bOk = EgtGetInfo(SelPart.nPartId, BTL_PRT_DESIGNATION, sInfo)
sFileText.Add("Var10=$DESIGNATION$," & If(bOk, sInfo, ""))
bOk = EgtGetInfo(SelPart.nPartId, BTL_PRT_ANNOTATION, sInfo)
sFileText.Add("Var11=$ANNOTATION$," & If(bOk, sInfo, ""))
sFileText.Add("Var12=$STOREY$," & SelPart.sSTOREY)
sFileText.Add("Var13=$GROUP$," & SelPart.sGROUP)
bOk = EgtGetInfo(SelPart.nPartId, BTL_PRT_PACKAGE, sInfo)
sFileText.Add("Var14=$PACKAGE$," & If(bOk, sInfo, ""))
sFileText.Add("Var15=$WHL$," & SelPart.sW & "x" & SelPart.sH & "x" & SelPart.sL)
sFileText.Add("Var16=$PRODUCTIONDATE$," & Date.Now().ToString("yyyy-MM-dd"))
' calcolo numero settimana corrente secondo ISO 8601
Dim time As Date = Date.Now()
Dim Day As DayOfWeek = CultureInfo.InvariantCulture.Calendar.GetDayOfWeek(time)
If Day >= DayOfWeek.Monday AndAlso Day <= DayOfWeek.Wednesday Then time = time.AddDays(3)
Dim nWeekOfYear As Integer = CultureInfo.InvariantCulture.Calendar.GetWeekOfYear(time, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday)
sFileText.Add("Var18=$PRODUCTIONWEEK$," & nWeekOfYear)
Try
File.WriteAllLines(sFilePath, sFileText)
Catch ex As Exception
@@ -666,10 +666,17 @@ Public Class MachCommandMessagePanelVM
ErrorAdditionalMsg = "Line Number"
ErrorNumberMsg = "CN:"
End If
Dim sErrorMessage As String = ErrorMessage
If bMsgTranslationActive Then
Dim sTranslatedMsg = MachMsg(MsgParagraphs.CNC, nErrorNumber)
If Not String.IsNullOrWhiteSpace(sTranslatedMsg) Then
sErrorMessage = sTranslatedMsg
End If
End If
ErrorLineMsg = "Number from the Cnc Block"
AlarmMessage = If(nErrorNumber <> 0, ErrorNumberMsg & ": " & nErrorNumber & " - ", "") &
If(nErrorExtNumber <> 0, " - " & ErrorExtNumberMsg & ": " & nErrorExtNumber, "") &
" " & ErrorMessage
" " & sErrorMessage
Case NUM_ErrorTypes.Drive_Error
ErrorIndexMsg = "Azionamento: Asse"
ErrorNumberMsg = "Ext"
@@ -807,7 +807,6 @@ Public Class MachManaging
Case CommandTypes.READ_TPA
Tpa.RWVariableManager.RefreshVar(Command.sVariable)
Case CommandTypes.WRITE
'EgtOutLog("Write" & Command.sVariable & " " & Command.sVariables(1) & " " & Command.nVariable)
WriteVar(Command.sVariable, Command.sVariables(1), Command.nVariable)
Case CommandTypes.DELETEALARMS
DeleteAlarms()
@@ -173,33 +173,35 @@ Public Class MachineLogPageVM
#Region "METHODS"
Private Function MachineLogFilter(CurrEvent As Object) As Boolean
Dim CurrLogEvent As LogEvent = DirectCast(CurrEvent, LogEvent)
Private Function MachineLogFilter(LogEvent As Object) As Boolean
Dim CurrLogEvent As LogEvent = DirectCast(LogEvent, LogEvent)
Dim bOk As Boolean = True
' se livello utente inferiore a 5, mostro solo eventi pezzo e machgroup
If Map.refMainWindowVM.MainWindowM.nUserLevel < 5 Then
If CurrLogEvent.EventType <> LogEvent.MachLogTypes.PART_STATUS AndAlso CurrLogEvent.EventType <> LogEvent.MachLogTypes.MACHGROUP_STATUS Then
Return False
End If
End If
Select Case m_SelEntityType
Case 0 ' ""
Case 0
bOk = bOk And True
Case 1 ' "Pezzo"
bOk = bOk And CurrLogEvent.EventType = LogEvent.MachLogTypes.PART_STATUS
Case 2 ' "Barra"
bOk = bOk And CurrLogEvent.EventType = LogEvent.MachLogTypes.MACHGROUP_STATUS
Case 1
bOk = bOk And CurrLogEvent.EventType = MachLogTypes.PART_STATUS
Case 2
bOk = bOk And CurrLogEvent.EventType = MachLogTypes.MACHGROUP_STATUS
End Select
If CurrLogEvent.EventType = LogEvent.MachLogTypes.PART_STATUS OrElse CurrLogEvent.EventType = LogEvent.MachLogTypes.MACHGROUP_STATUS Then
If CurrLogEvent.EventType = MachLogTypes.PART_STATUS OrElse CurrLogEvent.EventType = MachLogTypes.MACHGROUP_STATUS Then
Select Case m_SelPartEventType
Case 0 ' ""
Case 0
bOk = bOk And True
Case 1 ' "Inizio"
Case 1
bOk = bOk And CurrLogEvent.nStatus = 1
Case 2 ' "Fine"
Case 2
bOk = bOk And CurrLogEvent.nStatus = 2
End Select
End If
' se livello utente inferiore a 5, mostro solo eventi pezzo e machgroup
If Map.refMainWindowVM.MainWindowM.nUserLevel < 5 Then
bOk = bOk And CurrLogEvent.EventType = MachLogTypes.PART_STATUS OrElse CurrLogEvent.EventType = MachLogTypes.MACHGROUP_STATUS
Else
If Not CurrLogEvent.EventType = MachLogTypes.PART_STATUS AndAlso Not CurrLogEvent.EventType = MachLogTypes.MACHGROUP_STATUS Then
bOk = True
End If
End If
Return bOk
End Function
@@ -240,8 +240,8 @@ Public Class MainWindowM
' Verifico abilitazione nesting automatico
m_bAutoNestOption = Not String.IsNullOrWhiteSpace(sNestKey)
' Recupero livello e opzioni della chiave
Dim bKey As Boolean = EgtGetKeyLevel(5327, 2501, 1, m_nKeyLevel) And
EgtGetKeyOptions(5327, 2501, 1, m_nKeyOptions)
Dim bKey As Boolean = EgtGetKeyLevel(5327, 2407, 1, m_nKeyLevel) And
EgtGetKeyOptions(5327, 2407, 1, m_nKeyOptions)
' Inizializzazione generale di EgtInterface
m_nDebug = GetMainPrivateProfileInt(S_GENERAL, K_DEBUG, 0)
m_sLogFile = m_sTempDir & "\" & SUPGENLOG_FILE_NAME.Replace("#", m_nInstance.ToString())
@@ -30,7 +30,7 @@ Imports System.Windows
#End if
<Assembly: AssemblyCompany("Egalware s.r.l.")>
<Assembly: AssemblyProduct("EgtBEAMWALL.Supervisor")>
<Assembly: AssemblyCopyright("Copyright © 2020-2023 by Egalware s.r.l.")>
<Assembly: AssemblyCopyright("Copyright © 2020-2022 by Egalware s.r.l.")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(false)>
@@ -70,5 +70,5 @@ Imports System.Windows
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.5.2.3")>
<Assembly: AssemblyFileVersion("2.5.2.3")>
<Assembly: AssemblyVersion("2.4.8.2")>
<Assembly: AssemblyFileVersion("2.4.8.2")>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1016 B

After

Width:  |  Height:  |  Size: 812 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 834 B

After

Width:  |  Height:  |  Size: 832 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 834 B

After

Width:  |  Height:  |  Size: 832 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 432 B

After

Width:  |  Height:  |  Size: 411 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 427 B

After

Width:  |  Height:  |  Size: 402 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 448 B

After

Width:  |  Height:  |  Size: 455 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 899 B

After

Width:  |  Height:  |  Size: 899 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 427 B

After

Width:  |  Height:  |  Size: 402 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 782 B

After

Width:  |  Height:  |  Size: 622 B

+84 -84
View File
@@ -4,99 +4,99 @@ Imports EgtBEAMWALL.Core
Module DbControllers
Friend m_SupervisorId As String = "1"
Public ReadOnly Property SupervisorId As String
Get
Return m_SupervisorId
End Get
End Property
Friend m_SupervisorId As String = "1"
Public ReadOnly Property SupervisorId As String
Get
Return m_SupervisorId
End Get
End Property
Private m_bNetwork As Boolean = False
Friend ReadOnly Property bNetwork As Boolean
Get
Return m_bNetwork
End Get
End Property
Private m_bNetwork As Boolean = False
Friend ReadOnly Property bNetwork As Boolean
Get
Return m_bNetwork
End Get
End Property
Public m_ProjController As DataLayer.Controllers.ProjController
Public m_ProdController As DataLayer.Controllers.ProdController
Public m_MachGroupController As DataLayer.Controllers.MachGroupController
Public m_PartController As DataLayer.Controllers.PartController
Public m_LogMachineController As DataLayer.Controllers.LogMachineController
Public m_StatusMapController As DataLayer.Controllers.StatusMapController
Public m_ProjController As DataLayer.Controllers.ProjController
Public m_ProdController As DataLayer.Controllers.ProdController
Public m_MachGroupController As DataLayer.Controllers.MachGroupController
Public m_PartController As DataLayer.Controllers.PartController
Public m_LogMachineController As DataLayer.Controllers.LogMachineController
Public m_StatusMapController As DataLayer.Controllers.StatusMapController
Sub New()
Sub New()
' se demo--> server = db.steamware.net, nKey e sKey come le hai...
' se demo--> server = db.steamware.net, nKey e sKey come le hai...
Dim sKey = "", sUser = "", sPwd = ""
Dim sKey = "", sUser = "", sPwd = ""
EgtGetKeyInfo(sKey)
sKey = sKey.Replace(" ", "")
If Not IsNothing(sKey) AndAlso sKey.Length > 11 Then
sUser = sKey.Substring(3, 6)
sPwd = sKey.Substring(10, sKey.Length - 10).Replace("(", "").Replace(")", "")
End If
Try
Dim DbAddress As String = "127.0.0.1"
Dim DbMasterKey As Integer = 0
Dim sDbMasterKey As String = ""
Dim sSharedFolder As String = ""
If Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.NETWORK) Then
GetMainPrivateProfileString(S_GENERAL, K_DBADDRESS, "", DbAddress)
DbMasterKey = GetMainPrivateProfileInt(S_GENERAL, K_DBMASTERKEY, 0)
If DbMasterKey > 0 Then
sDbMasterKey = DbMasterKey.ToString("000000")
EgtGetKeyInfo(sKey)
sKey = sKey.Replace(" ", "")
If Not IsNothing(sKey) AndAlso sKey.Length > 11 Then
sUser = sKey.Substring(3, 6)
sPwd = sKey.Substring(10, sKey.Length - 10).Replace("(", "").Replace(")", "")
End If
Try
Dim DbAddress As String = "127.0.0.1"
Dim DbMasterKey As Integer = 0
Dim sDbMasterKey As String = ""
Dim sSharedFolder As String = ""
If Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.NETWORK) Then
GetMainPrivateProfileString(S_GENERAL, K_DBADDRESS, "", DbAddress)
DbMasterKey = GetMainPrivateProfileInt(S_GENERAL, K_DBMASTERKEY, 0)
If DbMasterKey > 0 Then
sDbMasterKey = DbMasterKey.ToString("000000")
End If
If String.IsNullOrWhiteSpace(DbAddress) OrElse DbMasterKey <= 0 Then
DbAddress = "127.0.0.1"
DbMasterKey = 0
Else
m_bNetwork = True
End If
End If
If String.IsNullOrWhiteSpace(DbAddress) OrElse DbMasterKey <= 0 Then
DbAddress = "127.0.0.1"
DbMasterKey = 0
If Not m_bNetwork AndAlso Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.ANY_DB) Then
DbMasterKey = GetMainPrivateProfileInt(S_GENERAL, K_DBMASTERKEY, 0)
If DbMasterKey > 0 Then
sDbMasterKey = DbMasterKey.ToString("000000")
End If
ElseIf GetMainPrivateProfileInt(S_GENERAL, K_DBMASTERKEY, 0) = 0 Then
Dim nKey As Integer = 0
If Integer.TryParse(sKey.Substring(3, 6), nKey) AndAlso nKey > 0 Then
WriteMainPrivateProfileString(S_GENERAL, K_DBMASTERKEY, nKey)
End If
End If
DataLayer.DbConfig.InitDb(DbAddress, sUser, sPwd, sDbMasterKey)
DataLayer.DbConfig.SetupLogDir(Map.refMainWindowVM.MainWindowM.sTempDir)
DataLayer.DbConfig.CheckMigrateDb()
DataLayer.DbConfig.CheckUser(sUser, sPwd, Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.NETWORK))
DataLayer.DbConfig.CheckViews(sUser, sPwd)
If Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.NETWORK) And bNetwork Then
' imposto cartella condivisa
GetMainPrivateProfileString(S_GENERAL, K_SHAREDFOLDER, Map.refMainWindowVM.MainWindowM.sDataRoot, sSharedFolder)
Map.refMainWindowVM.MainWindowM.UpdatePathForNetwork(sSharedFolder)
Dim sSupervisorMachName As String = ""
GetMainPrivateProfileString(S_MACH, K_SUPERVISORMACH, "", sSupervisorMachName)
If Not String.IsNullOrWhiteSpace(sSupervisorMachName) Then m_SupervisorId = sSupervisorMachName
ElseIf Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.ANY_DB) Then
' imposto cartella chiave master
Map.refMainWindowVM.MainWindowM.UpdatePathForKey(sDbMasterKey)
Else
m_bNetwork = True
' imposto cartella chiave locale
Map.refMainWindowVM.MainWindowM.UpdatePathForKey(sKey.Substring(3, 6))
End If
End If
If Not m_bNetwork AndAlso Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.ANY_DB) Then
DbMasterKey = GetMainPrivateProfileInt(S_GENERAL, K_DBMASTERKEY, 0)
If DbMasterKey > 0 Then
sDbMasterKey = DbMasterKey.ToString("000000")
End If
ElseIf GetMainPrivateProfileInt(S_GENERAL, K_DBMASTERKEY, 0) = 0 Then
Dim nKey As Integer = 0
If Integer.TryParse(sKey.Substring(3, 6), nKey) AndAlso nKey > 0 Then
WriteMainPrivateProfileString(S_GENERAL, K_DBMASTERKEY, nKey)
End If
End If
DataLayer.DbConfig.InitDb(DbAddress, sUser, sPwd, sDbMasterKey)
DataLayer.DbConfig.SetupLogDir(Map.refMainWindowVM.MainWindowM.sTempDir)
DataLayer.DbConfig.CheckMigrateDb()
DataLayer.DbConfig.CheckUser(sUser, sPwd, m_bNetwork AndAlso Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.NETWORK))
DataLayer.DbConfig.CheckViews(sUser, sPwd)
If m_bNetwork AndAlso Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.NETWORK) Then
' imposto cartella condivisa
GetMainPrivateProfileString(S_GENERAL, K_SHAREDFOLDER, Map.refMainWindowVM.MainWindowM.sDataRoot, sSharedFolder)
Map.refMainWindowVM.MainWindowM.UpdatePathForNetwork(sSharedFolder)
Dim sSupervisorMachName As String = ""
GetMainPrivateProfileString(S_MACH, K_SUPERVISORMACH, "", sSupervisorMachName)
If Not String.IsNullOrWhiteSpace(sSupervisorMachName) Then m_SupervisorId = sSupervisorMachName
ElseIf Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.ANY_DB) Then
' imposto cartella chiave master
Map.refMainWindowVM.MainWindowM.UpdatePathForKey(sDbMasterKey)
Else
' imposto cartella chiave locale
Map.refMainWindowVM.MainWindowM.UpdatePathForKey(sKey.Substring(3, 6))
End If
Catch ex As Exception
EgtOutLog("InitDb error: " & ex.ToString())
MessageBox.Show(Application.Current.MainWindow, "Db connection error!!", "Error")
End
End Try
Catch ex As Exception
EgtOutLog("InitDb error: " & ex.ToString())
MessageBox.Show(Application.Current.MainWindow, "Db connection error!!", "Error")
End
End Try
m_ProjController = New DataLayer.Controllers.ProjController
m_ProdController = New DataLayer.Controllers.ProdController
m_MachGroupController = New DataLayer.Controllers.MachGroupController
m_PartController = New DataLayer.Controllers.PartController
m_LogMachineController = New DataLayer.Controllers.LogMachineController
m_StatusMapController = New DataLayer.Controllers.StatusMapController
End Sub
m_ProjController = New DataLayer.Controllers.ProjController
m_ProdController = New DataLayer.Controllers.ProdController
m_MachGroupController = New DataLayer.Controllers.MachGroupController
m_PartController = New DataLayer.Controllers.PartController
m_LogMachineController = New DataLayer.Controllers.LogMachineController
m_StatusMapController = New DataLayer.Controllers.StatusMapController
End Sub
End Module
+3 -18
View File
@@ -147,27 +147,12 @@ Public Class LogEvent
Select Case m_EventType
Case MachLogTypes.PART_STATUS
m_ProdId = sValues(0)
Dim MachGroup As DataLayer.DatabaseModels.MachGroupModel = DbControllers.m_MachGroupController.FindByMachGroupId(m_ProdId, sValues(1))
If Not IsNothing(MachGroup) Then
m_MachGroupId = MachGroup.Name
Else
m_MachGroupId = -1
End If
Dim Part As DataLayer.DatabaseModels.PartModel = DbControllers.m_PartController.FindByPartId(m_ProdId, sValues(2))
If Not IsNothing(Part) Then
m_PartId = Part.PDN
Else
m_PartId = -1
End If
m_MachGroupId = DbControllers.m_MachGroupController.FindByMachGroupId(m_ProdId, sValues(1)).Name
m_PartId = DbControllers.m_PartController.FindByPartId(m_ProdId, sValues(2)).PDN
m_Status = sValues(3)
Case MachLogTypes.MACHGROUP_STATUS
m_ProdId = sValues(0)
Dim MachGroup As DataLayer.DatabaseModels.MachGroupModel = DbControllers.m_MachGroupController.FindByMachGroupId(m_ProdId, sValues(1))
If Not IsNothing(MachGroup) Then
m_MachGroupId = MachGroup.Name
Else
m_MachGroupId = -1
End If
m_MachGroupId = DbControllers.m_MachGroupController.FindByMachGroupId(m_ProdId, sValues(1)).Name
m_Status = sValues(2)
Case MachLogTypes.MACHINE_COMMAND
@@ -102,17 +102,7 @@ Public Class AddRawPartWndVM
End Select
m_DimensionsList = DimensionsList
If m_DimensionsList.Count > 0 Then
Dim LastMaterial As SParam = WarehouseHelper.GetLastMaterial(DimensionsList(0).SectXMat)
If IsNothing(LastMaterial) Then
SelDimension = m_DimensionsList(0)
Else
Dim TempDimension As SParam = m_DimensionsList.FirstOrDefault(Function(x) x.SectXMat = LastMaterial.SectXMat AndAlso x.dL = LastMaterial.dL AndAlso x.dW = LastMaterial.dW AndAlso x.nQuantity = LastMaterial.nQuantity)
If Not IsNothing(TempDimension) Then
SelDimension = TempDimension
Else
SelDimension = m_DimensionsList(0)
End If
End If
SelDimension = m_DimensionsList(0)
End If
' riduco lista parametri a solo quelli che utilizzati
m_VariableList_View = CollectionViewSource.GetDefaultView(m_VariableList)
@@ -25,7 +25,7 @@ Public Class BTLFeatureVM
If value <> -1 Then
' verifico se solido attivo
Dim bShowSolid As Boolean = Map.refShowBeamPanelVM.ShowSolid_IsChecked
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(GDB_ID.NULL, False, False)
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(False)
' aggiorno la feature con nuovo valore
Dim vPar() As Double = Nothing
Dim sPar As String = String.Empty
@@ -41,8 +41,8 @@ Public Class BTLFeatureVM
ResetCalcFeature()
End If
NotifyPropertyChanged(NameOf(nSelGRP))
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(GDB_ID.NULL, True, False)
EgtDraw()
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(False)
End If
End Set
End Property
@@ -65,7 +65,7 @@ Public Class BTLFeatureVM
If value <> -1 Then
' verifico se solido attivo
Dim bShowSolid As Boolean = Map.refShowBeamPanelVM.ShowSolid_IsChecked
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(GDB_ID.NULL, False, False)
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(False)
' se freecontour
If Me.m_BTLFeatureM.IsFreeContour() Then
' cambio faccia alla geometria
@@ -108,8 +108,8 @@ Public Class BTLFeatureVM
ResetCalcFeature()
End If
NotifyPropertyChanged("nSelSIDE")
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(GDB_ID.NULL, True, False)
EgtDraw()
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(False)
End If
End Set
End Property
@@ -135,7 +135,7 @@ Public Class BTLFeatureVM
If value <> m_BTLFeatureM.bDO Then
If Map.refMainMenuVM.SelPage = Pages.VIEW Then
' verifico se solido attivo
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(GDB_ID.NULL, False, False)
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(False)
End If
If EgtBeamEnableProcess(nFeatureId, value, Not m_bDO_MultipleUpdate) Then
m_BTLFeatureM.bDO = value
@@ -154,7 +154,7 @@ Public Class BTLFeatureVM
End If
If Map.refMainMenuVM.SelPage = Pages.VIEW Then
' eventualmente ripristino solido
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(GDB_ID.NULL, True, False)
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(False)
End If
If Not m_bDO_MultipleUpdate Then EgtDraw()
' aggiorno stato abilitazione del bottone modifica free contour
@@ -277,7 +277,7 @@ Public Class BTLParamVM
Friend Sub UpdateParamValue(dNewValue As Double, sNewValue As String, Optional bDraw As Boolean = True)
' verifico se solido attivo
Dim bShowSolid As Boolean = Map.refShowBeamPanelVM.ShowSolid_IsChecked
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(GDB_ID.NULL, False, False)
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(False)
' Recupero i parametri attuali della feature
Dim vPar() As Double = Nothing
Dim sPar As String = String.Empty
@@ -335,7 +335,7 @@ Public Class BTLParamVM
End If
End If
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(GDB_ID.NULL, True, False)
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(False)
If bDraw Then EgtDraw()
End Sub
@@ -118,7 +118,7 @@ Public Class BTLPartVM
' verifico se solido attivo
Dim bShowSolid As Boolean = Map.refShowBeamPanelVM.ShowSolid_IsChecked
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(GDB_ID.NULL, False, False)
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(False)
If Not EgtBeamSetPartBox(dBtlL, dBtlH, dBtlW, False) Then Return False
@@ -134,7 +134,7 @@ Public Class BTLPartVM
' aggiorno sezioni
Map.refProjectVM.BTLStructureVM.UpdateSection(Section, OldSection)
' eventualmente ripristino solido
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(GDB_ID.NULL, True, False)
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(False)
EgtDraw()
Return True
@@ -156,7 +156,7 @@ Public Class BTLPartVM
Public Property sL As String
Get
Dim nOrigGroupId As Integer = nPartId
If Map.refMainMenuVM.SelPage = Pages.VIEW AndAlso EgtBeamGetBuildingIsOn() AndAlso Map.refShowBeamPanelVM.bShowAll Then
If Map.refMainMenuVM.SelPage = Pages.VIEW AndAlso Map.refShowBeamPanelVM.ShowBuilding_IsChecked AndAlso Map.refShowBeamPanelVM.bShowAll Then
nOrigGroupId = GetOrigFrameGroup(nPartId)
End If
Dim frBeam As New Frame3d
@@ -214,7 +214,7 @@ Public Class BTLPartVM
Public Property sW As String
Get
Dim nOrigGroupId As Integer = nPartId
If Map.refMainMenuVM.SelPage = Pages.VIEW AndAlso EgtBeamGetBuildingIsOn() AndAlso Map.refShowBeamPanelVM.bShowAll Then
If Map.refMainMenuVM.SelPage = Pages.VIEW AndAlso Map.refShowBeamPanelVM.ShowBuilding_IsChecked AndAlso Map.refShowBeamPanelVM.bShowAll Then
nOrigGroupId = GetOrigFrameGroup(nPartId)
End If
Dim frBeam As New Frame3d
@@ -272,7 +272,7 @@ Public Class BTLPartVM
Public Property sH As String
Get
Dim nOrigGroupId As Integer = nPartId
If Map.refMainMenuVM.SelPage = Pages.VIEW AndAlso EgtBeamGetBuildingIsOn() AndAlso Map.refShowBeamPanelVM.bShowAll Then
If Map.refMainMenuVM.SelPage = Pages.VIEW AndAlso Map.refShowBeamPanelVM.ShowBuilding_IsChecked AndAlso Map.refShowBeamPanelVM.bShowAll Then
nOrigGroupId = GetOrigFrameGroup(nPartId)
End If
Dim frBeam As New Frame3d
@@ -1395,7 +1395,7 @@ Public Class BTLPartVM
Public ReadOnly Property Section As SectionXMaterial
Get
Dim nOrigGroupId As Integer = nPartId
If Map.refMainMenuVM.SelPage = Pages.VIEW AndAlso EgtBeamGetBuildingIsOn() AndAlso Map.refShowBeamPanelVM.bShowAll Then
If Map.refMainMenuVM.SelPage = Pages.VIEW AndAlso Map.refShowBeamPanelVM.ShowBuilding_IsChecked AndAlso Map.refShowBeamPanelVM.bShowAll Then
nOrigGroupId = GetOrigFrameGroup(nPartId)
End If
Dim frBeam As New Frame3d
@@ -79,8 +79,7 @@ Public Class BTLStructureVM
Map.refProjectVM.NotifyPropertyChanged(NameOf(Map.refProjectVM.PartManager_Visibility))
Case SelectionTypes.HIGHLIGHT
If m_PrevSelectionType = SelectionTypes.SELECT_ Then
EgtBeamShowFacesName( False)
EgtBeamShowLoadingSide( False, False)
End If
If Not IsNothing(m_SelBTLPart) Then
m_SelBTLPart = Nothing
@@ -182,8 +181,6 @@ Public Class BTLStructureVM
End Sub
Private Sub SelectBTLPart(BtlPart As BTLPartVM)
EgtBeamShowFacesName( False)
EgtBeamShowLoadingSide( False, False)
m_SelBTLPart = BtlPart
If Map.refMainMenuVM.SelPage = Pages.VIEW Then
' se modalità building, la tolgo
@@ -194,10 +191,6 @@ Public Class BTLStructureVM
SceneSelPartSelection()
' seleziono pezzo in Db geometrico
EgtBeamSetPart(BtlPart.nPartId)
EgtBeamShowFacesName( True)
Dim bLoadingSideShow As Boolean = (nPROJTYPE = BWType.BEAM)
Dim bLeftToRight As Boolean = Not ( CurrentMachine.ViewDir = VT.ISO_NW OrElse CurrentMachine.ViewDir = VT.ISO_NE)
EgtBeamShowLoadingSide( bLoadingSideShow, bLeftToRight)
' seleziono pagina BottomPanel
Map.refBottomPanelVM.SetSelPartFeatureTab(BottomPanelVM.PartFeatureTab.PART)
'' mostro barra di gestione pezzo
@@ -243,11 +236,9 @@ Public Class BTLStructureVM
If Map.refShowBeamPanelVM.ShowSolid_IsChecked Then
' tolgo eventuale indicazione solido rimasta da pezzo precedente
Map.refShowBeamPanelVM.SetShowSolid(False)
Map.refProjectVM.BTLStructureVM.ShowSolid(BtlPart.nPartId, False, False)
Map.refProjectVM.BTLStructureVM.ShowSolid(False, BtlPart.nPartId)
End If
If m_SelBTLPart Is BtlPart Then
EgtBeamShowFacesName( False)
EgtBeamShowLoadingSide( False, False)
m_SelBTLPart = Nothing
NotifyPropertyChanged(NameOf(SelBTLPart))
End If
@@ -1083,7 +1074,7 @@ Public Class BTLStructureVM
If Not IsNothing(SelBTLPart) Then
' se pezzo solido, lo riporto normale
If Map.refShowBeamPanelVM.ShowSolid_IsChecked Then
ShowSolid(GDB_ID.NULL, False, False)
ShowSolid(False)
Map.refShowBeamPanelVM.SetShowSolid(False)
End If
' tolgo pezzo selezionato
@@ -1132,12 +1123,12 @@ Public Class BTLStructureVM
EgtZoom(ZM.ALL, bRedraw)
End Sub
Friend Sub ShowSolid(nPartId As Integer, bShow As Boolean, Optional bRedraw As Boolean = True)
Friend Sub ShowSolid(Optional bRedraw As Boolean = True, Optional nPartId As Integer = GDB_ID.NULL)
' se non viene passato, recupero il pezzo del primo oggetto selezionato
If nPartId = GDB_ID.NULL And Not IsNothing(SelBTLPart) Then
nPartId = SelBTLPart.nPartId
If nPartId = GDB_ID.NULL Then
nPartId = If(Not IsNothing(SelBTLPart), SelBTLPart.nPartId, GDB_ID.NULL)
End If
If Not EgtIsPart(nPartId) Then
If nPartId = GDB_ID.NULL Or Not EgtIsPart(nPartId) Then
Dim nLayerId As Integer = EgtGetParent(nPartId)
Dim sLayerName As String = ""
EgtGetName(nLayerId, sLayerName)
@@ -1151,11 +1142,17 @@ Public Class BTLStructureVM
' disabilito impostazione modificato
Dim DisableMgr As New DisableModifiedMgr
If bShow Then EgtBeamCalcSolid(nPartId)
Dim nSolId As Integer = EgtBeamGetSolid(nPartId)
If nSolId = GDB_ID.NULL OrElse Not EgtExistsInfo(nSolId, "VALID") Then
EgtBeamCalcSolid(nPartId)
EgtBeamShowSolid(nPartId, True)
Else
Dim nStat As Integer
EgtGetStatus(EgtGetParent(nSolId), nStat)
EgtBeamShowSolid(nPartId, (nStat = GDB_ST.OFF))
End If
EgtBeamShowSolid(nPartId, bShow)
If bRedraw Then EgtDraw()
' ripristino precedente impostazione modificato
DisableMgr.ReEnable()
End Sub
@@ -34,8 +34,14 @@ Public Class ChangeParameterWndVM
m_ParamList.Add(New Parameters(NewBTLParam))
ParamIndex += 1
End While
'' leggo tutti i Q della feature
'ParamIndex = 1
'While BTLIniFile.GetBeamPrivateProfileParam(m_SelPRC.nGRP, m_SelPRC.nPRC, False, ParamIndex, Nothing, NewBTLParam)
' m_ParamList.Add(New Parameters(NewBTLParam))
' ParamIndex += 1
'End While
' aggiungo bDO come parametro
m_ParamList.Add(New Parameters(BTLParamM.CreateNewBTLParam(), True))
m_ParamList.Add(New Parameters(NewBTLParam, True))
' seleziono parametro vuoto per dargli un valore iniziale ed evitare che visualizzi sia text che check
m_SelParam = New Parameters(BTLParamM.CreateNewBTLParam())
NotifyPropertyChanged(NameOf(SelParam))
@@ -182,21 +188,21 @@ Public Class Parameters
End Property
Private m_bActualValue As Boolean
Public Property bActualValue As Boolean
Public Property bActualValue As String
Get
Return m_bActualValue
End Get
Set(value As Boolean)
Set(value As String)
m_bActualValue = value
End Set
End Property
Private m_bNewValue As Boolean
Public Property bNewValue As Boolean
Private m_bNewValue As String
Public Property bNewValue As String
Get
Return m_bNewValue
End Get
Set(value As Boolean)
Set(value As String)
m_bNewValue = value
End Set
End Property
@@ -228,7 +234,6 @@ Public Class Parameters
Sub New(BTLParamM As BTLParamM, Optional IsCheckBox As Boolean = False)
MyBase.New(BTLParamM)
m_bIsCheckBox = IsCheckBox
If IsCheckBox Then m_BTLParamM.SetType(BTLParamType.CHECKBOX)
End Sub
'Shared Operator =(ByVal S1 As Parameters, ByVal S2 As BTLParam) As Boolean
@@ -949,12 +949,6 @@
<ItemGroup>
<Resource Include="Resources\PartManager\Clock.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\LeftPanel\NewRawPartAuto.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\TopPanel\RemoveAllRawPart.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<PropertyGroup>
<PostBuildEvent>IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\EgtBEAMWALL\EgtBEAMWALL.ViewerOptimizerR32.exe
@@ -271,12 +271,12 @@ Public Class FreeContourManagerVM
Private m_cmdDelete As ICommand
Private m_cmdModifyCurve As ICommand
Private m_cmdAddPointCurve As ICommand
Private m_cmdRemovePointCurve As ICommand
Private m_cmdArcflip As ICommand
Private m_cmdMove As ICommand
Private m_cmdRotate As ICommand
Private m_cmdMirror As ICommand
Private m_cmdScale As ICommand
Private m_cmdRemovePointCurve As ICommand
Private m_cmdChangeStart As ICommand
Private m_cmdInvertCurve As ICommand
Private m_cmdTextAngle As ICommand
@@ -324,7 +324,7 @@ Public Class FreeContourManagerVM
Map.refProjectVM.NotifyPropertyChanged(NameOf(Map.refProjectVM.PartManager_Visibility))
' verifico se solido attivo
m_bPrevShowSolid = Map.refShowBeamPanelVM.ShowSolid_IsChecked
If m_bPrevShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(GDB_ID.NULL, False, False)
If m_bPrevShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(False)
' attivo visualizzazione direzione curve
EgtSetShowCurveDirection(True)
' elimino eventuale vecchio layer testi
@@ -367,7 +367,7 @@ Public Class FreeContourManagerVM
m_SelType = FreeContourTypes.TWO
End If
End If
' se nuova senza percorsi
' se nuova senza percorsi
Else
' imposto modalita' un percorso
m_SelType = FreeContourTypes.ONE
@@ -424,12 +424,10 @@ Public Class FreeContourManagerVM
NotifyPropertyChanged(NameOf(Line2P_IsEnabled))
NotifyPropertyChanged(NameOf(TextAngle_Visibility))
NotifyPropertyChanged(NameOf(PathList_Visibility))
' posiziono la griglia sul riferimento del contorno libero
' posiziono la griglia sulla faccia attiva
Dim frFace As New Frame3d
EgtBeamGetSideData(SelFeature.nSelSIDE, frFace)
Dim frFrame As Frame3d = SelFeature.BTLFeatureM.frFRAME
frFrame.ToGlob( frFace)
EgtSetGridFrame(frFrame)
EgtSetGridFrame(frFace)
EgtSetGridShow(True, True)
Map.refSceneHostVM.MainScene.CPlaneView()
' rimetto la selezione scena a null
@@ -444,8 +442,11 @@ Public Class FreeContourManagerVM
End Sub
Friend Sub Close(bSave As Boolean)
If not m_bIsActive Then Return
m_bIsActive = False
If m_bIsActive Then
m_bIsActive = False
Else
Return
End If
' gestisco modifiche ai percorsi
If bSave Then
Select Case m_SelType
@@ -458,8 +459,7 @@ Public Class FreeContourManagerVM
Dim sSideAngInfo As String = ""
For Index = 0 To SideAngValues.Count - 1
If Index > 0 Then sSideAngInfo &= ","
Dim sAng As String = DoubleToString(SideAngValues(Index).dValue, 2)
sSideAngInfo &= sAng
sSideAngInfo &= SideAngValues(Index).dValue
Next
EgtSetInfo(m_nNewPathId, "SideAngs", sSideAngInfo)
EgtSetInfo(nSelFeatureId, "AUXID", (m_nNewPathId - nSelFeatureId).ToString("+#;-#;0"))
@@ -474,7 +474,7 @@ Public Class FreeContourManagerVM
Dim BTLFeatureM As BTLFeatureM = SelFeature.BTLFeatureM
BTLFeatureM.CalcParamArray(vPar, sPar, vParQ)
Dim bOK As Boolean = BTLFeatureM.UpdateParams(BTLFeatureM.nSelGRP, BTLFeatureM.nPRC, BTLFeatureM.nSelSIDE, BTLFeatureM.sDES, BTLFeatureM.nPRID,
BTLFeatureM.frFRAME, vPar, sPar, vParQ)
BTLFeatureM.frFRAME, vPar, sPar, vParQ)
If bOK Then
SelFeature.SelGeomFeature()
' rendo non calcolata questa feature
@@ -519,8 +519,7 @@ Public Class FreeContourManagerVM
' elimino eventuale layer dei testi angoli
EgtErase(nSideAngTextLayer)
nSideAngTextLayer = GDB_ID.NULL
' riporto griglia globale e la nascondo
EgtSetGridFrame( New Frame3d())
' nascondo la griglia
EgtSetGridShow(False, False)
' se il progetto non era modificato ed esco senza salvare, resetto lo stato di modificato
If Not m_bAlreadyModified And Not bSave Then
@@ -540,7 +539,7 @@ Public Class FreeContourManagerVM
Map.refProjectVM.NotifyPropertyChanged(NameOf(Map.refProjectVM.PartManager_Visibility))
' disattivo modifiche su scena
Map.refSceneHostVM.MainScene.SetStatusNull()
If m_bPrevShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(GDB_ID.NULL, True, False)
If m_bPrevShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(False)
' disattivo visualizzazione direzione curve
EgtSetShowCurveDirection(False)
' reimposto filtro selezione
@@ -652,8 +651,7 @@ Public Class FreeContourManagerVM
If sSideAngSplit.Count - 1 >= Index Then
StringToDouble(sSideAngSplit(Index), dSideAng)
End If
Dim sSideAng As String = DoubleToString( dSideAng, 2) & "°"
Dim TextId As Integer = EgtCreateText(nSideAngTextLayer, ptText, sSideAng, 20)
Dim TextId As Integer = EgtCreateText(nSideAngTextLayer, ptText, dSideAng & "°", 20)
EgtSetInfo(TextId, "SideAng", dSideAng)
SideAngValues.Add(New SideAngle(TextId, Index, dSideAng))
Next
@@ -746,7 +744,7 @@ Public Class FreeContourManagerVM
End If
ElseIf bChangedStart Then
' non faccio nulla perche' gestito sopra
' se apro percorso
' se apro percorso
ElseIf Not bNewIsClosed AndAlso bOldIsClosed AndAlso Index = NewAngleList.Count Then
' cancello il testo del lato rimosso
nMovedIndex = OldAngleList.FindIndex(Function(x) AreSamePointApprox(x, NewAngleList(CurrIndex - 1)))
@@ -754,7 +752,7 @@ Public Class FreeContourManagerVM
Dim NewIndex As Integer = (nPointsQty + nOffset) Mod nPointsQty
EgtErase(SideAngValues(nOffset).nId)
NewSideAngValues.RemoveAt(NewSideAngValues.Count - 1)
' se chiudo percorso
' se chiudo percorso
ElseIf bNewIsClosed AndAlso Not bOldIsClosed AndAlso Index = OldAngleList.Count Then
' creo il testo del lato aggiunto
Dim ptText As Point3d
@@ -763,21 +761,20 @@ Public Class FreeContourManagerVM
' aggiungo punto e incremento indice di confronto per riallineare successivo
NewSideAngValues.Add(New SideAngle(TextId, NewSideAngValues.Count - 1, 0))
'' percorso aperto
' punti coincidono: verifico che i punti coincidano e non siano il centro del percorso simmetrico
' punti coincidono: verifico che i punti coincidano e non siano il centro del percorso simmetrico
ElseIf Not bNewIsClosed AndAlso nNewIndex <= NewAngleList.Count - 1 AndAlso nOldIndex <= OldAngleList.Count - 1 AndAlso AreSamePointApprox(NewAngleList(nNewIndex), OldAngleList(nOldIndex)) AndAlso
Not (Index = nPointsQty / 2 AndAlso AreSamePointApprox(NewAngleList(Index - 1), OldAngleList(nPointsQty - Index + 1))) Then
If Index < nPointsQty AndAlso nOldIndex <= SideAngValues.Count - 1 Then
NewSideAngValues.Add(New SideAngle(SideAngValues(nOldIndex).nId, NewSideAngValues.Count, SideAngValues(nOldIndex).dValue))
End If
' punti simmetrici: verifico se sono simmetrici o se coincidono ma i precedenti sono simmetrici
' punti simmetrici: verifico se sono simmetrici o se coincidono ma i precedenti sono simmetrici
ElseIf Not bNewIsClosed AndAlso Not bOldIsClosed AndAlso NewAngleList.Count = OldAngleList.Count AndAlso (AreSamePointApprox(NewAngleList(Index), OldAngleList(nPointsQty - Index)) OrElse
(AreSamePointApprox(NewAngleList(nNewIndex), OldAngleList(nOldIndex)) AndAlso AreSamePointApprox(NewAngleList(Index - 1), OldAngleList(nPointsQty - Index + 1)))) Then
If Index < nPointsQty Then
Dim sText As String = DoubleToString( SideAngValues(nPointsQty - 1 - Index).dValue, 2)
EgtModifyText(SideAngValues(Index).nId, sText)
EgtModifyText(SideAngValues(Index).nId, SideAngValues(nPointsQty - 1 - Index).dValue)
NewSideAngValues.Add(New SideAngle(SideAngValues(nPointsQty - 1 - Index).nId, NewSideAngValues.Count, SideAngValues(nPointsQty - 1 - Index).dValue))
End If
' punto spostato: verifico che non coincidano ma che i precedenti o i successivi coincidano
' punto spostato: verifico che non coincidano ma che i precedenti o i successivi coincidano
ElseIf Not bNewIsClosed AndAlso
((Index = nPointsQty AndAlso Index <= OldAngleList.Count - 1 AndAlso Not AreSamePointApprox(NewAngleList(Index), OldAngleList(Index)) AndAlso AreSamePointApprox(NewAngleList(Index - 1), OldAngleList(Index - 1))) OrElse
(nOldIndex + 1 <= OldAngleList.Count - 1 AndAlso nNewIndex + 1 <= NewAngleList.Count - 1 AndAlso AreSamePointApprox(NewAngleList(nNewIndex + 1), OldAngleList(nOldIndex + 1)))) Then
@@ -800,20 +797,20 @@ Public Class FreeContourManagerVM
NewSideAngValues.Add(New SideAngle(SideAngValues(Index).nId, NewSideAngValues.Count, SideAngValues(Index).dValue))
End If
'' percorso chiuso
' punti coincidono: verifico che i punti coincidano e non siano inizio, fine o centro del percorso simmetrico
' punti coincidono: verifico che i punti coincidano e non siano inizio, fine o centro del percorso simmetrico
ElseIf bNewIsClosed AndAlso nNewIndex <= NewAngleList.Count - 1 AndAlso nOldIndex <= OldAngleList.Count - 1 AndAlso AreSamePointApprox(NewAngleList(nNewIndex), OldAngleList(nOldIndex)) AndAlso
Not ((Index = 0 AndAlso AreSamePointApprox(NewAngleList(Index + 1), OldAngleList(nPointsQty - 1))) OrElse
((Index = nPointsQty / 2 OrElse Index = nPointsQty) AndAlso AreSamePointApprox(NewAngleList(Index - 1), OldAngleList(nPointsQty - Index + 1)))) Then
If Index < nPointsQty AndAlso nOldIndex < SideAngValues.Count Then
NewSideAngValues.Add(New SideAngle(SideAngValues(nOldIndex).nId, NewSideAngValues.Count, SideAngValues(nOldIndex).dValue))
End If
' punti simmetrici: verifico se sono simmetrici o se coincidono ma i precedenti sono simmetrici
' punti simmetrici: verifico se sono simmetrici o se coincidono ma i precedenti sono simmetrici
ElseIf bNewIsClosed AndAlso bOldIsClosed AndAlso (AreSamePointApprox(NewAngleList(Index), OldAngleList(nPointsQty - Index)) OrElse
(AreSamePointApprox(NewAngleList(nNewIndex), OldAngleList(nOldIndex)) AndAlso AreSamePointApprox(NewAngleList(Index - 1), OldAngleList(nPointsQty - Index + 1)))) Then
If Index < nPointsQty Then
NewSideAngValues.Add(New SideAngle(SideAngValues(nPointsQty - 1 - Index).nId, NewSideAngValues.Count, SideAngValues(nPointsQty - 1 - Index).dValue))
End If
' punto spostato: verifico che non coincidano ma che i precedenti o i successivi coincidano
' punto spostato: verifico che non coincidano ma che i precedenti o i successivi coincidano
ElseIf (nOldIndex + 1 <= OldAngleList.Count - 1 AndAlso nNewIndex + 1 <= NewAngleList.Count - 1 AndAlso AreSamePointApprox(NewAngleList(nNewIndex + 1), OldAngleList(nOldIndex + 1))) OrElse
(bNewIsClosed AndAlso nOldIndex + 1 = OldAngleList.Count AndAlso nNewIndex + 1 = NewAngleList.Count AndAlso AreSamePointApprox(NewAngleList(1), OldAngleList(1))) Then
' aggiorno posizione testo precedente
@@ -834,7 +831,7 @@ Public Class FreeContourManagerVM
EgtMove(SideAngValues(nOldIndex).nId, vtDistance)
NewSideAngValues.Add(New SideAngle(SideAngValues(nOldIndex).nId, NewSideAngValues.Count, SideAngValues(nOldIndex).dValue))
End If
' punto aggiunto: Verifico che il punto successivo coincida con il vecchio corrente o che sia stato aggiunto in fondo
' punto aggiunto: Verifico che il punto successivo coincida con il vecchio corrente o che sia stato aggiunto in fondo
ElseIf (nNewIndex + 1 <= NewAngleList.Count - 1 AndAlso AreSamePointApprox(NewAngleList(nNewIndex + 1), OldAngleList(nOldIndex))) OrElse
(nOldIndex = OldAngleList.Count AndAlso OldAngleList.Count < NewAngleList.Count) Then
' se non e' percorso aperto e primo punto
@@ -856,7 +853,7 @@ Public Class FreeContourManagerVM
' aggiungo punto e incremento indice di confronto per riallineare successivo
NewSideAngValues.Insert(TextIndex, New SideAngle(TextId, TextIndex, 0))
nOldIndex -= 1
' punto tolto: verifico che il punto coincida con il vecchio successivo o che sia stato tolto in fondo
' punto tolto: verifico che il punto coincida con il vecchio successivo o che sia stato tolto in fondo
ElseIf (nOldIndex + 1 <= OldAngleList.Count - 1 AndAlso AreSamePointApprox(NewAngleList(nNewIndex), OldAngleList(nOldIndex + 1))) OrElse
(nNewIndex = NewAngleList.Count AndAlso OldAngleList.Count > NewAngleList.Count) Then
' non aggiungo nulla, ma cancello testo
@@ -869,7 +866,7 @@ Public Class FreeContourManagerVM
EgtAtParamPoint(m_nNewPathId, If(Index = 0, NewAngleList.Count, Index) - 0.5, ptNew)
Dim vtDistance As Vector3d = ptNew - ptOld
EgtMove(SideAngValues(If(Index = 0, OldAngleList.Count, Index) - 1).nId, vtDistance)
' spostato o ruotato intero percorso
' spostato o ruotato intero percorso
Else
' aggiorno posizione testo successivo
Dim ptOld As Point3d
@@ -900,8 +897,7 @@ Public Class FreeContourManagerVM
Dim dAng As Double
StringToDouble(Map.refFreeContourInputVM.Text, dAng)
EgtSetInfo(m_nSelTextId, "SideAng", dAng)
Dim sAng As String = DoubleToString( dAng, 2) & "°"
EgtModifyText(m_nSelTextId, sAng)
EgtModifyText(m_nSelTextId, dAng & "°")
Dim SideAngValue As SideAngle = SideAngValues.First(Function(x) x.nId = m_nSelTextId)
SideAngValue.dValue = dAng
End If
@@ -948,9 +944,8 @@ Public Class FreeContourManagerVM
Map.refFreeContourInputVM.PrepareInputBox(EgtMsg(62007), EgtMsg(62008), "", False, False)
Dim dSideAng As Double = 0
EgtGetInfo(nId, "SideAng", dSideAng)
Dim sSideAng As String = DoubleToString( dSideAng, 2)
Map.refFreeContourInputVM.SetInputBoxText(sSideAng)
' se sto aprendo percorso chiuso
Map.refFreeContourInputVM.SetInputBoxText(dSideAng)
' se sto aprendo percorso chiuso
ElseIf Map.refFreeContourManagerVM.bIsOpeningCurveCompo Then
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.OPENCOMPO)
m_bIsOpeningCurveCompo = False
@@ -987,13 +982,21 @@ Public Class FreeContourManagerVM
''' Execute the Line2P. This method is invoked by the Line2PCommand.
''' </summary>
Public Sub Line2P(ByVal param As Object)
Dim nNewPathLayerId As Integer = EgtCreateGroup(nSelPartId)
' cancello eventuale gruppo precedente
Dim nNewPathLayerId As Integer = EgtGetFirstNameInGroup(nSelPartId, "NewPathLayer")
If nNewPathLayerId <> GDB_ID.NULL Then
EgtEmptyGroup(nNewPathLayerId)
Else
nNewPathLayerId = EgtCreateGroup(nSelPartId)
End If
EgtSetName(nNewPathLayerId, "NewPathLayer")
EgtSetCurrPartLayer(nSelPartId, nNewPathLayerId)
InitCommand(True)
InitCommand(False)
Map.refSceneHostVM.MainController.SetContinue()
If Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.LINE2P) Then
m_bIsCreatingPath = True
Else
EgtErase(nNewPathLayerId)
End If
End Sub
@@ -213,17 +213,49 @@ Public Class MyInstrumentPanelVM
For Each Param In ParamList.Where(Function(x) x.sName = ChangeParameterWndVM.SelParam.sName)
Select Case Param.nType
Case BTLParamType.DOUBLE_, BTLParamType.LENGTH
If Math.Abs( Param.dValue - ChangeParameterWndVM.SelParam.dActualValue) < EPS_SMALL Then
If Param.dValue = ChangeParameterWndVM.SelParam.dActualValue Then
Param.UpdateParamValue(ChangeParameterWndVM.SelParam.dNewValue, "")
'' rinfresco valori parametri feature correntemente selezionata
'If Not IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLPart) AndAlso
' Not IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM) AndAlso
' Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM Is Feature Then
' Param.NotifyPropertyChanged("sValue")
'End If
End If
Case BTLParamType.STRING_
If Param.sValue = ChangeParameterWndVM.SelParam.sActualValue Then
Param.UpdateParamValue(0, ChangeParameterWndVM.SelParam.sNewValue)
'' rinfresco valori parametri feature correntemente selezionata
'If Not IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLPart) AndAlso
' Not IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM) AndAlso
' Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM.nPRC = ChangeParameterWndVM.SelPRC.nPRC AndAlso
' Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM.nSelGRP = ChangeParameterWndVM.SelPRC.nGRP Then
' Param.NotifyPropertyChanged("sValue")
'End If
End If
End Select
Next
End If
Next
'' faccio passare feature
'For Each Feature In Part.FeatureList
' If Feature.nPRC = ChangeParameterWndVM.SelPRC.nPRC Then
' For Each Param In Feature.PParamList
' If Param.sName = ChangeParameterWndVM.SelParam.sName Then
' Select Case Param.nType
' Case BTLParamType.DOUBLE_, BTLParamType.LENGTH
' If Param.dValue = ChangeParameterWndVM.SelParam.dActualValue Then
' Param.dValue = ChangeParameterWndVM.SelParam.dValue
' End If
' Case BTLParamType.STRING_
' If Param.sValue = ChangeParameterWndVM.SelParam.sActualValue Then
' Param.sValue = ChangeParameterWndVM.SelParam.sValue
' End If
' End Select
' End If
' Next
' End If
'Next
Next
End If
LoadingWndHelper.CloseLoadingWnd(ActiveIds.CHANGEPARAM)
@@ -131,18 +131,6 @@
</Style>
</DataGridTextColumn.EditingElementStyle>
</DataGridTextColumn>
<!--PosZ - Posizione in Z-->
<DataGridTextColumn x:Key="colPOSZ" Binding="{Binding sPosZ}">
<DataGridTextColumn.Header>
<TextBlock Text="{Binding Path=DataContext.PosZ_Msg,
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:RawPartListV}}}"/>
</DataGridTextColumn.Header>
<DataGridTextColumn.EditingElementStyle>
<Style TargetType="{x:Type TextBox}">
<Setter Property="Foreground" Value="Blue" />
</Style>
</DataGridTextColumn.EditingElementStyle>
</DataGridTextColumn>
<!--MAT - Materiale-->
<DataGridTextColumn x:Key="colMATERIAL" Binding="{Binding sMATERIAL}">
<DataGridTextColumn.Header>
@@ -69,12 +69,6 @@ Public Class RawPartListVM
End Get
End Property
Public ReadOnly Property PosZ_Msg As String
Get
Return EgtMsg(61728)
End Get
End Property
Public ReadOnly Property Material_Msg As String
Get
Return EgtMsg(61607)
@@ -90,13 +90,6 @@
Style="{StaticResource LeftPanel_Button}">
<Image Source="/Resources/LeftPanel/NewRawPart.png" Stretch="Uniform"/>
</Button>
<Button Command="{Binding NewRawPartLast_Command}"
Visibility="{Binding MachiningPage_Visibility}"
ToolTip="{Binding NewRawPartLast_ToolTip}"
IsEnabled="{Binding LeftPanel_IsEnabled}"
Style="{StaticResource LeftPanel_Button}">
<Image Source="/Resources/LeftPanel/NewRawPartAuto.png" Stretch="Uniform"/>
</Button>
<Button Command="{Binding AddToRawPart_Command}"
Visibility="{Binding MachiningPage_Visibility}"
ToolTip="{Binding AddToRawPart_ToolTip}"
@@ -100,7 +100,6 @@ Public Class LeftPanelVM
' Definizione comandi
Private m_cmdNewRawPart As ICommand
Private m_cmdNewRawPartLast As ICommand
Private m_cmdAddToRawPart As ICommand
Private m_cmdCopyPart As ICommand
Private m_cmdAddPart As ICommand
@@ -156,12 +155,6 @@ Public Class LeftPanelVM
End Get
End Property
Public ReadOnly Property NewRawPartLast_ToolTip As String
Get
Return EgtMsg(61977)
End Get
End Property
Public ReadOnly Property AddToRawPart_ToolTip As String
Get
Return EgtMsg(61904)
@@ -265,7 +258,7 @@ Public Class LeftPanelVM
Public ReadOnly Property NewRawPart_Command As ICommand
Get
If m_cmdNewRawPart Is Nothing Then
m_cmdNewRawPart = New Command(AddressOf NewRawPartCmd)
m_cmdNewRawPart = New Command(AddressOf NewRawPart)
End If
Return m_cmdNewRawPart
End Get
@@ -274,11 +267,7 @@ Public Class LeftPanelVM
''' <summary>
''' Execute the Exec. This method is invoked by the ExecCommand.
''' </summary>
Public Sub NewRawPartCmd()
NewRawPart(False)
End Sub
Public Sub NewRawPart(bLast As Boolean)
Public Sub NewRawPart()
If IsNothing(Map.refProdManagerVM.CurrProd) Then Return
Dim SelPart As BTLPartVM = Map.refProjectVM.BTLStructureVM.SelBTLPart
Dim SelParts As List(Of BTLPartVM) = Map.refProjectVM.BTLStructureVM.SelBTLParts.ToList()
@@ -352,37 +341,21 @@ Public Class LeftPanelVM
Case WarehouseType.MEDIUM
Dim SectionList As List(Of SParam) = WarehouseHelper.GetSectionList()
Dim SParamlist As List(Of SParam) = SectionList.FindAll(Function(x) x.SectXMat = SelParts(0).Section)
If bLast Then
Dim LastMaterial As SParam = WarehouseHelper.GetLastMaterial(SelParts(0).Section)
If Not IsNothing(LastMaterial) Then
dRawL = LastMaterial.dL
dRawW = LastMaterial.dW
ElseIf SParamlist.Count > 0 Then
dRawL = SParamlist(0).dL
dRawW = SParamlist(0).dW
If SParamlist.Count = 0 Then
' apro finestra con solo edit
If AddRawPartWnd(AddRawPartWndVM.EditTypes.ONLY_TEXT, SParamlist, dRawW, dRawL, dStartOffset, dOffset, dKerf) Then
WarehouseHelper.SetOffset(Map.refProjectVM.BTLStructureVM.nPROJTYPE, dOffset)
If Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.BEAM Then
WarehouseHelper.SetStartOffset(dStartOffset)
Else
WarehouseHelper.SetKerf(dKerf)
End If
Else
MessageBox.Show(EgtMsg(61975), EgtMsg(30007))
Return
End If
Else
If SParamlist.Count = 0 Then
' se pareti aumento dimensioni del kerf
If Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.WALL Then
dRawW += (2 * dKerf)
dRawL += (2 * dKerf)
End If
' apro finestra con solo edit
If AddRawPartWnd(AddRawPartWndVM.EditTypes.ONLY_TEXT, SParamlist, dRawW, dRawL, dStartOffset, dOffset, dKerf) Then
WarehouseHelper.SetOffset(Map.refProjectVM.BTLStructureVM.nPROJTYPE, dOffset)
If Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.BEAM Then
WarehouseHelper.SetStartOffset(dStartOffset)
Else
WarehouseHelper.SetKerf(dKerf)
End If
Else
Return
End If
ElseIf SParamlist.Count > 0 Then
ElseIf SParamlist.Count = 1 Then
' se premuto shift
If (Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift Then
' imposto finestra con anche edit
If AddRawPartWnd(AddRawPartWndVM.EditTypes.TEXT_AND_COMBO, SParamlist, dRawW, dRawL, dStartOffset, dOffset, dKerf) Then
WarehouseHelper.SetOffset(Map.refProjectVM.BTLStructureVM.nPROJTYPE, dOffset)
@@ -394,6 +367,28 @@ Public Class LeftPanelVM
Else
Return
End If
Else
' creo grezzo con l'unico materiale
dRawL = SParamlist(0).dL
dRawW = SParamlist(0).dW
End If
Else
' imposto finestra di sola scelta dimensione
Dim EditType As AddRawPartWndVM.EditTypes = AddRawPartWndVM.EditTypes.ONLY_COMBO
' se premuto shift
If (Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift Then
' imposto finestra con anche edit
EditType = AddRawPartWndVM.EditTypes.TEXT_AND_COMBO
End If
If AddRawPartWnd(EditType, SParamlist, dRawW, dRawL, dStartOffset, dOffset, dKerf) Then
WarehouseHelper.SetOffset(Map.refProjectVM.BTLStructureVM.nPROJTYPE, dOffset)
If Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.BEAM Then
WarehouseHelper.SetStartOffset(dStartOffset)
Else
WarehouseHelper.SetKerf(dKerf)
End If
Else
Return
End If
End If
End Select
@@ -417,23 +412,23 @@ Public Class LeftPanelVM
Dim nCurrMachGroup As Integer = EgtGetCurrMachGroup()
Dim sCurrMachGroupName As String = ""
EgtGetMachGroupName(nCurrMachGroup, sCurrMachGroupName)
' ordino i pezzi per lunghezza
SelParts = SelParts.OrderBy(Function(x) x.dL).ToList
' creo copie dei pezzi
Dim nPartDuploIdList As New List(Of Integer)
For Each Part In SelParts
Dim nDuploId As Integer = EgtDuploNew(Part.nPartId)
' elimino valori calcolo dell'originale
MyMachGroupPanelVM.DuploRemoveProjCalc(nDuploId)
' lo rendo std
EgtSetMode(nDuploId, GDB_MD.STD)
nPartDuploIdList.Add(nDuploId)
Next
Dim sLogPath As String = Map.refMainWindowVM.MainWindowM.sTempDir & "\RawPartLog.txt"
' scrivo dati per variabili P di comunicazione con la macchina in gruppo di lavorazione
EgtSetInfo(nCurrMachGroup, MGR_RPT_PRODID, Map.refProdManagerVM.CurrProd.nProdId)
EgtSetInfo(nCurrMachGroup, MGR_RPT_PATTID, nCurrMachGroup)
If Map.refProjectVM.BTLStructureVM.nPROJTYPE = MachineType.BEAM Then
' ordino i pezzi per lunghezza
SelParts = SelParts.OrderBy(Function(x) x.dL).ToList
' creo copie dei pezzi
Dim nPartDuploIdList As New List(Of Integer)
For Each Part In SelParts
Dim nDuploId As Integer = EgtDuploNew(Part.nPartId)
' elimino valori calcolo dell'originale
MyMachGroupPanelVM.DuploRemoveProjCalc(nDuploId)
' lo rendo std
EgtSetMode(nDuploId, GDB_MD.STD)
nPartDuploIdList.Add(nDuploId)
Next
' scrivo dati costruzione grezzo in gruppo di lavorazione
EgtSetInfo(nCurrMachGroup, MGR_RPT_BARLEN, dRawL)
EgtSetInfo(nCurrMachGroup, MGR_RPT_MATERIAL, SelPart.sMATERIAL)
@@ -551,89 +546,9 @@ Public Class LeftPanelVM
dKerf = AddRawPartWndVM.VariableList(2).dValue
dOffset = AddRawPartWndVM.VariableList(3).dValue
End Select
' verifico se il materiale esiste in magazzino o devo aggiungerlo
Dim CurrSParam As SParam = Nothing
Select Case EditType
Case AddRawPartWndVM.EditTypes.ONLY_TEXT
' lo aggiungo a lista materiali in magazzino
CurrSParam = AddRawMaterial(dRawW, dRawL)
Case AddRawPartWndVM.EditTypes.ONLY_COMBO
' non faccio nulla
Case AddRawPartWndVM.EditTypes.TEXT_AND_COMBO
' verifico se lunghezza testo corrisponde a materiale
If Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.BEAM Then
CurrSParam = SParamlist.FirstOrDefault(Function(x) x.dL = AddRawPartWndVM.VariableList(0).dValue)
Else
CurrSParam = SParamlist.FirstOrDefault(Function(x) x.dL = AddRawPartWndVM.VariableList(1).dValue AndAlso x.dW = AddRawPartWndVM.VariableList(0).dValue)
End If
If IsNothing(CurrSParam) Then
' lo aggiungo a lista materiali in magazzino
CurrSParam = AddRawMaterial(dRawW, dRawL)
End If
End Select
' imposto il materiale selezionato come ultimo utilizzato
SetLastMaterial(CurrSParam.SectXMat, CurrSParam)
Return True
End Function
Private Function AddRawMaterial(dRawW As Double, ByRef dRawL As Double) As SParam
Dim sWarehousePath As String = Map.refMainWindowVM.MainWindowM.sWarehouseDir & "\" & WH_MEDIUM_INI_FILE_NAME
Dim nQuantity As Integer = GetMainPrivateProfileInt(S_WAREHOUSE, K_DEFAULTQUANTITY, 1)
If Map.refProjectVM.BTLStructureVM.nPROJTYPE = MachineType.BEAM Then
' creo sParam
Dim CurrSParam As New SParam(Map.refProjectVM.BTLStructureVM.SelBTLPart.Section, dRawL, nQuantity, False)
Dim sL As String = String.Empty
sL = LenToString(CurrSParam.dL, 3)
' ricavo l'indice del SecionXMaterial dalla Beam_List
Dim SectXMatIndex As Integer = GetSectIndexFromSection(MachineType.BEAM, CurrSParam.SectXMat)
' ricavo nuovo indice materiale
Dim ParamIndex As Integer = 1
Dim sParam As String = ""
While GetPrivateProfileString(S_BEAM, K_L & ParamIndex, "", sParam, sWarehousePath) > 0
ParamIndex += 1
End While
If SectXMatIndex > 0 Then
' lo aggiungo in warehouse
WritePrivateProfileString(S_BEAM, K_L & ParamIndex,
SectXMatIndex & "," & sL & "," & CurrSParam.nQuantity & "," & If(CurrSParam.bActive, 1, 0),
sWarehousePath)
Else
EgtOutLog("Error in material creation, section not found!")
End If
Return CurrSParam
ElseIf Map.refProjectVM.BTLStructureVM.nPROJTYPE = MachineType.WALL Then
' creo sParam
Dim CurrSParam As New SParam(Map.refProjectVM.BTLStructureVM.SelBTLPart.Section, dRawW, dRawL, nQuantity, False)
Dim sW As String = String.Empty
Dim sL As String = String.Empty
sW = LenToString(CurrSParam.dW, 3)
sL = LenToString(CurrSParam.dL, 3)
' ricavo l'indice del SecionXMaterial dalla Wall_List
Dim SectXMatIndex As Integer = 1
Dim sSxMValue As String = ""
While EgtUILib.GetPrivateProfileString(S_WALL_LIST, SectXMatIndex, String.Empty, sSxMValue, sWarehousePath)
If sSxMValue = CurrSParam.sValue Then
' se l'ho trovato esco dal while, il SectXMatIndex è l'indice che cercavamo
Exit While
End If
SectXMatIndex += 1
End While
' ricavo nuovo indice materiale
Dim ParamIndex As Integer = 1
Dim sParam As String = ""
While GetPrivateProfileString(S_WALL, K_S & ParamIndex, "", sParam, sWarehousePath) > 0
ParamIndex += 1
End While
' lo aggiungo in warehouse
WritePrivateProfileString(S_WALL, K_S & ParamIndex,
SectXMatIndex & "," & sW & "," & sL & "," & CurrSParam.nQuantity & "," & If(CurrSParam.bActive, 1, 0),
sWarehousePath)
Return CurrSParam
End If
Return Nothing
End Function
Private Function VerifyPartCount(SelParts As List(Of BTLPartVM)) As Boolean
' verifico se ci sono pezzi da aggiungere
Dim ToAddList As New List(Of String)
@@ -663,29 +578,6 @@ Public Class LeftPanelVM
#End Region ' NewRawPart
#Region "NewRawPartLast"
''' <summary>
''' Returns a command that do Exec.
''' </summary>
Public ReadOnly Property NewRawPartLast_Command As ICommand
Get
If m_cmdNewRawPartLast Is Nothing Then
m_cmdNewRawPartLast = New Command(AddressOf NewRawPartLast)
End If
Return m_cmdNewRawPartLast
End Get
End Property
''' <summary>
''' Execute the Exec. This method is invoked by the ExecCommand.
''' </summary>
Public Sub NewRawPartLast()
NewRawPart(True)
End Sub
#End Region ' NewRawPartLast
#Region "AddToRawPart"
''' <summary>
@@ -760,7 +652,7 @@ Public Class LeftPanelVM
ElseIf Map.refProjectVM.BTLStructureVM.nPROJTYPE = MachineType.WALL Then
Dim WallMachGroup As MyMachGroupVM = SelMachGroup
' verifico spessore
If SelPart.Section <> WallMachGroup.Section Then
If SelPart.dH < WallMachGroup.dH - EPS_SMALL OrElse SelPart.dH > WallMachGroup.dH + EPS_SMALL Then
MessageBox.Show(EgtMsg(61868), EgtMsg(30007))
Return
End If
@@ -1138,18 +1030,9 @@ Public Class LeftPanelVM
''' </summary>
Public Sub Invert()
If IsNothing(Map.refProjManagerVM.CurrProj) OrElse IsNothing(Map.refProjectVM.BTLStructureVM) Then Return
' se modalita' assemblato
Dim bShowBuilding As Boolean = Map.refShowBeamPanelVM.ShowBuilding_IsChecked
If bShowBuilding AndAlso Map.refShowBeamPanelVM.bShowAll Then
' devo smontarlo prima di ruotare le travi
Map.refProjectVM.BTLStructureVM.ShowBuilding(False, False)
End If
' inverto i pezzi selezionati
For Each Part In Map.refProjectVM.BTLStructureVM.SelBTLParts
Part.Invert()
Next
' se assemblato lo ripristino
If bShowBuilding Then Map.refProjectVM.BTLStructureVM.ShowBuilding(True, False)
End Sub
#End Region ' BackRotation
@@ -241,4 +241,5 @@ Public Class MyMachGroupPanelVM
#End Region ' METHODS
End Class
@@ -278,38 +278,6 @@ Public Class MyMachGroupVM
#End Region ' Beam
#Region "Wall"
Public Property sPosZ As String
Get
Return LenToString(MyMachGroupM.dPosZ, 3)
End Get
Set(value As String)
Dim dValue As Double
If StringToLen(value, dValue) Then
Dim nRawPartId As Integer = EgtGetFirstRawPart()
If Math.Abs( dValue - MyMachGroupM.dPosZ) > EPS_SMALL Then
Select Case nType
Case BWType.BEAM
' non utilizzato
Case BWType.WALL
' se operazione di spostamento in z ha successo
If dValue >= 0 AndAlso EgtMoveRawPart( nRawPartId, New Vector3d(0, 0, dValue - MyMachGroupM.dPosZ)) Then
EgtSetInfo(Id, MGR_RPT_PANELPOSZ, dValue)
EgtDraw()
MyMachGroupM.dPosZ = dValue
Else
NotifyPropertyChanged(NameOf(sPosZ))
End If
End Select
ResetCalcTotalMachGroup()
End If
End If
End Set
End Property
#End Region ' Wall
#End Region ' FIELDS & PROPERTIES
#Region "CONSTRUCTORS"
@@ -810,7 +778,7 @@ Public Class MyMachGroupVM
#Region "DeleteMachGroup"
' Manage the MainWindow_Unloaded event. This method is invoked by the cmdMainWindow_Unloaded.
Public Overrides Sub DeleteMachGroup(Optional bMultipleCommand As Boolean = False)
Public Overrides Sub DeleteMachGroup()
If EgtSetCurrMachGroup(Me.Id) Then
' elimino tutte le copie
Dim nRawPartId As Integer = EgtGetFirstRawPart()
@@ -839,28 +807,25 @@ Public Class MyMachGroupVM
' elimino MachGroup
EgtRemoveMachGroup(Me.Id)
End If
' cambio pezzo selezionato
If bMultipleCommand Then
Dim Index As Integer = Map.refMachGroupPanelVM.MachGroupVMList.IndexOf(Me)
If Index = 0 Then
If Map.refMachGroupPanelVM.MachGroupVMList.Count > 1 Then
Map.refMachGroupPanelVM.SelectedMachGroup = Map.refMachGroupPanelVM.MachGroupVMList(1)
Else
Map.refMachGroupPanelVM.SelectedMachGroup = Nothing
EgtDraw()
End If
ElseIf Index = Map.refMachGroupPanelVM.MachGroupVMList.Count - 1 Then
If Map.refMachGroupPanelVM.MachGroupVMList.Count > 1 Then
Map.refMachGroupPanelVM.SelectedMachGroup = Map.refMachGroupPanelVM.MachGroupVMList(Map.refMachGroupPanelVM.MachGroupVMList.Count - 2)
Else
Map.refMachGroupPanelVM.SelectedMachGroup = Nothing
EgtDraw()
End If
Else
Map.refMachGroupPanelVM.SelectedMachGroup = Map.refMachGroupPanelVM.MachGroupVMList(Index - 1)
End If
End If
' rimuovo dalla lista grezzi
Dim Index As Integer = Map.refMachGroupPanelVM.MachGroupVMList.IndexOf(Me)
If Index = 0 Then
If Map.refMachGroupPanelVM.MachGroupVMList.Count > 1 Then
Map.refMachGroupPanelVM.SelectedMachGroup = Map.refMachGroupPanelVM.MachGroupVMList(1)
Else
Map.refMachGroupPanelVM.SelectedMachGroup = Nothing
EgtDraw()
End If
ElseIf Index = Map.refMachGroupPanelVM.MachGroupVMList.Count - 1 Then
If Map.refMachGroupPanelVM.MachGroupVMList.Count > 1 Then
Map.refMachGroupPanelVM.SelectedMachGroup = Map.refMachGroupPanelVM.MachGroupVMList(Map.refMachGroupPanelVM.MachGroupVMList.Count - 2)
Else
Map.refMachGroupPanelVM.SelectedMachGroup = Nothing
EgtDraw()
End If
Else
Map.refMachGroupPanelVM.SelectedMachGroup = Map.refMachGroupPanelVM.MachGroupVMList(Index - 1)
End If
Map.refMachGroupPanelVM.MachGroupVMList.Remove(Me)
End Sub
@@ -227,8 +227,8 @@ Public Class MainWindowM
' Verifico abilitazione nesting automatico
m_bAutoNestOption = Not String.IsNullOrWhiteSpace(sNestKey)
' Recupero livello e opzioni della chiave
Dim bKey As Boolean = EgtGetKeyLevel(5327, 2501, 1, m_nKeyLevel) And
EgtGetKeyOptions(5327, 2501, 1, m_nKeyOptions)
Dim bKey As Boolean = EgtGetKeyLevel(5327, 2408, 1, m_nKeyLevel) And
EgtGetKeyOptions(5327, 2408, 1, m_nKeyOptions)
' Inizializzazione generale di EgtInterface
m_nDebug = GetMainPrivateProfileInt(S_GENERAL, K_DEBUG, 0)
m_sLogFile = m_sTempDir & "\" & VWOPTGENLOG_FILE_NAME.Replace("#", m_nInstance.ToString())
@@ -30,7 +30,7 @@ Imports System.Windows
#End If
<Assembly: AssemblyCompany("Egalware s.r.l.")>
<Assembly: AssemblyProduct("EgtBEAMWALL.ViewerOptimizer")>
<Assembly: AssemblyCopyright("Copyright © 2020-2023 by Egalware s.r.l.")>
<Assembly: AssemblyCopyright("Copyright © 2020-2022 by Egalware s.r.l.")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(false)>
@@ -70,5 +70,5 @@ Imports System.Windows
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.5.2.3")>
<Assembly: AssemblyFileVersion("2.5.2.3")>
<Assembly: AssemblyVersion("2.4.8.2")>
<Assembly: AssemblyFileVersion("2.4.8.2")>
@@ -499,7 +499,7 @@ Public Class NestingRunningWndVM
If Map.refProjectVM.MachGroupPanelVM.MachGroupVMList.Count = 0 Then
Map.refProjectVM.BTLStructureVM.HideAll(True)
End If
Exit While
Return
End If
' passo al prossimo RawPart
@@ -532,10 +532,10 @@ Public Class ProjManagerVM
' verifico se assemblato e lo annullo per salvataggio
bShowBuilding = Map.refShowBeamPanelVM.ShowBuilding_IsChecked
If bShowBuilding Then Map.refProjectVM.BTLStructureVM.ShowBuilding(False, False)
' se vista singolo pezzo
' se vista singolo pezzo
Else
bShowSolid = Map.refShowBeamPanelVM.ShowSolid_IsChecked
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(GDB_ID.NULL, False, False)
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(False)
End If
' imposto ProjId di caricamento
m_nLoadingProjId = CurrProj.nProjId
@@ -551,7 +551,7 @@ Public Class ProjManagerVM
End If
' se assemblato lo ripristino
If bShowBuilding Then Map.refProjectVM.BTLStructureVM.ShowBuilding(True, False)
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(GDB_ID.NULL, True, False)
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(False)
' verifico se Reset Macchina modificato e nel caso aggiorno DB e CurrProj
If Map.refCALCPanelVM.IsMachineModified() Then
DbControllers.m_ProjController.UpdateMachine(Map.refProjManagerVM.CurrProj.nProjId, Map.refCALCPanelVM.SelectedMachine.Name)
@@ -831,7 +831,7 @@ Public Class ProjManagerVM
' se vista singolo pezzo
Else
bShowSolid = Map.refShowBeamPanelVM.ShowSolid_IsChecked
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(GDB_ID.NULL, False, False)
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(False)
' se pezzo selezionato lo segno e metto vista tutti
nSelPartId = Map.refProjectVM.BTLStructureVM.SelBTLPart.nPartId
Map.refProjectVM.BTLStructureVM.ShowAll(False)
@@ -857,7 +857,7 @@ Public Class ProjManagerVM
Dim SelPart As BTLPartVM = Map.refProjectVM.BTLStructureVM.BTLPartVMList.FirstOrDefault(Function(x) x.nPartId = nSelPartId)
If Not IsNothing(SelPart) Then
SelPart.IsSelected = True
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(GDB_ID.NULL, True, False)
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(False)
End If
End If
EgtZoom(ZM.ALL)
@@ -974,7 +974,7 @@ Public Class ProjManagerVM
Dim SelPart As BTLPartVM = Map.refProjectVM.BTLStructureVM.BTLPartVMList.FirstOrDefault(Function(x) x.nPartId = nSelPartId)
If Not IsNothing(SelPart) Then
SelPart.IsSelected = True
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(GDB_ID.NULL, True, False)
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(False)
End If
End If
EgtZoom(ZM.ALL)
@@ -1089,7 +1089,7 @@ Public Class ProjManagerVM
Dim SelPart As BTLPartVM = Map.refProjectVM.BTLStructureVM.BTLPartVMList.FirstOrDefault(Function(x) x.nPartId = nSelPartId)
If Not IsNothing(SelPart) Then
SelPart.IsSelected = True
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(GDB_ID.NULL, True, False)
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(False)
End If
End If
EgtZoom(ZM.ALL)
@@ -1296,7 +1296,7 @@ Public Class ProjManagerVM
Dim SelPart As BTLPartVM = Map.refProjectVM.BTLStructureVM.BTLPartVMList.FirstOrDefault(Function(x) x.nPartId = nSelPartId)
If Not IsNothing(SelPart) Then
SelPart.IsSelected = True
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(GDB_ID.NULL, True, False)
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(False)
End If
End If
EgtZoom(ZM.ALL)
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1008 B

After

Width:  |  Height:  |  Size: 947 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 478 B

After

Width:  |  Height:  |  Size: 477 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 785 B

After

Width:  |  Height:  |  Size: 691 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1016 B

After

Width:  |  Height:  |  Size: 812 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 774 B

After

Width:  |  Height:  |  Size: 757 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 794 B

After

Width:  |  Height:  |  Size: 792 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 356 B

After

Width:  |  Height:  |  Size: 351 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 442 B

After

Width:  |  Height:  |  Size: 417 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 645 B

After

Width:  |  Height:  |  Size: 468 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 656 B

After

Width:  |  Height:  |  Size: 525 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 328 B

After

Width:  |  Height:  |  Size: 315 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 450 B

After

Width:  |  Height:  |  Size: 434 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 640 B

After

Width:  |  Height:  |  Size: 474 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 294 B

After

Width:  |  Height:  |  Size: 290 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 577 B

After

Width:  |  Height:  |  Size: 397 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 629 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 584 B

After

Width:  |  Height:  |  Size: 478 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 626 B

After

Width:  |  Height:  |  Size: 503 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 849 B

After

Width:  |  Height:  |  Size: 681 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 757 B

After

Width:  |  Height:  |  Size: 599 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 681 B

After

Width:  |  Height:  |  Size: 561 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 298 B

After

Width:  |  Height:  |  Size: 286 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 501 B

After

Width:  |  Height:  |  Size: 472 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 306 B

After

Width:  |  Height:  |  Size: 299 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 491 B

After

Width:  |  Height:  |  Size: 479 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 325 B

After

Width:  |  Height:  |  Size: 318 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 654 B

After

Width:  |  Height:  |  Size: 535 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 802 B

After

Width:  |  Height:  |  Size: 652 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 782 B

After

Width:  |  Height:  |  Size: 622 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 711 B

After

Width:  |  Height:  |  Size: 610 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 657 B

After

Width:  |  Height:  |  Size: 534 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 868 B

After

Width:  |  Height:  |  Size: 797 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 405 B

After

Width:  |  Height:  |  Size: 367 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 591 B

After

Width:  |  Height:  |  Size: 541 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 347 B

After

Width:  |  Height:  |  Size: 340 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 499 B

After

Width:  |  Height:  |  Size: 449 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 492 B

After

Width:  |  Height:  |  Size: 427 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 475 B

After

Width:  |  Height:  |  Size: 435 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 546 B

After

Width:  |  Height:  |  Size: 475 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 695 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 339 B

After

Width:  |  Height:  |  Size: 319 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 544 B

After

Width:  |  Height:  |  Size: 387 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 609 B

After

Width:  |  Height:  |  Size: 480 B

@@ -285,10 +285,8 @@ Public Class MySceneHostVM
Select Case Map.refMainMenuVM.SelPage
Case Pages.VIEW
If Not IsNothing(Map.refProjectVM.BTLStructureVM) Then
If Map.refFreeContourManagerVM.bIsActive AndAlso
( Map.refFreeContourManagerVM.SelType = FreeContourManagerVM.FreeContourTypes.ONEWITHANGLES Or
Map.refFreeContourManagerVM.bIsOpeningCurveCompo) Then
' passo entità selezionata
If Map.refFreeContourManagerVM.bIsActive AndAlso Map.refFreeContourManagerVM.SelType = FreeContourManagerVM.FreeContourTypes.ONEWITHANGLES Then
' passo testo selezionato
Map.refFreeContourManagerVM.OnMouseSelectedObj(EgtGetFirstSelectedObj(), True)
ElseIf Map.refShowBeamPanelVM.bShowAll Then
View_Part_OnMouseDownScene(sender, e)
@@ -34,7 +34,7 @@ Public Class ShowBeamPanelVM
End Get
Set(value As Boolean)
m_bShowSolid = value
If Not IsNothing(Map.refProjectVM.BTLStructureVM) Then Map.refProjectVM.BTLStructureVM.ShowSolid( GDB_ID.NULL, m_bShowSolid)
If Not IsNothing(Map.refProjectVM.BTLStructureVM) Then Map.refProjectVM.BTLStructureVM.ShowSolid()
End Set
End Property
Friend Sub SetShowSolid(bValue As Boolean)
@@ -9,7 +9,6 @@
Style="{StaticResource ToolBar_EgtFloatingPanel}">
<Border BorderThickness="2"
ToolTip="{Binding TotalTime_ToolTip}"
BorderBrush="Crimson"
Background="{StaticResource Omag_LightGray}"
Padding="5,0,5,0"
@@ -22,7 +21,6 @@
VerticalAlignment="Center"/>
</Border>
<Border BorderThickness="2"
ToolTip="{Binding TotalTime_ToolTip}"
BorderBrush="Crimson"
Background="{StaticResource Omag_LightGray}"
Padding="5,0,5,0"
@@ -35,7 +33,6 @@
VerticalAlignment="Center"/>
</Border>
<Border BorderThickness="2"
ToolTip="{Binding DoneTime_ToolTip}"
BorderBrush="Gold"
Padding="5,0,5,0"
Margin="2"
@@ -47,7 +44,6 @@
VerticalAlignment="Center"/>
</Border>
<Border BorderThickness="2"
ToolTip="{Binding RemainingTime_ToolTip}"
BorderBrush="White"
Padding="5,0,5,0"
Margin="2"
@@ -23,24 +23,6 @@ Public Class StatisticsTimePanelVM
#Region "ToolTip"
Public ReadOnly Property TotalTime_ToolTip As String
Get
Return EgtMsg(61978)
End Get
End Property
Public ReadOnly Property DoneTime_ToolTip As String
Get
Return EgtMsg(61979)
End Get
End Property
Public ReadOnly Property RemainingTime_ToolTip As String
Get
Return EgtMsg(61980)
End Get
End Property
#End Region ' ToolTip
#End Region ' Fields & Properties
@@ -58,12 +58,6 @@
Style="{StaticResource LeftPanel_Button}">
<Image Source="/Resources/TopPanel/RemoveRawPart.png" Stretch="Uniform"/>
</Button>
<Button Command="{Binding RemoveAllRawPart_Command}"
ToolTip="{Binding RemoveAllRawPart_ToolTip}"
IsEnabled="{Binding TopPanel_IsEnabled}"
Style="{StaticResource LeftPanel_Button}">
<Image Source="/Resources/TopPanel/RemoveAllRawPart.png" Stretch="Uniform"/>
</Button>
<Button Command="{Binding MovePartInRawPart_Command}"
ToolTip="{Binding MovePartInRawPart_ToolTip}"
IsEnabled="{Binding TopPanel_IsEnabled}"
@@ -80,7 +80,6 @@ Public Class TopPanelVM
Private m_cmdProduceRawPart As ICommand
Private m_cmdCopyRawPart As ICommand
Private m_cmdRemoveRawPart As ICommand
Private m_cmdRemoveAllRawPart As ICommand
Private m_cmdRemovePart As ICommand
Private m_cmdMoveUpPart As ICommand
Private m_cmdMoveDownPart As ICommand
@@ -128,12 +127,6 @@ Public Class TopPanelVM
End Get
End Property
Public ReadOnly Property RemoveAllRawPart_ToolTip As String
Get
Return EgtMsg(61976)
End Get
End Property
Public ReadOnly Property ReOrderPart_ToolTip As String
Get
Return EgtMsg(61916)
@@ -372,7 +365,7 @@ Public Class TopPanelVM
Public ReadOnly Property RemoveRawPart_Command As ICommand
Get
If m_cmdRemoveRawPart Is Nothing Then
m_cmdRemoveRawPart = New Command(AddressOf RemoveRawPartCmd)
m_cmdRemoveRawPart = New Command(AddressOf RemoveRawPart)
End If
Return m_cmdRemoveRawPart
End Get
@@ -381,20 +374,16 @@ Public Class TopPanelVM
''' <summary>
''' Execute the Exec. This method is invoked by the ExecCommand.
''' </summary>
Public Sub RemoveRawPartCmd()
RemoveRawPart()
End Sub
Public Sub RemoveRawPart(Optional bAll As Boolean = False)
Public Sub RemoveRawPart()
If IsNothing(Map.refProdManagerVM.CurrProd) Then Return
' se tutti
If bAll Then
' se premuto shift
If (Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift Then
' cancello tutti
For Index = Map.refMachGroupPanelVM.MachGroupVMList.Count - 1 To 0 Step -1
Dim CurrMachGroup As MyMachGroupVM = Map.refMachGroupPanelVM.MachGroupVMList(Index)
' se barra gia' assegnata a supervisore, esco
If CurrMachGroup.nProduction_State >= ItemState.Assigned Then Continue For
CurrMachGroup.DeleteMachGroup(True)
CurrMachGroup.DeleteMachGroup()
Next
Else
Dim SelMachGroup As MyMachGroupVM = Map.refMachGroupPanelVM.SelectedMachGroup
@@ -403,7 +392,6 @@ Public Class TopPanelVM
If SelMachGroup.nProduction_State >= ItemState.Assigned Then Return
SelMachGroup.DeleteMachGroup()
End If
EgtDraw()
' se nessun grezzo, rimetto tutti i pezzi invisibili
If Map.refProjectVM.MachGroupPanelVM.MachGroupVMList.Count = 0 Then
Map.refProjectVM.BTLStructureVM.HideAll(True)
@@ -412,29 +400,6 @@ Public Class TopPanelVM
#End Region ' RemoveRawPart
#Region "RemoveAllRawPart"
''' <summary>
''' Returns a command that do Exec.
''' </summary>
Public ReadOnly Property RemoveAllRawPart_Command As ICommand
Get
If m_cmdRemoveAllRawPart Is Nothing Then
m_cmdRemoveAllRawPart = New Command(AddressOf RemoveAllRawPart)
End If
Return m_cmdRemoveAllRawPart
End Get
End Property
''' <summary>
''' Execute the Exec. This method is invoked by the ExecCommand.
''' </summary>
Public Sub RemoveAllRawPart()
RemoveRawPart(True)
End Sub
#End Region ' RemoveRawPart
#Region "RemovePart"
''' <summary>
@@ -179,8 +179,8 @@ Public Module CurrentMachine
' crea l'elenco dei parametri della macchina corrente
CreateMachParams()
' leggo parametri macchina da BeamData
If nType = MachineType.BEAM OrElse nType = MachineType.BOTH Then
' leggo parametri macchina da WallData
If nType = MachineType.BEAM Then
' Assegno i dati
EgtLuaCreateGlobTable("GWD")
EgtLuaSetGlobStringVar("GWD.BASEDIR", Map.refMainWindowVM.MainWindowM.sBeamRoot)
@@ -200,7 +200,7 @@ Public Module CurrentMachine
End If
If bOk Then
EgtLuaGetGlobNumVar("GWD.OVM_MID", m_dMinOffset)
Dim nTemp As Integer = 0
Dim nTemp As Integer
EgtLuaGetGlobIntVar("GWD.SIMUL_VIEW_DIR", nTemp)
Select Case nTemp
Case 0
@@ -222,9 +222,8 @@ Public Module CurrentMachine
EgtLuaResetGlobVar("GWD")
' aggiorno parametro in gestore viste
Core.ViewPanelVM.UpdateMachParam(m_nViewDir)
' leggo parametri macchina da WallData
ElseIf nType = MachineType.WALL Then
End If
If nType = MachineType.WALL Then
' Assegno i dati
EgtLuaCreateGlobTable("GWD")
EgtLuaSetGlobStringVar("GWD.BASEDIR", Map.refMainWindowVM.MainWindowM.sWallRoot)
@@ -244,11 +243,9 @@ Public Module CurrentMachine
End If
If bOk Then
EgtLuaGetGlobIntVar("GWD.HOR_DRILL_DIAM", m_dHorDrillDiam)
Dim nTemp As Integer = 0
Dim nTemp As Integer
EgtLuaGetGlobIntVar("GWD.SIMUL_VIEW_DIR", nTemp)
Select Case nTemp
Case 0
m_nViewDir = VT.ISO_SW
Case 1
m_nViewDir = VT.ISO_NW
Case 2
@@ -5,94 +5,94 @@ Imports EgtBEAMWALL.ViewerOptimizer
Public Module DbControllers
Friend m_SupervisorId As String = "1"
Private m_bNetwork As Boolean = False
Friend ReadOnly Property bNetwork As Boolean
Get
Return m_bNetwork
End Get
End Property
Friend m_SupervisorId As String = "1"
Private m_bNetwork As Boolean = False
Friend ReadOnly Property bNetwork As Boolean
Get
Return m_bNetwork
End Get
End Property
Public m_ProjController As DataLayer.Controllers.ProjController
Public m_ProdController As DataLayer.Controllers.ProdController
Public m_MachGroupController As DataLayer.Controllers.MachGroupController
Public m_StatusMapController As DataLayer.Controllers.StatusMapController
Public m_PartController As DataLayer.Controllers.PartController
Public m_ProjController As DataLayer.Controllers.ProjController
Public m_ProdController As DataLayer.Controllers.ProdController
Public m_MachGroupController As DataLayer.Controllers.MachGroupController
Public m_StatusMapController As DataLayer.Controllers.StatusMapController
Public m_PartController As DataLayer.Controllers.PartController
Sub Init()
End Sub
Sub Init()
End Sub
Sub New()
Sub New()
' se demo--> server = db.steamware.net, nKey e sKey come le hai...
' se demo--> server = db.steamware.net, nKey e sKey come le hai...
Dim sKey = "", sUser = "", sPwd = ""
Dim sKey = "", sUser = "", sPwd = ""
EgtGetKeyInfo(sKey)
sKey = sKey.Replace(" ", "")
If Not IsNothing(sKey) AndAlso sKey.Length > 11 Then
sUser = sKey.Substring(3, 6)
sPwd = sKey.Substring(10, sKey.Length - 10).Replace("(", "").Replace(")", "")
End If
Try
Dim DbAddress As String = "127.0.0.1"
Dim DbMasterKey As Integer = 0
Dim sDbMasterKey As String = ""
Dim sSharedFolder As String = ""
If Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.NETWORK) Then
GetMainPrivateProfileString(S_GENERAL, K_DBADDRESS, "", DbAddress)
DbMasterKey = GetMainPrivateProfileInt(S_GENERAL, K_DBMASTERKEY, 0)
If DbMasterKey > 0 Then
sDbMasterKey = DbMasterKey.ToString("000000")
EgtGetKeyInfo(sKey)
sKey = sKey.Replace(" ", "")
If Not IsNothing(sKey) AndAlso sKey.Length > 11 Then
sUser = sKey.Substring(3, 6)
sPwd = sKey.Substring(10, sKey.Length - 10).Replace("(", "").Replace(")", "")
End If
Try
Dim DbAddress As String = "127.0.0.1"
Dim DbMasterKey As Integer = 0
Dim sDbMasterKey As String = ""
Dim sSharedFolder As String = ""
If Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.NETWORK) Then
GetMainPrivateProfileString(S_GENERAL, K_DBADDRESS, "", DbAddress)
DbMasterKey = GetMainPrivateProfileInt(S_GENERAL, K_DBMASTERKEY, 0)
If DbMasterKey > 0 Then
sDbMasterKey = DbMasterKey.ToString("000000")
End If
If String.IsNullOrWhiteSpace(DbAddress) OrElse DbMasterKey <= 0 Then
DbAddress = "127.0.0.1"
DbMasterKey = 0
Else
m_bNetwork = True
End If
End If
If String.IsNullOrWhiteSpace(DbAddress) OrElse DbMasterKey <= 0 Then
DbAddress = "127.0.0.1"
DbMasterKey = 0
If Not m_bNetwork AndAlso Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.ANY_DB) Then
DbMasterKey = GetMainPrivateProfileInt(S_GENERAL, K_DBMASTERKEY, 0)
If DbMasterKey > 0 Then
sDbMasterKey = DbMasterKey.ToString("000000")
End If
ElseIf GetMainPrivateProfileInt(S_GENERAL, K_DBMASTERKEY, 0) = 0 Then
Dim nKey As Integer = 0
If Integer.TryParse(sKey.Substring(3, 6), nKey) AndAlso nKey > 0 Then
WriteMainPrivateProfileString(S_GENERAL, K_DBMASTERKEY, nKey)
End If
End If
DataLayer.DbConfig.InitDb(DbAddress, sUser, sPwd, sDbMasterKey)
DataLayer.DbConfig.SetupLogDir(Map.refMainWindowVM.MainWindowM.sTempDir)
DataLayer.DbConfig.CheckMigrateDb()
DataLayer.DbConfig.CheckUser(sUser, sPwd, Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.NETWORK))
DataLayer.DbConfig.CheckViews(sUser, sPwd)
If Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.NETWORK) And bNetwork Then
' imposto cartella condivisa
GetMainPrivateProfileString(S_GENERAL, K_SHAREDFOLDER, Map.refMainWindowVM.MainWindowM.sDataDir, sSharedFolder)
Map.refMainWindowVM.MainWindowM.UpdatePathForNetwork(sSharedFolder)
Dim sSupervisorMachName As String = ""
GetMainPrivateProfileString(S_MACH, K_SUPERVISORMACH, "", sSupervisorMachName)
If Not String.IsNullOrWhiteSpace(sSupervisorMachName) Then m_SupervisorId = sSupervisorMachName
ElseIf Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.ANY_DB) Then
' imposto cartella chiave master
Map.refMainWindowVM.MainWindowM.UpdatePathForKey(sDbMasterKey)
Else
m_bNetwork = True
' imposto cartella chiave locale
Map.refMainWindowVM.MainWindowM.UpdatePathForKey(sKey.Substring(3, 6))
End If
End If
If Not m_bNetwork AndAlso Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.ANY_DB) Then
DbMasterKey = GetMainPrivateProfileInt(S_GENERAL, K_DBMASTERKEY, 0)
If DbMasterKey > 0 Then
sDbMasterKey = DbMasterKey.ToString("000000")
End If
ElseIf GetMainPrivateProfileInt(S_GENERAL, K_DBMASTERKEY, 0) = 0 Then
Dim nKey As Integer = 0
If Integer.TryParse(sKey.Substring(3, 6), nKey) AndAlso nKey > 0 Then
WriteMainPrivateProfileString(S_GENERAL, K_DBMASTERKEY, nKey)
End If
End If
DataLayer.DbConfig.InitDb(DbAddress, sUser, sPwd, sDbMasterKey)
DataLayer.DbConfig.SetupLogDir(Map.refMainWindowVM.MainWindowM.sTempDir)
DataLayer.DbConfig.CheckMigrateDb()
DataLayer.DbConfig.CheckUser(sUser, sPwd, m_bNetwork AndAlso Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.NETWORK))
DataLayer.DbConfig.CheckViews(sUser, sPwd)
If m_bNetwork AndAlso Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.NETWORK) Then
' imposto cartella condivisa
GetMainPrivateProfileString(S_GENERAL, K_SHAREDFOLDER, Map.refMainWindowVM.MainWindowM.sDataDir, sSharedFolder)
Map.refMainWindowVM.MainWindowM.UpdatePathForNetwork(sSharedFolder)
Dim sSupervisorMachName As String = ""
GetMainPrivateProfileString(S_MACH, K_SUPERVISORMACH, "", sSupervisorMachName)
If Not String.IsNullOrWhiteSpace(sSupervisorMachName) Then m_SupervisorId = sSupervisorMachName
ElseIf Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.ANY_DB) Then
' imposto cartella chiave master
Map.refMainWindowVM.MainWindowM.UpdatePathForKey(sDbMasterKey)
Else
' imposto cartella chiave locale
Map.refMainWindowVM.MainWindowM.UpdatePathForKey(sKey.Substring(3, 6))
End If
Catch ex As Exception
EgtOutLog("InitDb error: " & ex.ToString())
MessageBox.Show(Application.Current.MainWindow, "Db connection error!!", "Error")
End
End Try
Catch ex As Exception
EgtOutLog("InitDb error: " & ex.ToString())
MessageBox.Show(Application.Current.MainWindow, "Db connection error!!", "Error")
End
End Try
m_ProjController = New DataLayer.Controllers.ProjController
m_ProdController = New DataLayer.Controllers.ProdController
m_MachGroupController = New DataLayer.Controllers.MachGroupController
m_StatusMapController = New DataLayer.Controllers.StatusMapController
m_PartController = New DataLayer.Controllers.PartController
End Sub
m_ProjController = New DataLayer.Controllers.ProjController
m_ProdController = New DataLayer.Controllers.ProdController
m_MachGroupController = New DataLayer.Controllers.MachGroupController
m_StatusMapController = New DataLayer.Controllers.StatusMapController
m_PartController = New DataLayer.Controllers.PartController
End Sub
End Module
@@ -99,6 +99,8 @@ Module LuaExec
EgtLuaSetGlobStringVar("NEST.BASEDIR", sRoot)
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)
@@ -117,6 +119,7 @@ Module LuaExec
End Select
EgtLuaSetGlobNumVar("NEST.CORNER", nNestCorner)
EgtLuaSetGlobStringVar("NEST.MATERIAL", PartList(0).sMATERIAL)
'EgtLuaSetGlobNumVar("NEST.QTY", nQty)
EgtLuaSetGlobNumVar("NEST.TIME", nNestTime)
EgtLuaSetGlobNumVar("NEST.PRODID", Map.refProdManagerVM.CurrProd.nProdId)
EgtLuaCreateGlobTable("PART")
@@ -125,19 +128,19 @@ Module LuaExec
Next
EgtLuaCreateGlobTable("LEN")
For SectionIndex = 0 To SectionList.Count - 1
EgtLuaSetGlobNumVar("LEN." & (SectionIndex + 1).ToString(), SectionList(SectionIndex).dL)
EgtLuaSetGlobNumVar("LEN." & SectionIndex + 1, SectionList(SectionIndex).dL)
Next
EgtLuaCreateGlobTable("WIDTH")
For SectionIndex = 0 To SectionList.Count - 1
EgtLuaSetGlobNumVar("WIDTH." & (SectionIndex + 1).ToString(), SectionList(SectionIndex).dW)
EgtLuaSetGlobNumVar("WIDTH." & SectionIndex + 1, SectionList(SectionIndex).dW)
Next
EgtLuaCreateGlobTable("QTY")
For SectionIndex = 0 To SectionList.Count - 1
EgtLuaSetGlobNumVar("QTY." & (SectionIndex + 1).ToString(), SectionList(SectionIndex).nQuantity)
EgtLuaSetGlobNumVar("QTY." & SectionIndex + 1, SectionList(SectionIndex).nQuantity)
Next
EgtLuaCreateGlobTable("MATERIAL")
For SectionIndex = 0 To SectionList.Count - 1
EgtLuaSetGlobStringVar("MATERIAL." & (SectionIndex + 1).ToString(), SectionList(SectionIndex).SectXMat.sSectionXMaterial)
EgtLuaSetGlobStringVar("MATERIAL." & SectionIndex + 1, SectionList(SectionIndex).SectXMat.sSectionXMaterial)
Next
' Eseguo lo script
Dim bOk As Boolean = False
@@ -250,124 +250,4 @@ Module WarehouseHelper
SectXMat.dW >= 0
End Function
Friend Function GetLastMaterial(SectXMat As SectionXMaterial) As SParam
Dim sWarehousePath As String = Map.refMainWindowVM.MainWindowM.sWarehouseDir & "\" & WH_MEDIUM_INI_FILE_NAME
If Map.refProjectVM.BTLStructureVM.nPROJTYPE = MachineType.BEAM Then
Dim ParamIndex As Integer = 1
Dim sSxMValue As String = ""
While EgtUILib.GetPrivateProfileString(S_BEAM_LIST, ParamIndex, String.Empty, sSxMValue, sWarehousePath) > 0
Dim sSectXMatValues() As String = sSxMValue.Split(","c)
' creo parametro
Dim dW As Double = 0
Dim dH As Double = 0
Dim sMaterial As String = sSectXMatValues(2)
StringToLen(sSectXMatValues(0), dW)
StringToLen(sSectXMatValues(1), dH)
If SectXMat.dW = dW AndAlso SectXMat.dH = dH AndAlso SectXMat.sMaterial(0) = sMaterial Then
If sSectXMatValues.Length <= 3 Then Return Nothing
Dim sValue As String = ""
If EgtUILib.GetPrivateProfileString(S_BEAM, "L" & sSectXMatValues(3), String.Empty, sValue, sWarehousePath) Then
Dim sParamValues() As String = sValue.Split(","c)
' verifico numero minimo di parametri
If sParamValues.Count < 2 Then Return Nothing
' cancello spazi
For Index = 0 To sParamValues.Count - 1
sParamValues(Index) = sParamValues(Index).Trim()
Next
Dim dL As Double = 0
Dim nQty As Integer = 0
Dim nActive As Integer = 1
StringToLen(sParamValues(1), dL)
If sParamValues.Count >= 3 Then Integer.TryParse(sParamValues(2), nQty)
If sParamValues.Count >= 4 Then Integer.TryParse(sParamValues(3), nActive)
Return New SParam(New SectionXMaterial(dW, dH, dL, sSectXMatValues(2)), dL, nQty, nActive > 0)
End If
End If
ParamIndex += 1
End While
End If
Return Nothing
End Function
Friend Sub SetLastMaterial(SectXMat As SectionXMaterial, SParam As SParam)
Dim sWarehousePath As String = Map.refMainWindowVM.MainWindowM.sWarehouseDir & "\" & WH_MEDIUM_INI_FILE_NAME
If Map.refProjectVM.BTLStructureVM.nPROJTYPE = MachineType.BEAM Then
' cerco sezione
Dim SectIndex As Integer = 1
Dim sSxMValue As String = ""
While EgtUILib.GetPrivateProfileString(S_BEAM_LIST, SectIndex, String.Empty, sSxMValue, sWarehousePath) > 0
Dim sSectXMatValues() As String = sSxMValue.Split(","c)
' creo parametro
Dim dW As Double = 0
Dim dH As Double = 0
Dim sMaterial As String = sSectXMatValues(2)
StringToLen(sSectXMatValues(0), dW)
StringToLen(sSectXMatValues(1), dH)
If SectXMat.dW = dW AndAlso SectXMat.dH = dH AndAlso SectXMat.sMaterial(0) = sMaterial Then
' recupero indice di SParam
Dim SParamIndex As Integer = 1
Dim sValue As String = ""
While EgtUILib.GetPrivateProfileString(S_BEAM, "L" & SParamIndex, String.Empty, sValue, sWarehousePath)
Dim sParamValues() As String = sValue.Split(","c)
' verifico numero minimo di parametri
If sParamValues.Count < 2 Then Return
' cancello spazi
For Index = 0 To sParamValues.Count - 1
sParamValues(Index) = sParamValues(Index).Trim()
Next
Dim dL As Double = 0
Dim nSectIndex As Integer = sParamValues(0)
Dim nQty As Integer = 0
Dim nActive As Integer = 1
StringToLen(sParamValues(1), dL)
If sParamValues.Count >= 3 Then Integer.TryParse(sParamValues(2), nQty)
If sParamValues.Count >= 4 Then Integer.TryParse(sParamValues(3), nActive)
Dim bActive As Boolean = nActive = 1
If dL = SParam.dL AndAlso nQty = SParam.nQuantity AndAlso bActive = SParam.bActive Then
' scrivo indice ultimo materiale
EgtUILib.WritePrivateProfileString(S_BEAM_LIST, SectIndex, LenToString(dW, 3) & "," &
LenToString(dH, 3) & "," &
sMaterial & "," &
SParamIndex, sWarehousePath)
End If
SParamIndex += 1
End While
End If
SectIndex += 1
End While
End If
End Sub
Friend Function GetSectIndexFromSection(Type As BWType, Section As SectionXMaterial) As Integer
Dim nIndex As Integer = 1
Dim sSectionData As String = ""
While GetPrivateProfileString(If(Type = BWType.BEAM, S_BEAM_LIST, S_WALL_LIST), nIndex, "", sSectionData, GetWarehouseIniPath()) > 0
If String.IsNullOrWhiteSpace(sSectionData) Then Continue While
Dim sSectionValues() As String = sSectionData.Split(","c)
Select Case Type
Case BWType.BEAM
Dim dW As Double = 0
Dim dH As Double = 0
Dim sMaterial As String = sSectionValues(2)
StringToLen(sSectionValues(0), dW)
StringToLen(sSectionValues(1), dH)
If Section.dW = dW AndAlso Section.dH = dH AndAlso Section.sMaterial(0) = sMaterial Then
' se l'ho trovato esco dal while, il SectXMatIndex è l'indice che cercavamo
Return nIndex
End If
Case BWType.WALL
Dim dH As Double = 0
Dim sMaterial As String = sSectionValues(1)
StringToLen(sSectionValues(0), dH)
If Section.dH = dH AndAlso Section.sMaterial(0) = sMaterial Then
' se l'ho trovato esco dal while, il SectXMatIndex è l'indice che cercavamo
Return nIndex
End If
End Select
nIndex += 1
End While
Return -1
End Function
End Module
@@ -518,10 +518,7 @@ Public Class WarehouseWndVM
SParamList = New ObservableCollection(Of SParam)
SectionXMaterialList = New ObservableCollection(Of SectionXMaterial)(GetSectionXMaterialsFromWarehouse())
While EgtUILib.GetPrivateProfileString(S_BEAM, "L" & ParamIndex, String.Empty, sValue, sWarehousePath)
Dim SParam = GetSParamFromWarehouse(ParamIndex)
If Not IsNothing(SParam) Then
SParamList.Add(SParam)
End If
SParamList.Add(GetSParamFromWarehouse(ParamIndex))
ParamIndex += 1
End While
@@ -682,32 +679,21 @@ Public Class WarehouseWndVM
Dim sL As String = String.Empty
sL = LenToString(SParamList(ParamIndex - 1).dL, 3)
' ricavo l'indice del SecionXMaterial dalla Beam_List
Dim SectXMatIndex As Integer = GetSectIndexFromSection(MachineType.BEAM, SParamList(ParamIndex - 1).SectXMat)
'Dim sSxMValue As String = ""
'While EgtUILib.GetPrivateProfileString(S_BEAM_LIST, SectXMatIndex, String.Empty, sSxMValue, sWarehousePath)
' Dim sSectXMatValues() As String = sSxMValue.Split(","c)
' ' creo parametro
' Dim dW As Double = 0
' Dim dH As Double = 0
' Dim sMaterial As String = sSectXMatValues(2)
' StringToLen(sSectXMatValues(0), dW)
' StringToLen(sSectXMatValues(1), dH)
' If SParamList(ParamIndex - 1).SectXMat.dW = dW AndAlso SParamList(ParamIndex - 1).SectXMat.dH = dH AndAlso SParamList(ParamIndex - 1).SectXMat.sMaterial(0) = sMaterial Then
' ' se l'ho trovato esco dal while, il SectXMatIndex è l'indice che cercavamo
' Exit While
' End If
' SectXMatIndex += 1
'End While
If SectXMatIndex > 0 Then
WritePrivateProfileString(S_BEAM, K_L & ParamIndex,
Dim SectXMatIndex As Integer = 1
Dim sSxMValue As String = ""
While EgtUILib.GetPrivateProfileString(S_BEAM_LIST, SectXMatIndex, String.Empty, sSxMValue, sWarehousePath)
If sSxMValue = SParamList(ParamIndex - 1).sValue Then
' se l'ho trovato esco dal while, il SectXMatIndex è l'indice che cercavamo
Exit While
End If
SectXMatIndex += 1
End While
WritePrivateProfileString(S_BEAM, K_L & ParamIndex,
SectXMatIndex & "," & sL & "," & SParamList(ParamIndex - 1).nQuantity & "," & If(SParamList(ParamIndex - 1).bActive, 1, 0),
sWarehousePath)
ParamIndex += 1
Else
EgtOutLog("Error in material creation, section not found!")
End If
ParamIndex += 1
Next
' Se ci sono parametri da rimuovere li rimuovo
For Index = ParamIndex To ParamIndex + m_RemovedParamsCount
@@ -749,23 +735,20 @@ Public Class WarehouseWndVM
sL = LenToString(SParamList(ParamIndex - 1).dL, 3)
' ricavo l'indice del SecionXMaterial dalla Wall_List
Dim SectXMatIndex As Integer = GetSectIndexFromSection(MachineType.WALL, SParamList(ParamIndex - 1).SectXMat)
'Dim sSxMValue As String = ""
'While EgtUILib.GetPrivateProfileString(S_WALL_LIST, SectXMatIndex, String.Empty, sSxMValue, sWarehousePath)
' If sSxMValue = SParamList(ParamIndex - 1).sValue Then
' ' se l'ho trovato esco dal while, il SectXMatIndex è l'indice che cercavamo
' Exit While
' End If
' SectXMatIndex += 1
'End While
If SectXMatIndex > 0 Then
WritePrivateProfileString(S_WALL, K_S & ParamIndex,
Dim SectXMatIndex As Integer = 1
Dim sSxMValue As String = ""
While EgtUILib.GetPrivateProfileString(S_WALL_LIST, SectXMatIndex, String.Empty, sSxMValue, sWarehousePath)
If sSxMValue = SParamList(ParamIndex - 1).sValue Then
' se l'ho trovato esco dal while, il SectXMatIndex è l'indice che cercavamo
Exit While
End If
SectXMatIndex += 1
End While
WritePrivateProfileString(S_WALL, K_S & ParamIndex,
SectXMatIndex & "," & sW & "," & sL & "," & SParamList(ParamIndex - 1).nQuantity & "," & If(SParamList(ParamIndex - 1).bActive, 1, 0),
sWarehousePath)
ParamIndex += 1
Else
EgtOutLog("Error in material creation, section not found!")
End If
ParamIndex += 1
Next
' Se ci sono parametri da rimuovere li rimuovo
For Index = ParamIndex To ParamIndex + m_RemovedParamsCount
@@ -1101,9 +1084,7 @@ Public Class WarehouseWndVM
Dim dH As Double = 0
StringToLen(sSectXMatValues(0), dW)
StringToLen(sSectXMatValues(1), dH)
If Not SectXMatList.Any(Function(x) x.dW = dW AndAlso x.dH = dH AndAlso x.sMaterial(0) = sSectXMatValues(2)) Then
SectXMatList.Add(New SectionXMaterial(dW, dH, 0, sSectXMatValues(2)))
End If
SectXMatList.Add(New SectionXMaterial(dW, dH, 0, sSectXMatValues(2)))
sSectXMatIndex += 1
End While
ElseIf Map.refProjectVM.BTLStructureVM.nPROJTYPE = MachineType.WALL Then
@@ -1115,9 +1096,7 @@ Public Class WarehouseWndVM
' creo parametro
Dim dH As Double = 0
StringToLen(sSectXMatValues(0), dH)
If Not SectXMatList.Any(Function(x) x.dH = dH AndAlso x.sMaterial(0) = sSectXMatValues(1)) Then
SectXMatList.Add(New SectionXMaterial(0, dH, 0, sSectXMatValues(1)))
End If
SectXMatList.Add(New SectionXMaterial(0, dH, 0, sSectXMatValues(1)))
sSectXMatIndex += 1
End While
End If

Some files were not shown because too many files have changed in this diff Show More