- aggiunta attivazione edit da file ini
- gestione lettura e scrittura variabile E30099 su axium con PcToolkit - Impostata modifica duplo su aggiungi, copia e rimuovi feature - aggiunto tempo di lavorazione pezzo in PartManager - correzione su lista mru dei prod nuovi non ancora salvati
This commit is contained in:
@@ -40,6 +40,7 @@ Public Module ConstIni
|
||||
Public Const K_DBMASTERKEY As String = "DbMasterKey"
|
||||
Public Const K_UPDATEBTL As String = "UpdateBtl"
|
||||
Public Const K_DATADIR As String = "DataDir"
|
||||
Public Const K_ENABLEEDIT As String = "EnableEdit"
|
||||
|
||||
'Public Const S_LANGUAGES As String = "Languages"
|
||||
'Public Const K_LANGUAGE As String = "Language"
|
||||
|
||||
@@ -45,7 +45,7 @@ Public Class NUMAxiumPcToolkitComm
|
||||
E30000 = 30 ' aggiunto da noi, non presente nella documentazione Num e gestito a parte rispetto agli altri
|
||||
End Enum
|
||||
|
||||
Const R1 = &HA401, R2 = &HA402
|
||||
Const R1 = &HA401, R2 = &HA402, RL = &HA442
|
||||
Const VL = &HA042
|
||||
|
||||
Public Structure My_data_struct
|
||||
@@ -120,6 +120,10 @@ Public Class NUMAxiumPcToolkitComm
|
||||
Private Shared Function ReadLadderVar(ByVal Port As Int16, ByVal qui As UInt16, ByVal First As UInt16, ByVal Quantity As UInt16, ByRef pData As My_data_struct, ByVal Mode As UInt16) As Int16
|
||||
End Function
|
||||
|
||||
<System.Runtime.InteropServices.DllImport("dnc2.dll")>
|
||||
Private Shared Function WriteLadderVar(ByVal Port As Int16, ByVal qui As UInt16, ByVal First As UInt16, ByVal Quantity As UInt16, ByRef pData As Integer) As Int16
|
||||
End Function
|
||||
|
||||
<System.Runtime.InteropServices.DllImport("dnc2.dll")>
|
||||
Private Shared Function ReadObjectVarious4(ByVal Port As Int16, ByVal qui As UInt16, ByVal First As UInt16, ByVal Quantity As UInt16, ByRef pData As My_data_struct, ByVal Mode As UInt16) As Int16
|
||||
End Function
|
||||
@@ -346,6 +350,11 @@ Public Class NUMAxiumPcToolkitComm
|
||||
End Sub
|
||||
|
||||
Friend Sub Start()
|
||||
' Annullo variabile E30099 per trasferimento programmi
|
||||
Dim SendPermissionVariable As Variable = Map.refMachCommandMessagePanelVM.MainVariablesList.FirstOrDefault(Function(x) x.sName = SENDPERMISSION)
|
||||
If Not IsNothing(SendPermissionVariable) Then
|
||||
SendPermissionVariable.sValue = 0
|
||||
End If
|
||||
Dim nRet As Int16 = -1
|
||||
nRet = StartNC(nPortCommands)
|
||||
If nRet <> 0 Then
|
||||
@@ -457,19 +466,29 @@ Public Class NUMAxiumPcToolkitComm
|
||||
Try
|
||||
Dim dValue As Double = 0
|
||||
StringToDouble(value, dValue)
|
||||
Dim nType As eVarious4
|
||||
Dim nValue As Integer = 0
|
||||
Dim sAddressNumber As Integer = Address.Substring(1)
|
||||
Dim nAddressNumber As Integer = 0
|
||||
If Not Integer.TryParse(sAddressNumber, nAddressNumber) Then Return
|
||||
If nAddressNumber >= 30000 AndAlso nAddressNumber < 40000 Then
|
||||
nType = eVarious4.E30000
|
||||
nAddressNumber -= 30000
|
||||
End If
|
||||
Dim Group As UInt16 = 0
|
||||
If Not Integer.TryParse(value, nValue) Then Return
|
||||
EgtOutLog("WritePLCVariables - nType: " & nType & " nFirst: " & nAddressNumber & " Data: " & nValue)
|
||||
Dim rc As Short = DNC20_WriteE5E6(nPortVariables, Group, 3, nAddressNumber, nValue, SYN)
|
||||
Select Case Address
|
||||
Case "E30099" ' in realta' per scrivere si usa la %RD0C.L
|
||||
Dim nRes = WriteLadderVar(nPortVariables, RL, &HD0C, 1, dValue)
|
||||
EgtOutLog("Scrittura E30099 - result " & nRes)
|
||||
Case Else ' E30000
|
||||
Dim nType As eVarious4
|
||||
Dim nValue As Integer = 0
|
||||
Dim sAddressNumber As Integer = Address.Substring(1)
|
||||
Dim nAddressNumber As Integer = 0
|
||||
If Not Integer.TryParse(sAddressNumber, nAddressNumber) Then Return
|
||||
If nAddressNumber >= 30000 AndAlso nAddressNumber < 40000 Then
|
||||
nType = eVarious4.E30000
|
||||
nAddressNumber -= 30000
|
||||
End If
|
||||
Dim Group As UInt16 = 0
|
||||
Dim ParType As UInt16 = 3
|
||||
Dim ParPos As UInt16 = nAddressNumber
|
||||
If Not Integer.TryParse(value, nValue) Then Return
|
||||
EgtOutLog("WritePLCVariables - nType: " & nType & " nFirst: " & nAddressNumber & " Data: " & nValue)
|
||||
EgtOutLog("WritePLCVariables - nPortVariables: " & nPortVariables & " Group: " & Group & " ParType: " & ParType & " ParPos: " & ParPos & " nValue: " & nValue)
|
||||
Dim rc As Short = DNC20_WriteE5E6(nPortVariables, Group, ParType, ParPos, nValue, SYN)
|
||||
EgtOutLog("WritePLCVariables - return value: " & rc)
|
||||
End Select
|
||||
|
||||
'If rc <> 0 Then EgtOutLog(" objDVariables.WriteVariables2() Error : " & rc)
|
||||
|
||||
@@ -516,32 +535,37 @@ Public Class NUMAxiumPcToolkitComm
|
||||
ElseIf nAddressNumber >= 80000 Then
|
||||
nType = eVarious4.E80000
|
||||
nAddressNumber -= 80000
|
||||
ElseIf nAddressNumber >= 30000 Then
|
||||
nType = eVarious4.E30000
|
||||
nAddressNumber -= 30000
|
||||
'ElseIf nAddressNumber >= 30000 Then
|
||||
' nType = eVarious4.E30000
|
||||
' nAddressNumber -= 30000
|
||||
' EgtOutLog("E30000 var trovata")
|
||||
End If
|
||||
If nType = eVarious4.E30000 Then
|
||||
Dim Group As UInt16 = 0
|
||||
Dim nVal As Int32
|
||||
Dim ObjectList As New tDNC20_ObjectList With {.ElemNum = 3,
|
||||
.First = nAddressNumber,
|
||||
.Quantity = 1}
|
||||
nret = DNC20_ReadExxxxx(nPortVariables, Group, 1, ObjectList, nVal, SYN)
|
||||
If nret = 0 Then
|
||||
Var.SetValue(nVal)
|
||||
End If
|
||||
Else
|
||||
nret = ReadObjectVarious4(nPortVariables, nType, nAddressNumber, 1, MyData, SYN)
|
||||
If nret = 0 Then
|
||||
'Var.SetValue(MyData.data(0))
|
||||
'Dim NewBytes(3) As Byte
|
||||
'For nBIndex = 3 To 0 Step -1
|
||||
' NewBytes(3 - nBIndex) = MyData.data(nBIndex)
|
||||
'Next
|
||||
Dim nVal As Integer = BitConverter.ToInt32(MyData.data, 0)
|
||||
Var.SetValue(nVal)
|
||||
End If
|
||||
'If nType = eVarious4.E30000 Then
|
||||
' Dim Group As UInt16 = 0
|
||||
' Dim nVal As Int32
|
||||
' Dim ObjectList As New tDNC20_ObjectList With {.ElemNum = 3,
|
||||
' .First = nAddressNumber,
|
||||
' .Quantity = 1}
|
||||
' EgtOutLog("E30000 var trovata, valori: " & nPortVariables & " " & Group & "" & ObjectList.First & " " & nVal)
|
||||
|
||||
' nret = DNC20_ReadExxxxx(nPortVariables, Group, 1, ObjectList, nVal, SYN)
|
||||
' EgtOutLog("E30000 var risultato: " & nret)
|
||||
' If nret = 0 Then
|
||||
' Var.SetValue(nVal)
|
||||
' EgtOutLog("E30000 var assegnata: " & nVal)
|
||||
' End If
|
||||
'Else
|
||||
nret = ReadObjectVarious4(nPortVariables, nType, nAddressNumber, 1, MyData, SYN)
|
||||
If nret = 0 Then
|
||||
'Var.SetValue(MyData.data(0))
|
||||
'Dim NewBytes(3) As Byte
|
||||
'For nBIndex = 3 To 0 Step -1
|
||||
' NewBytes(3 - nBIndex) = MyData.data(nBIndex)
|
||||
'Next
|
||||
Dim nVal As Integer = BitConverter.ToInt32(MyData.data, 0)
|
||||
Var.SetValue(nVal)
|
||||
End If
|
||||
'End If
|
||||
'EgtOutLog("Variabile: " & Var.sAddress & " Tipo: " & nType & " NAddres: " & nAddressNumber & " Valore: " & nVal)
|
||||
ElseIf Var.nType = CommVar.Types.PLC Then
|
||||
Dim nRet As Short = -1
|
||||
@@ -573,9 +597,34 @@ Public Class NUMAxiumPcToolkitComm
|
||||
Case "%V814.L"
|
||||
nRet = ReadLadderVar(nPortVariables, VL, &H814, 4, MyData, SYN)
|
||||
nRes = BitConverter.ToInt32(MyData.data, 0)
|
||||
Case Else
|
||||
Dim nType As eVarious4
|
||||
Dim sAddressNumber As Integer = Var.sAddress.Substring(1)
|
||||
Dim nAddressNumber As Integer = 0
|
||||
If Not Integer.TryParse(sAddressNumber, nAddressNumber) Then Return
|
||||
If nAddressNumber >= 30000 Then
|
||||
nType = eVarious4.E30000
|
||||
nAddressNumber -= 30000
|
||||
'EgtOutLog("E30000 var trovata")
|
||||
End If
|
||||
If nType = eVarious4.E30000 Then
|
||||
Dim Group As UInt16 = 0
|
||||
Dim ObjectList As New tDNC20_ObjectList With {.ElemNum = 3,
|
||||
.First = nAddressNumber,
|
||||
.Quantity = 1}
|
||||
EgtOutLog("E30000 var trovata, valori: " & nPortVariables & " " & Group & "" & ObjectList.First & " " & nRes)
|
||||
|
||||
nRet = DNC20_ReadExxxxx(nPortVariables, Group, 1, ObjectList, nRes, SYN)
|
||||
EgtOutLog("E30000 var risultato: " & nRet)
|
||||
If nRet = 0 Then
|
||||
Var.SetValue(nRes)
|
||||
EgtOutLog("E30000 var assegnata: " & nRes)
|
||||
End If
|
||||
End If
|
||||
End Select
|
||||
If nRet = 0 Then
|
||||
EgtOutLog("Variabile: " & Var.sAddress & "DVal: " & nRes & " Valore: " & MyData.data(0) & "," & MyData.data(1) & "," & MyData.data(2) & "," & MyData.data(3))
|
||||
'EgtOutLog("Variabile: " & Var.sAddress & "DVal: " & nRes & " Valore: " & MyData.data(0) & "," & MyData.data(1) & "," & MyData.data(2) & "," & MyData.data(3))
|
||||
EgtOutLog("Variabile: " & Var.sAddress & "DVal: " & nRes)
|
||||
Var.SetValue(nRes)
|
||||
End If
|
||||
End If
|
||||
@@ -592,17 +641,24 @@ Public Class NUMAxiumPcToolkitComm
|
||||
Dim SendPermissionVariable As Variable = Map.refMachCommandMessagePanelVM.MainVariablesList.FirstOrDefault(Function(x) x.sName = SENDPERMISSION)
|
||||
Dim dTemp As Double = 0
|
||||
Dim nSendPermission As Integer = 0
|
||||
EgtOutLog("Inizio invio programma")
|
||||
While nSendPermission <> 2
|
||||
Dim bFirstWriteOne = True
|
||||
EgtOutLog("Inizio ciclo verifica diverso da 2")
|
||||
' leggo valore
|
||||
If Not IsNothing(SendPermissionVariable.sValue) Then
|
||||
StringToDouble(SendPermissionVariable.sValue, dTemp)
|
||||
Integer.TryParse(dTemp, nSendPermission)
|
||||
EgtOutLog("Lettura variabile E30099: " & nSendPermission)
|
||||
Else
|
||||
EgtOutLog("nSendPermission = -1")
|
||||
nSendPermission = -1
|
||||
End If
|
||||
' se uguale a zero ci scrivo uno
|
||||
If nSendPermission = 0 Then
|
||||
If nSendPermission = 0 And bFirstWriteOne Then
|
||||
bFirstWriteOne = False
|
||||
SendPermissionVariable.sValue = 1
|
||||
EgtOutLog("Scrittura variabile E30099 = 1")
|
||||
End If
|
||||
Threading.Thread.Sleep(1000)
|
||||
End While
|
||||
@@ -650,6 +706,7 @@ Public Class NUMAxiumPcToolkitComm
|
||||
End If
|
||||
End If
|
||||
nRes = DownLoadFileAsyn(nPortFileTransfer, nFileType, sFilePath, DNC_MODE_ABORT, nIndex)
|
||||
SendPermissionVariable.sValue = 0
|
||||
m_BytesTransferedCounter = 0
|
||||
m_bIsTransferActive = False
|
||||
Return
|
||||
|
||||
@@ -95,6 +95,12 @@ Public Class CALCPanelVM
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property Edit_Visibility As Visibility
|
||||
Get
|
||||
Return If(Map.refMainMenuVM.SelPage = Pages.VIEW AndAlso GetMainPrivateProfileInt(S_GENERAL, K_ENABLEEDIT, 0) = 1, Visibility.Visible, Visibility.Collapsed)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property Verify_IsEnabled As Boolean
|
||||
Get
|
||||
Return If(Map.refMainMenuVM.SelPage = Pages.VIEW,
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
Style="{StaticResource ToolBar_Button}"
|
||||
Command="{Binding Edit_Command}"
|
||||
IsEnabled="{Binding Edit_IsEnabled}"
|
||||
Visibility="{Binding ViewPage_Visibility}">
|
||||
Visibility="{Binding Edit_Visibility}">
|
||||
<Image Source="/Resources/CALCPanel/Edit.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button ToolTip="{Binding ChooseMachine_ToolTip}"
|
||||
|
||||
@@ -890,6 +890,9 @@
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\TopPanel\MovePartInRawPart.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\PartManager\Clock.png" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\EgtBEAMWALL\EgtBEAMWALL.ViewerOptimizerR32.exe
|
||||
|
||||
@@ -1004,7 +1004,8 @@ Public Class LeftPanelVM
|
||||
' creo copia
|
||||
Dim NewFeature = SelFeature.Copy()
|
||||
If Not IsNothing(NewFeature) Then
|
||||
Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM = Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLFeatureVMList.FirstOrDefault(Function(x) x.BTLFeatureM Is NewFeature)
|
||||
SelPart.SelBTLFeatureVM = Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLFeatureVMList.FirstOrDefault(Function(x) x.BTLFeatureM Is NewFeature)
|
||||
EgtDuploSetModified(SelPart.nPartId)
|
||||
End If
|
||||
SelPart.ResetCalcPart()
|
||||
End Sub
|
||||
@@ -1104,6 +1105,7 @@ Public Class LeftPanelVM
|
||||
End If
|
||||
' se è stata creata
|
||||
If nNewFeatureId <> GDB_ID.NULL Then
|
||||
EgtDuploSetModified(Map.refProjectVM.BTLStructureVM.SelBTLPart.nPartId)
|
||||
' la aggiungo a struttura BTL corrente
|
||||
NewFeat = BTLFeatureM.CreateBTLFeature(Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLPartM, nNewFeatureId)
|
||||
If Not bMacroFlag Then NewFeat.SetDefaultValues()
|
||||
@@ -1138,7 +1140,8 @@ Public Class LeftPanelVM
|
||||
If IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLPart) Then Return
|
||||
If IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM) Then Return
|
||||
If EgtBeamEraseProcess(Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM.nFeatureId) Then
|
||||
' rimuovo dalla lista pezzi
|
||||
EgtDuploSetModified(Map.refProjectVM.BTLStructureVM.SelBTLPart.nPartId)
|
||||
' rimuovo dalla lista feature
|
||||
Dim Index As Integer = Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLFeatureVMList.IndexOf(Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM)
|
||||
If Index = 0 Then
|
||||
If Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLFeatureVMList.Count > 0 Then
|
||||
|
||||
@@ -1,104 +1,116 @@
|
||||
<StackPanel x:Class="PartManagerV"
|
||||
<Grid x:Class="PartManagerV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||
xmlns:EgtBEAMWALL="clr-namespace:EgtBEAMWALL.ViewerOptimizer"
|
||||
Orientation="Horizontal"
|
||||
Height="28"
|
||||
IsEnabled="{Binding PartManager_IsEnabled}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="BTL Qty"
|
||||
Style="{StaticResource OptionTextBlock}"/>
|
||||
<TextBlock Text="{Binding Tag.sCNT,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartManagerV}},
|
||||
UpdateSourceTrigger=Explicit}"
|
||||
Width="25"
|
||||
Style="{StaticResource OptionTextBlock}"/>
|
||||
<TextBlock Text="Added Qty"
|
||||
Style="{StaticResource OptionTextBlock}"/>
|
||||
<EgtWPFLib5:EgtTextBox Text="{Binding Tag.sADDED,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartManagerV}},
|
||||
UpdateSourceTrigger=Explicit}"
|
||||
Width="25"/>
|
||||
<TextBlock Text="W"
|
||||
Style="{StaticResource OptionTextBlock}"/>
|
||||
<EgtWPFLib5:EgtTextBox Text="{Binding Tag.sW,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartManagerV}},
|
||||
UpdateSourceTrigger=Explicit}" Width="45"/>
|
||||
<TextBlock Text="H"
|
||||
Style="{StaticResource OptionTextBlock}"/>
|
||||
<EgtWPFLib5:EgtTextBox Text="{Binding Tag.sH,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartManagerV}},
|
||||
UpdateSourceTrigger=Explicit}" Width="45"/>
|
||||
<TextBlock Text="L"
|
||||
Style="{StaticResource OptionTextBlock}"/>
|
||||
<EgtWPFLib5:EgtTextBox Text="{Binding Tag.sL,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartManagerV}},
|
||||
UpdateSourceTrigger=Explicit}" Width="65"/>
|
||||
<TextBlock Text="Inverti"
|
||||
Style="{StaticResource OptionTextBlock}"
|
||||
Margin="10,0,0,0"/>
|
||||
<Image IsEnabled="{Binding Tag.bLockInversion,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartManagerV}}}"
|
||||
Height="15"
|
||||
Stretch="Uniform"
|
||||
Visibility="{Binding Lock_Visibility}"
|
||||
Style="{StaticResource LockImage}"/>
|
||||
|
||||
<TextBlock Text="BTL Qty"
|
||||
Style="{StaticResource OptionTextBlock}"/>
|
||||
<TextBlock Text="{Binding Tag.sCNT,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartManagerV}},
|
||||
UpdateSourceTrigger=Explicit}"
|
||||
Width="25"
|
||||
Style="{StaticResource OptionTextBlock}"/>
|
||||
<TextBlock Text="Added Qty"
|
||||
Style="{StaticResource OptionTextBlock}"/>
|
||||
<EgtWPFLib5:EgtTextBox Text="{Binding Tag.sADDED,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartManagerV}},
|
||||
UpdateSourceTrigger=Explicit}"
|
||||
Width="25"/>
|
||||
<TextBlock Text="W"
|
||||
Style="{StaticResource OptionTextBlock}"/>
|
||||
<EgtWPFLib5:EgtTextBox Text="{Binding Tag.sW,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartManagerV}},
|
||||
UpdateSourceTrigger=Explicit}" Width="45"/>
|
||||
<TextBlock Text="H"
|
||||
Style="{StaticResource OptionTextBlock}"/>
|
||||
<EgtWPFLib5:EgtTextBox Text="{Binding Tag.sH,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartManagerV}},
|
||||
UpdateSourceTrigger=Explicit}" Width="45"/>
|
||||
<TextBlock Text="L"
|
||||
Style="{StaticResource OptionTextBlock}"/>
|
||||
<EgtWPFLib5:EgtTextBox Text="{Binding Tag.sL,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartManagerV}},
|
||||
UpdateSourceTrigger=Explicit}" Width="65"/>
|
||||
<TextBlock Text="Inverti"
|
||||
Style="{StaticResource OptionTextBlock}"
|
||||
Margin="10,0,0,0"/>
|
||||
<Image IsEnabled="{Binding Tag.bLockInversion,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartManagerV}}}"
|
||||
Height="15"
|
||||
Stretch="Uniform"
|
||||
Visibility="{Binding Lock_Visibility}"
|
||||
Style="{StaticResource LockImage}"/>
|
||||
<Button Command="{Binding Tag.Invert_Command,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartManagerV}}}"
|
||||
Style="{StaticResource ToolBar_SmallButton}"
|
||||
Margin="5,0,0,0">
|
||||
<Image Source="/Resources/PartManager/LeftInvert.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<TextBlock Text="{Binding Tag.sINVERTED,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartManagerV}}}"
|
||||
TextAlignment="Center"
|
||||
Width="25"
|
||||
Style="{StaticResource OptionTextBlock}"/>
|
||||
<Button Command="{Binding Tag.Invert_Command,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartManagerV}}}"
|
||||
Style="{StaticResource ToolBar_SmallButton}"
|
||||
Margin="0,0,5,0">
|
||||
<Image Source="/Resources/PartManager/RightInvert.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<TextBlock Text="Ruota"
|
||||
Style="{StaticResource OptionTextBlock}"
|
||||
Margin="10,0,0,0"/>
|
||||
<Image IsEnabled="{Binding Tag.bLockRotation,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartManagerV}}}"
|
||||
Height="15"
|
||||
Stretch="Uniform"
|
||||
Visibility="{Binding Lock_Visibility}"
|
||||
Style="{StaticResource LockImage}"/>
|
||||
|
||||
<Button Command="{Binding Tag.Invert_Command,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartManagerV}}}"
|
||||
Style="{StaticResource ToolBar_SmallButton}"
|
||||
Margin="5,0,0,0">
|
||||
<Image Source="/Resources/PartManager/LeftInvert.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<TextBlock Text="{Binding Tag.sINVERTED,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartManagerV}}}"
|
||||
TextAlignment="Center"
|
||||
Width="25"
|
||||
Style="{StaticResource OptionTextBlock}"/>
|
||||
<Button Command="{Binding Tag.Invert_Command,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartManagerV}}}"
|
||||
Style="{StaticResource ToolBar_SmallButton}"
|
||||
Margin="0,0,5,0">
|
||||
<Image Source="/Resources/PartManager/RightInvert.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<TextBlock Text="Ruota"
|
||||
Style="{StaticResource OptionTextBlock}"
|
||||
Margin="10,0,0,0"/>
|
||||
<Image IsEnabled="{Binding Tag.bLockRotation,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartManagerV}}}"
|
||||
Height="15"
|
||||
Stretch="Uniform"
|
||||
Visibility="{Binding Lock_Visibility}"
|
||||
Style="{StaticResource LockImage}"/>
|
||||
<Button Command="{Binding Tag.BackRotation_Command,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartManagerV}}}"
|
||||
Style="{StaticResource ToolBar_SmallButton}"
|
||||
Margin="5,0,0,0">
|
||||
<Image Source="/Resources/PartManager/LeftRotate.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<TextBlock Text="{Binding Tag.sROTATED,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartManagerV}}}"
|
||||
TextAlignment="Center"
|
||||
Width="25"
|
||||
Style="{StaticResource OptionTextBlock}"/>
|
||||
<Button Command="{Binding Tag.ForwardRotation_Command,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartManagerV}}}"
|
||||
Style="{StaticResource ToolBar_SmallButton}"
|
||||
Margin="0,0,10,0">
|
||||
<Image Source="/Resources/PartManager/RightRotate.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
|
||||
<Button Command="{Binding Tag.BackRotation_Command,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartManagerV}}}"
|
||||
Style="{StaticResource ToolBar_SmallButton}"
|
||||
Margin="5,0,0,0">
|
||||
<Image Source="/Resources/PartManager/LeftRotate.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<TextBlock Text="{Binding Tag.sROTATED,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartManagerV}}}"
|
||||
TextAlignment="Center"
|
||||
Width="25"
|
||||
Style="{StaticResource OptionTextBlock}"/>
|
||||
<Button Command="{Binding Tag.ForwardRotation_Command,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartManagerV}}}"
|
||||
Style="{StaticResource ToolBar_SmallButton}"
|
||||
Margin="0,0,10,0">
|
||||
<Image Source="/Resources/PartManager/RightRotate.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
|
||||
<!--Comando inutilizzato ma conservato per eventuale rotazione a causa di importazione con rotazione sbagliata-->
|
||||
<!--<Button Command="{Binding Tag.XRotation_Command,
|
||||
<!--Comando inutilizzato ma conservato per eventuale rotazione a causa di importazione con rotazione sbagliata-->
|
||||
<!--<Button Command="{Binding Tag.XRotation_Command,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartManagerV}}}"
|
||||
Style="{StaticResource ToolBar_SmallButton}"
|
||||
Margin="0,0,10,0">
|
||||
<Image Source="/Resources/PartManager/RightRotate.png" Stretch="Uniform"/>
|
||||
</Button>-->
|
||||
<TextBlock Text="{Binding Tag.sNAM,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartManagerV}}}"
|
||||
Style="{StaticResource OptionTextBlock}"/>
|
||||
<TextBlock Text="{Binding Tag.sNAM,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartManagerV}}}"
|
||||
Style="{StaticResource OptionTextBlock}"/>
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal"
|
||||
HorizontalAlignment="Right"
|
||||
FlowDirection="RightToLeft">
|
||||
<TextBlock Text="{Binding Tag.sUnitTime,
|
||||
UpdateSourceTrigger=PropertyChanged,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartManagerV}}}"
|
||||
Width="45"
|
||||
Style="{StaticResource OptionTextBlock}"/>
|
||||
<Image Source="/Resources/PartManager/Clock.png"
|
||||
Stretch="Uniform"
|
||||
Height="15"/>
|
||||
</StackPanel>
|
||||
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
|
||||
@@ -172,6 +172,7 @@ Public Class ProjectVM
|
||||
|
||||
Friend Sub NotifyCalcPanel_Visibility()
|
||||
Map.refCALCPanelVM.NotifyPropertyChanged(NameOf(Map.refCALCPanelVM.ViewPage_Visibility))
|
||||
Map.refCALCPanelVM.NotifyPropertyChanged(NameOf(Map.refCALCPanelVM.Edit_Visibility))
|
||||
End Sub
|
||||
|
||||
Private m_FreeContourManager_Visibility As Boolean = False
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 55 KiB |
@@ -545,7 +545,10 @@ Public Class MySceneHostVM
|
||||
' carico lista macchine e macchina del progetto per il pulsante Reset Macchina del CALCPanel
|
||||
Map.refCALCPanelVM.LoadMachineList()
|
||||
ElseIf ProjectType = ProjectType.PROD Then
|
||||
Map.refProdManagerVM.m_MruFiles.Add(sFile)
|
||||
' se salvato, carico progetto in lista mru
|
||||
If Not Map.refProdManagerVM.TempCurrProd.bIsNew Then
|
||||
Map.refProdManagerVM.m_MruFiles.Add(sFile)
|
||||
End If
|
||||
' imposto macchina del progetto
|
||||
Map.refMachinePanelVM.SelectedMachine = If(Not IsNothing(Map.refProdManagerVM.TempCurrProd),
|
||||
Map.refMachinePanelVM.MachineList.FirstOrDefault(Function(x) x.Name = Map.refProdManagerVM.TempCurrProd.sMachine),
|
||||
|
||||
Reference in New Issue
Block a user