diff --git a/EgtBEAMWALL.ViewerOptimizer/AddFeatureWnd/AddFeatureWndV.xaml b/EgtBEAMWALL.ViewerOptimizer/AddFeatureWnd/AddFeatureWndV.xaml
index b63a149c..7c615336 100644
--- a/EgtBEAMWALL.ViewerOptimizer/AddFeatureWnd/AddFeatureWndV.xaml
+++ b/EgtBEAMWALL.ViewerOptimizer/AddFeatureWnd/AddFeatureWndV.xaml
@@ -5,7 +5,7 @@
xmlns:EgtBEAMWALL="clr-namespace:EgtBEAMWALL.ViewerOptimizer"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
WindowStyle="None" ResizeMode="NoResize"
- WindowState="Maximized"
+ SizeToContent="WidthAndHeight"
WindowStartupLocation="CenterOwner"
IsClosable="False"
IsMinimizable="False"
@@ -27,7 +27,6 @@
-
@@ -51,8 +50,8 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ Style="{StaticResource FeatureComboBox}"/>
-
-
@@ -135,9 +101,7 @@
Grid.Column="3"
Style="{StaticResource EgtWPFLib5_InputButton}"/>
-
-
diff --git a/EgtBEAMWALL.ViewerOptimizer/AddFeatureWnd/AddFeatureWndVM.vb b/EgtBEAMWALL.ViewerOptimizer/AddFeatureWnd/AddFeatureWndVM.vb
index 78f8f1e2..aecbe094 100644
--- a/EgtBEAMWALL.ViewerOptimizer/AddFeatureWnd/AddFeatureWndVM.vb
+++ b/EgtBEAMWALL.ViewerOptimizer/AddFeatureWnd/AddFeatureWndVM.vb
@@ -37,8 +37,8 @@ Public Class AddFeatureWndVM
ElseIf m_SelGRPType = GRPType.T Then
nSelPRC = PRCList(m_PrevSelPRCIndex_T)
End If
- NotifyPropertyChanged("PRCList")
- NotifyPropertyChanged("nSelPRC")
+ NotifyPropertyChanged(NameOf(PRCList))
+ NotifyPropertyChanged(NameOf(nSelPRC))
End Set
End Property
@@ -49,6 +49,14 @@ Public Class AddFeatureWndVM
End Get
End Property
+ Private m_PRCListView As New List(Of PRC)
+ Public ReadOnly Property PRCListView As List(Of PRC)
+ Get
+ Return m_PRCListView
+ End Get
+ End Property
+
+
Private m_NewMacroList As New ObservableCollection(Of NewMacro)
Public ReadOnly Property NewMacroList As ObservableCollection(Of NewMacro)
Get
@@ -82,10 +90,10 @@ Public Class AddFeatureWndVM
m_PrevSelPRCIndex_T = PRCList.IndexOf(m_nSelPRC)
End If
End If
- NotifyPropertyChanged("sDrawPath")
+ NotifyPropertyChanged(NameOf(sDrawPath))
' carico eventuali file Macro
MacroList.Clear()
- NewMacroList.Clear()
+ If Core.Configuration.bOnlyProd Then NewMacroList.Clear()
m_MacroFilePathList = New List(Of String)
If Not IsNothing(nSelPRC) Then
Dim nGRPFromFileName As Integer = 0
@@ -109,28 +117,36 @@ Public Class AddFeatureWndVM
sMacroNameFromFileName = DataFromFileName(1)
End If
If nGRPFromFileName = CalcBeamPrivateProfileGRP(nSelPRC.nGRP) AndAlso nPRCFromFileName = nSelPRC.nPRC Then
- 'MacroList.Add(New IdNameStruct(nIdMacroName, sMacroNameFromFileName))
- NewMacroList.Add(New NewMacro(nIdMacroName, sMacroNameFromFileName, Map.refMainWindowVM.MainWindowM.sMacroDir & "\Templete\" & sMacroNameFromFileName & ".png"))
+ MacroList.Add(New IdNameStruct(nIdMacroName, sMacroNameFromFileName))
+ If Core.Configuration.bOnlyProd Then NewMacroList.Add(New NewMacro(nIdMacroName, sMacroNameFromFileName, Map.refMainWindowVM.MainWindowM.sMacroDir & "\Template\" & sMacroNameFromFileName & ".png"))
m_MacroFilePathList.Add(File)
- nIdMacroName = nIdMacroName + 1
+ nIdMacroName += 1
End If
End If
End If
End If
Next
- 'If MacroList.Count > 0 Then
- ' MacroList_IsEnabled = True
- 'Else
- ' MacroList_IsEnabled = False
- 'End If
- If NewMacroList.Count > 0 Then
+ If Core.Configuration.bOnlyProd Then
+ Dim sGRP As String = m_nSelPRC.ghDesc.ToCharArray(0, 1)
+ If sGRP = "L" Then
+ sDrawMacro = Map.refMainWindowVM.MainWindowM.sResourcesRoot & "\Features\" & "L" & m_nSelPRC.nPRC.ToString("000") & ".png"
+ Else
+ sDrawMacro = Map.refMainWindowVM.MainWindowM.sResourcesRoot & "\Features\" & "T" & m_nSelPRC.nPRC.ToString("000") & ".png"
+ End If
+ If NewMacroList.Count > 0 Then
+ MacroList_IsEnabled = True
+ Else
+ MacroList_IsEnabled = False
+ End If
+ End If
+ If MacroList.Count > 0 Then
MacroList_IsEnabled = True
Else
MacroList_IsEnabled = False
End If
-
End If
End If
+ NotifyPropertyChanged(NameOf(nSelPRC))
End Set
End Property
@@ -142,7 +158,7 @@ Public Class AddFeatureWndVM
Set(value As Boolean)
If value <> m_MacroList_IsEnabled Then
m_MacroList_IsEnabled = value
- NotifyPropertyChanged("MacroList_IsEnabled")
+ NotifyPropertyChanged(NameOf(MacroList_IsEnabled))
End If
End Set
End Property
@@ -180,40 +196,75 @@ Public Class AddFeatureWndVM
End Get
End Property
+ Private m_sDrawMacro As String
+ Public Property sDrawMacro As String
+ Get
+ Return m_sDrawMacro
+ End Get
+ Set(value As String)
+ m_sDrawMacro = value
+ NotifyPropertyChanged(NameOf(sDrawMacro))
+ End Set
+ End Property
+
' Definizione comandi
Private m_cmdOk As ICommand
+#Region "Messages"
+
+ Public ReadOnly Property Process_Msg As String
+ Get
+ Return EgtMsg(61805).ToUpper()
+ End Get
+ End Property
+
+ Public ReadOnly Property Macro_Msg As String
+ Get
+ Return EgtMsg(61899).ToUpper()
+ End Get
+ End Property
+
+#End Region
+
#End Region ' FIELDS & PROPERTIES
#Region "CONSTRUCTOR"
Sub New()
- SelGRPType = 0
- 'nSelPRC = PRCList(0)
-
- ' carico lista process
- Dim TempPRCList As New ObservableCollection(Of Integer)
- Dim TempPRCLList As New ObservableCollection(Of Integer)
- Dim TempPRCLTist As New ObservableCollection(Of Integer)
- GetBeamPrivateProfileProcessList(0, TempPRCLList)
- GetBeamPrivateProfileProcessList(1, TempPRCLTist)
- For Each PRCL In TempPRCLList
- TempPRCList.Add(PRCL)
- Next
- For Each PRCT In TempPRCLTist
- TempPRCList.Add(PRCT)
- Next
- m_PRCList.Clear()
- For Each PRC In TempPRCList
- ' leggo gruppi
- Dim GRPList As New ObservableCollection(Of Integer)
- GetBeamPrivateProfileGRPList(0, PRC, GRPList)
- Dim x = GRPList.Count
- GetBeamPrivateProfileGRPList(1, PRC, GRPList)
- m_PRCList.Add(New PRC(GRPList(0), PRC, GetBeamPrivateProfileName(0, PRC)))
- m_PRCList.Add(New PRC(GRPList(0), PRC, GetBeamPrivateProfileName(1, PRC)))
- Next
+ If Core.Configuration.bOnlyProd Then
+ ' carico lista process
+ Dim TempPRCList As New ObservableCollection(Of Integer)
+ Dim TempPRCLList As New ObservableCollection(Of Integer)
+ Dim TempPRCLTist As New ObservableCollection(Of Integer)
+ GetBeamPrivateProfileProcessList(0, TempPRCLList)
+ GetBeamPrivateProfileProcessList(1, TempPRCLTist)
+ ' riporto le liste process in un unica lista
+ For Each PRCL In TempPRCLList
+ TempPRCList.Add(PRCL)
+ Next
+ For Each PRCT In TempPRCLTist
+ TempPRCList.Add(PRCT)
+ Next
+ m_PRCList.Clear()
+ ' ciclo sulla lista process eliminado i doppi
+ For Each PRC In TempPRCList.Distinct()
+ ' leggo gruppi
+ Dim GRPLList As New ObservableCollection(Of Integer)
+ Dim GRPTList As New ObservableCollection(Of Integer)
+ GetBeamPrivateProfileGRPList(0, PRC, GRPLList)
+ GetBeamPrivateProfileGRPList(1, PRC, GRPTList)
+ If GRPLList.Count > 0 Then m_PRCList.Add(New PRC(GRPLList(0), PRC, GetBeamPrivateProfileName(0, PRC)))
+ If GRPTList.Count > 0 Then m_PRCList.Add(New PRC(GRPTList(0), PRC, GetBeamPrivateProfileName(1, PRC)))
+ Next
+ m_PRCListView = m_PRCList.OrderBy(Function(x) x.nPRC).ToList()
+ nSelPRC = m_PRCList(0)
+ NotifyPropertyChanged(NameOf(PRCListView))
+ NotifyPropertyChanged(NameOf(PRCList))
+ Else
+ SelGRPType = 0
+ nSelPRC = PRCList(0)
+ End If
End Sub
#End Region ' CONSTRUCTOR
@@ -325,7 +376,7 @@ Public Class NewMacro
Private m_sMacroName As String
Public ReadOnly Property sMacroName As String
Get
- Return m_sMacroName
+ Return m_sMacroName.ToUpper()
End Get
End Property
diff --git a/EgtBEAMWALL.ViewerOptimizer/AddFeatureWnd/AddNewFeatureWndV.xaml b/EgtBEAMWALL.ViewerOptimizer/AddFeatureWnd/AddNewFeatureWndV.xaml
new file mode 100644
index 00000000..a522054d
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/AddFeatureWnd/AddNewFeatureWndV.xaml
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/EgtBEAMWALL.ViewerOptimizer/AddFeatureWnd/AddNewFeatureWndV.xaml.vb b/EgtBEAMWALL.ViewerOptimizer/AddFeatureWnd/AddNewFeatureWndV.xaml.vb
new file mode 100644
index 00000000..8ec58e0a
--- /dev/null
+++ b/EgtBEAMWALL.ViewerOptimizer/AddFeatureWnd/AddNewFeatureWndV.xaml.vb
@@ -0,0 +1,17 @@
+Public Class AddNewFeatureWndV
+
+ Private WithEvents m_AddFeatureWndVM As AddFeatureWndVM
+
+ Sub New(Owner As Window, AddFeatureWndVM As AddFeatureWndVM)
+ ' La chiamata è richiesta dalla finestra di progettazione.
+ InitializeComponent()
+ Me.DataContext = AddFeatureWndVM
+ ' Aggiungere le eventuali istruzioni di inizializzazione dopo la chiamata a InitializeComponent().
+ m_AddFeatureWndVM = AddFeatureWndVM
+ End Sub
+
+ Private Sub CloseWindow(bDialogResult As Boolean) Handles m_AddFeatureWndVM.m_CloseWindow
+ Me.DialogResult = bDialogResult
+ End Sub
+
+End Class
diff --git a/EgtBEAMWALL.ViewerOptimizer/BTLViewModel/BTLParamVM.vb b/EgtBEAMWALL.ViewerOptimizer/BTLViewModel/BTLParamVM.vb
index fc949ccc..5d7bc497 100644
--- a/EgtBEAMWALL.ViewerOptimizer/BTLViewModel/BTLParamVM.vb
+++ b/EgtBEAMWALL.ViewerOptimizer/BTLViewModel/BTLParamVM.vb
@@ -147,7 +147,6 @@ Public Class BTLParamVM
' controllo se i pezzi sono lavorati se si messaggio di warning altrimenti messaggio informativo
If nDoneCnt > 0 Then
MessageBox.Show("Pezzo " & nPartId & " non modificato in " & INPROD & " barra/e perche' settata/e come da produrre", EgtMsg(30009), MessageBoxButton.OK, MessageBoxImage.Warning)
- dNewValue = m_BTLParamM.dValue
ElseIf INPROD > 0 Then
MessageBox.Show("Pezzo " & nPartId & " modificato in " & INPROD & " barra/e grezza/e", EgtMsg(30009), MessageBoxButton.OK, MessageBoxImage.Information)
End If
diff --git a/EgtBEAMWALL.ViewerOptimizer/EgtBEAMWALL.ViewerOptimizer.vbproj b/EgtBEAMWALL.ViewerOptimizer/EgtBEAMWALL.ViewerOptimizer.vbproj
index f0ddc49b..5f0691ed 100644
--- a/EgtBEAMWALL.ViewerOptimizer/EgtBEAMWALL.ViewerOptimizer.vbproj
+++ b/EgtBEAMWALL.ViewerOptimizer/EgtBEAMWALL.ViewerOptimizer.vbproj
@@ -256,6 +256,9 @@
AboutBoxV.xaml
+
+ AddNewFeatureWndV.xaml
+ BTLPartManagerV.xaml
@@ -532,6 +535,10 @@
DesignerMSBuild:Compile
+
+ Designer
+ MSBuild:Compile
+ DesignerMSBuild:Compile
diff --git a/EgtBEAMWALL.ViewerOptimizer/FeatureListManager/FeatureListManagerVM.vb b/EgtBEAMWALL.ViewerOptimizer/FeatureListManager/FeatureListManagerVM.vb
index c5f21e19..1a2fe9e4 100644
--- a/EgtBEAMWALL.ViewerOptimizer/FeatureListManager/FeatureListManagerVM.vb
+++ b/EgtBEAMWALL.ViewerOptimizer/FeatureListManager/FeatureListManagerVM.vb
@@ -209,60 +209,98 @@ Public Class FeatureListManagerVM
If IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLPart) Then Return
' apro finestra di definizione nuova feature
Dim AddFeatureWndVM As New AddFeatureWndVM()
- Dim AddFeatureWnd As New AddFeatureWndV(Application.Current.MainWindow, AddFeatureWndVM)
- If AddFeatureWnd.ShowDialog() Then
- Dim NewFeat As BTLFeatureM
- Dim nNewFeatureId As Integer = 0
- Dim bMacroFlag As Boolean = False
- ' verifico se una Macro è selezionata
- 'If AddFeatureWndVM.MacroList.Count > 0 AndAlso AddFeatureWndVM.nSelMacro >= 0 Then
- If AddFeatureWndVM.NewMacroList.Count > 0 AndAlso AddFeatureWndVM.sSelMacroItem.nIndexMacro >= 0 Then
- ' Creo nuova feature sulla base della Macro selezionata
- ' Creo table e setto variabili
- EgtLuaCreateGlobTable("MACRO")
- EgtLuaSetGlobNumVar("MACRO.L", Map.refProjectVM.BTLStructureVM.SelBTLPart.dBtlL)
- EgtLuaSetGlobNumVar("MACRO.W", Map.refProjectVM.BTLStructureVM.SelBTLPart.dBtlW)
- EgtLuaSetGlobNumVar("MACRO.H", Map.refProjectVM.BTLStructureVM.SelBTLPart.dBtlH)
- EgtLuaSetGlobIntVar("MACRO.PROCID", Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLPartM.NewProcId())
- 'Dim bOk = EgtLuaExecFile(AddFeatureWndVM.m_MacroFilePathList(AddFeatureWndVM.nSelMacro))
- Dim bOk = EgtLuaExecFile(AddFeatureWndVM.m_MacroFilePathList(AddFeatureWndVM.sSelMacroItem.nIndexMacro))
- ' Leggo variabili
- EgtLuaGetGlobIntVar("MACRO.FEATUREID", nNewFeatureId)
- ' Reset lua
- EgtLuaResetGlobVar("MACRO")
- If Not bOk Then
- MessageBox.Show(EgtMsg(61869), EgtMsg(30007))
- Return
+ Dim NewFeat As BTLFeatureM = Nothing
+ Dim nNewFeatureId As Integer = 0
+ Dim bMacroFlag As Boolean = False
+ If bOnlyProd Then
+ Dim AddNewFeatureWnd As New AddNewFeatureWndV(Application.Current.MainWindow, AddFeatureWndVM)
+ If AddNewFeatureWnd.ShowDialog() Then
+ ' verifico se una Macro è selezionata
+ If AddFeatureWndVM.NewMacroList.Count > 0 AndAlso Not IsNothing(AddFeatureWndVM.sSelMacroItem) AndAlso AddFeatureWndVM.sSelMacroItem.nIndexMacro >= 0 Then
+ ' Creo nuova feature sulla base della Macro selezionata
+ ' Creo table e setto variabili
+ CreateMacroTable()
+ Dim bOk = EgtLuaExecFile(AddFeatureWndVM.m_MacroFilePathList(AddFeatureWndVM.sSelMacroItem.nIndexMacro))
+ ' Leggo variabili
+ EgtLuaGetGlobIntVar("MACRO.FEATUREID", nNewFeatureId)
+ ' Reset lua
+ EgtLuaResetGlobVar("MACRO")
+ If Not bOk Then
+ MessageBox.Show(EgtMsg(61869), EgtMsg(30007))
+ Return
+ End If
+ bMacroFlag = True
+ Else
+ ' Creo nuova feature (Macro non selezionata)
+ CreateFeatureUnselectedMacro(AddFeatureWndVM, NewFeat, nNewFeatureId, bMacroFlag)
End If
- bMacroFlag = True
- Else
- ' Creo nuova feature (Macro non selezionata)
- NewFeat = BTLFeatureM.CreateBTLFeature(AddFeatureWndVM.nSelPRC.nPRC, AddFeatureWndVM.nSelPRC.nGRP, AddFeatureWndVM.nSelPRC.nSIDE)
- NewFeat.SetDefaultValues()
- Dim vPar() As Double = Nothing
- Dim sPar As String = String.Empty
- Dim vParQ() As String = Nothing
- NewFeat.CalcParamArray(vPar, sPar, vParQ)
- ' aggiorno la feature con nuovo valore
- EgtBeamSetPart(Map.refProjectVM.BTLStructureVM.SelBTLPart.nPartId)
- nNewFeatureId = EgtBeamAddProcess(NewFeat.nSelGRP, NewFeat.nPRC, NewFeat.nSelSIDE, "",
- Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLPartM.NewProcId(),
- New Frame3d(), vPar, sPar, vParQ, GDB_ID.NULL, GDB_ID.NULL)
- bMacroFlag = False
+ ' se è stata creata
+ NewFeat = AddFeatureToBTL(NewFeat, nNewFeatureId, bMacroFlag)
End If
- ' se è stata creata
- If nNewFeatureId <> GDB_ID.NULL Then
- MyMachGroupPanelM.SetDuploModified(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()
- Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLPartM.AddBTLFeature(NewFeat)
- Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM = Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLFeatureVMList.FirstOrDefault(Function(x) x.BTLFeatureM Is NewFeat)
- Map.refProjectVM.BTLStructureVM.SelBTLPart.ResetCalcPart()
+ Else
+ Dim AddFeatureWnd As New AddFeatureWndV(Application.Current.MainWindow, AddFeatureWndVM)
+ If AddFeatureWnd.ShowDialog() Then
+ ' verifico se una Macro è selezionata
+ If AddFeatureWndVM.MacroList.Count > 0 AndAlso AddFeatureWndVM.nSelMacro >= 0 Then
+ ' Creo nuova feature sulla base della Macro selezionata
+ ' Creo table e setto variabili
+ CreateMacroTable()
+ Dim bOk = EgtLuaExecFile(AddFeatureWndVM.m_MacroFilePathList(AddFeatureWndVM.nSelMacro))
+ ' Leggo variabili
+ EgtLuaGetGlobIntVar("MACRO.FEATUREID", nNewFeatureId)
+ ' Reset lua
+ EgtLuaResetGlobVar("MACRO")
+ If Not bOk Then
+ MessageBox.Show(EgtMsg(61869), EgtMsg(30007))
+ Return
+ End If
+ bMacroFlag = True
+ Else
+ ' Creo nuova feature (Macro non selezionata)
+ CreateFeatureUnselectedMacro(AddFeatureWndVM, NewFeat, nNewFeatureId, bMacroFlag)
+ End If
+ ' se è stata creata
+ NewFeat = AddFeatureToBTL(NewFeat, nNewFeatureId, bMacroFlag)
End If
End If
End Sub
+ Private Shared Function AddFeatureToBTL(NewFeat As BTLFeatureM, nNewFeatureId As Integer, bMacroFlag As Boolean) As BTLFeatureM
+ If nNewFeatureId <> GDB_ID.NULL Then
+ MyMachGroupPanelM.SetDuploModified(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()
+ Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLPartM.AddBTLFeature(NewFeat)
+ Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM = Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLFeatureVMList.FirstOrDefault(Function(x) x.BTLFeatureM Is NewFeat)
+ Map.refProjectVM.BTLStructureVM.SelBTLPart.ResetCalcPart()
+ End If
+ Return NewFeat
+ End Function
+
+ Private Shared Sub CreateMacroTable()
+ EgtLuaCreateGlobTable("MACRO")
+ EgtLuaSetGlobNumVar("MACRO.L", Map.refProjectVM.BTLStructureVM.SelBTLPart.dBtlL)
+ EgtLuaSetGlobNumVar("MACRO.W", Map.refProjectVM.BTLStructureVM.SelBTLPart.dBtlW)
+ EgtLuaSetGlobNumVar("MACRO.H", Map.refProjectVM.BTLStructureVM.SelBTLPart.dBtlH)
+ EgtLuaSetGlobIntVar("MACRO.PROCID", Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLPartM.NewProcId())
+ End Sub
+
+ Private Shared Sub CreateFeatureUnselectedMacro(AddFeatureWndVM As AddFeatureWndVM, ByRef NewFeat As BTLFeatureM, ByRef nNewFeatureId As Integer, ByRef bMacroFlag As Boolean)
+ NewFeat = BTLFeatureM.CreateBTLFeature(AddFeatureWndVM.nSelPRC.nPRC, AddFeatureWndVM.nSelPRC.nGRP, AddFeatureWndVM.nSelPRC.nSIDE)
+ NewFeat.SetDefaultValues()
+ Dim vPar() As Double = Nothing
+ Dim sPar As String = String.Empty
+ Dim vParQ() As String = Nothing
+ NewFeat.CalcParamArray(vPar, sPar, vParQ)
+ ' aggiorno la feature con nuovo valore
+ EgtBeamSetPart(Map.refProjectVM.BTLStructureVM.SelBTLPart.nPartId)
+ nNewFeatureId = EgtBeamAddProcess(NewFeat.nSelGRP, NewFeat.nPRC, NewFeat.nSelSIDE, "",
+ Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLPartM.NewProcId(),
+ New Frame3d(), vPar, sPar, vParQ, GDB_ID.NULL, GDB_ID.NULL)
+ bMacroFlag = False
+ End Sub
+
#End Region ' AddFeature
#Region "RemoveFeature"
diff --git a/EgtBEAMWALL.ViewerOptimizer/FreeContourInput/FreeContourInputV.xaml b/EgtBEAMWALL.ViewerOptimizer/FreeContourInput/FreeContourInputV.xaml
index 7449f28f..430fb0c8 100644
--- a/EgtBEAMWALL.ViewerOptimizer/FreeContourInput/FreeContourInputV.xaml
+++ b/EgtBEAMWALL.ViewerOptimizer/FreeContourInput/FreeContourInputV.xaml
@@ -15,7 +15,7 @@
+ Visibility="{Binding Tag.FreeContourManager_Visibility, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:ProjWndV}}}"/>
+ Visibility="{Binding Tag.PartManager_Visibility, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:ProjWndV}}}"/>
diff --git a/EgtBEAMWALL.ViewerOptimizer/Utility/Dictionary.xaml b/EgtBEAMWALL.ViewerOptimizer/Utility/Dictionary.xaml
index 64b17b81..1f8d48db 100644
--- a/EgtBEAMWALL.ViewerOptimizer/Utility/Dictionary.xaml
+++ b/EgtBEAMWALL.ViewerOptimizer/Utility/Dictionary.xaml
@@ -357,12 +357,14 @@
+