- Unione import e modify part

This commit is contained in:
Emmanuele Sassi
2022-11-07 23:20:13 +01:00
parent 42970892ba
commit 9ff14634dd
11 changed files with 1101 additions and 44 deletions
+9 -18
View File
@@ -123,11 +123,6 @@
<DependentUpon>DispositionPanelV.xaml</DependentUpon>
</Compile>
<Compile Include="DispositionPanel\DispositionPanelVM.vb" />
<Compile Include="ImportPanel\ImportPanelV.xaml.vb">
<DependentUpon>ImportPanelV.xaml</DependentUpon>
</Compile>
<Compile Include="ImportPanel\ImportPanelVM.vb" />
<Compile Include="ImportPanel\ImportUtility.vb" />
<Compile Include="InstrumentPanel\InstrumentPanelV.xaml.vb">
<DependentUpon>InstrumentPanelV.xaml</DependentUpon>
</Compile>
@@ -154,16 +149,16 @@
<DependentUpon>MachSaveInDbWindowV.xaml</DependentUpon>
</Compile>
<Compile Include="MachSaveInDbWnd\MachSaveInDbWndVM.vb" />
<Compile Include="ManagePartPanel\ManagePartPanelV.xaml.vb">
<DependentUpon>ManagePartPanelV.xaml</DependentUpon>
</Compile>
<Compile Include="ManagePartPanel\ManagePartPanelVM.vb" />
<Compile Include="ManagePartPanel\ManagePartUtility.vb" />
<Compile Include="MaterialDb\Material.vb" />
<Compile Include="MaterialDb\MaterialDbV.xaml.vb">
<DependentUpon>MaterialDbV.xaml</DependentUpon>
</Compile>
<Compile Include="MaterialDb\MaterialDbVM.vb" />
<Compile Include="ModifyPartPanel\ModifyPartPanelV.xaml.vb">
<DependentUpon>ModifyPartPanelV.xaml</DependentUpon>
</Compile>
<Compile Include="ModifyPartPanel\ModifyPartPanelVM.vb" />
<Compile Include="ModifyPartPanel\ModifyPartUtility.vb" />
<Compile Include="OptionsWindow\MachineBox.xaml.vb">
<DependentUpon>MachineBox.xaml</DependentUpon>
</Compile>
@@ -304,10 +299,6 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="ImportPanel\ImportPanelV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="InstrumentPanel\InstrumentPanelV.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
@@ -348,14 +339,14 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="ManagePartPanel\ManagePartPanelV.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="MaterialDb\MaterialDbV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="ModifyPartPanel\ModifyPartPanelV.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="OptionsWindow\MachineBox.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
+4 -2
View File
@@ -15,7 +15,8 @@
<TabItem Header="NULL">
</TabItem>
<TabItem Header="IMPORT">
<PrintApp:ImportPanelV DataContext="{StaticResource ImportPanelVM}"/>
<!--<PrintApp:ImportPanelV DataContext="{StaticResource ImportPanelVM}"/>-->
<PrintApp:ManagePartPanelV DataContext="{StaticResource ManagePartPanelVM}"/>
</TabItem>
<TabItem Header="DISPOSITION">
<PrintApp:DispositionPanelV DataContext="{StaticResource DispositionPanelVM}"/>
@@ -36,7 +37,8 @@
<Button Height="100"/>
</TabItem>
<TabItem Header="MODIFYPART">
<PrintApp:ModifyPartPanelV DataContext="{StaticResource ModifyPartPanelVM}"/>
<!--<PrintApp:ModifyPartPanelV DataContext="{StaticResource ModifyPartPanelVM}"/>-->
<PrintApp:ManagePartPanelV DataContext="{StaticResource ManagePartPanelVM}"/>
</TabItem>
</TabControl>
+2 -1
View File
@@ -55,7 +55,8 @@ Public Class LeftPanelVM
Case Panels.SHELLNUMBER
Map.refShellNumberPanelVM.Init()
Case Panels.MODIFYPART
Map.refModifyPartPanelVM.Init()
''Map.refModifyPartPanelVM.Init()
Map.refManagePartPanelVM.Init(ManagePartPanelVM.ManagePartType.MODIFY)
End Select
Map.refViewLayerManagerVM.UpdateForced()
NotifyPropertyChanged(NameOf(SelPanel))
@@ -0,0 +1,121 @@
<UserControl x:Class="ManagePartPanelV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Icarus"
Width="150"
Margin="5,0,0,0">
<Grid DockPanel.Dock="Left">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Border Style="{StaticResource LeftPanelTitle_Border}">
<TextBlock Text="Part Entity List"
FontWeight="DemiBold"
FontSize="14"/>
</Border>
<DockPanel Grid.Row="1"
Visibility="{Binding IsImport_Visibility}">
<Button DockPanel.Dock="Left"
Content="+"
FontSize="20"
Command="{Binding AddPart_Command}"
Style="{StaticResource LeftPanel_Button}"/>
<Button DockPanel.Dock="Left"
Content="-"
FontSize="20"
Command="{Binding RemovePart_Command}"
Style="{StaticResource LeftPanel_Button}"/>
</DockPanel>
<TreeView Grid.Row="2"
ItemsSource="{Binding ManagerPartList}"
MinHeight="300">
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type local:ManagePart_Part}"
ItemsSource="{Binding LayerList}">
<StackPanel Orientation="Horizontal">
<Image Source="/Resources/TreeView/Folder.png"
Height="15"/>
<TextBlock Text="{Binding ghName}" />
</StackPanel>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="{x:Type local:ManagePart_Layer}"
ItemsSource="{Binding EntityList, UpdateSourceTrigger=PropertyChanged}">
<StackPanel Orientation="Horizontal">
<Image Source="/Resources/TreeView/Folder.png"
Height="15"/>
<TextBlock Text="{Binding sName}" />
</StackPanel>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="{x:Type local:PartManager_GeomEntity}">
<StackPanel Orientation="Horizontal">
<!--<Image Source="/WpfTutorialSamples;component/Images/user.png" Margin="0,0,5,0" />-->
<TextBlock Text="{Binding ghName}" />
<TextBlock Text="{Binding ghReference, UpdateSourceTrigger=PropertyChanged}"/>
</StackPanel>
</HierarchicalDataTemplate>
<!-- Menu' tasto destro -->
<ContextMenu x:Key="RowMenu" ItemsSource="{Binding MenuList}" >
<ContextMenu.ItemContainerStyle>
<Style TargetType="MenuItem">
<Setter Property="Command" Value="{Binding MenuItem_Command}"/>
<Setter Property="CommandParameter" Value="{Binding MenuItem_Command}"/>
<Setter Property="Header" Value="{Binding sMsg}"/>
</Style>
</ContextMenu.ItemContainerStyle>
</ContextMenu>
</TreeView.Resources>
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}">
<Setter Property="IsSelected" Value="{Binding bIsSelected, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
<Setter Property="IsExpanded" Value="True" />
<Setter Property="ContextMenu" Value="{StaticResource RowMenu}" />
</Style>
</TreeView.ItemContainerStyle>
</TreeView>
<Border Grid.Row="3"
Visibility="{Binding IsImport_Visibility}"
Style="{StaticResource LeftPanelTitle_Border}">
<TextBlock Text="Imported Entity List"
FontWeight="DemiBold"
FontSize="14"/>
</Border>
<ListBox Grid.Row="4"
ItemsSource="{Binding ImportedEntityList, UpdateSourceTrigger=PropertyChanged}"
SelectedItem="{Binding SelImportedEntity}"
MinHeight="200"
Visibility="{Binding IsImport_Visibility}">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid HorizontalAlignment="Stretch">
<Grid.InputBindings>
<MouseBinding Gesture="LeftDoubleClick"
Command="{Binding GeomEntityDoubleClick_Command}"/>
</Grid.InputBindings>
<TextBlock Text="{Binding ghName}">
</TextBlock>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<UniformGrid Grid.Row="5"
Rows="1">
<Button Content="Ok"
Command="{Binding Ok_Command}"
Style="{StaticResource LeftPanel_TextButton}"/>
<Button Content="Cancel"
Command="{Binding Cancel_Command}"
Visibility="{Binding IsImport_Visibility}"
Style="{StaticResource LeftPanel_TextButton}"/>
</UniformGrid>
</Grid>
</UserControl>
@@ -0,0 +1,3 @@
Public Class ManagePartPanelV
End Class
+434
View File
@@ -0,0 +1,434 @@
Imports System.Collections.ObjectModel
Imports EgtUILib
Imports EgtWPFLib5
Public Class ManagePartPanelVM
Inherits VMBase
Public Enum ManagePartType
IMPORT = 1
MODIFY = 2
End Enum
Private m_Type As ManagePartType
Friend ReadOnly Property Type As ManagePartType
Get
Return m_Type
End Get
End Property
Private m_nImportedPartId As Integer = GDB_ID.NULL
Friend ReadOnly Property nImportedPartId As Integer
Get
Return m_nImportedPartId
End Get
End Property
Private m_ImportedEntityList As New ObservableCollection(Of PartManager_GeomEntity)
Public Property ImportedEntityList As ObservableCollection(Of PartManager_GeomEntity)
Get
Return m_ImportedEntityList
End Get
Set(value As ObservableCollection(Of PartManager_GeomEntity))
m_ImportedEntityList = value
End Set
End Property
Private m_SelImportedEntity As PartManager_GeomEntity
Public Property SelImportedEntity As PartManager_GeomEntity
Get
Return m_SelImportedEntity
End Get
Set(value As PartManager_GeomEntity)
m_SelImportedEntity = value
EgtDeselectAll()
If Not IsNothing(m_SelImportedEntity) Then
EgtSelectObj(m_SelImportedEntity.nId)
End If
EgtDraw()
End Set
End Property
Friend Sub SetSelImportedEntity(nId As Integer)
m_SelImportedEntity = m_ImportedEntityList.FirstOrDefault(Function(x) x.nId = nId)
EgtDeselectAll()
If Not IsNothing(m_SelImportedEntity) Then
EgtSelectObj(m_SelImportedEntity.nId)
End If
EgtDraw()
NotifyPropertyChanged(NameOf(SelImportedEntity))
End Sub
Private m_ManagerPartList As New ObservableCollection(Of ManagePart_Part)
Public ReadOnly Property ManagerPartList As ObservableCollection(Of ManagePart_Part)
Get
Return m_ManagerPartList
End Get
End Property
Private m_SelManagerPart As ManagePart_Part
Friend Sub SetSelManagerPart(SelManagePart_Part As ManagePart_Part)
m_SelManagerPart = SelManagePart_Part
m_SelManagerLayer = Nothing
End Sub
Public ReadOnly Property SelManagerPart As ManagePart_Part
Get
Return m_SelManagerPart
End Get
End Property
Private m_SelManagerLayer As ManagePart_Layer
Public ReadOnly Property SelManagerLayer As ManagePart_Layer
Get
Return m_SelManagerLayer
End Get
End Property
Friend Sub SetSelManagerLayer(SelManagePart_Layer As ManagePart_Layer)
m_SelManagerPart = m_ManagerPartList.FirstOrDefault(Function(x) x.LayerList.Contains(SelManagePart_Layer))
m_SelManagerLayer = SelManagePart_Layer
End Sub
Private m_SelPartManager_GeomEntity As PartManager_GeomEntity
Public ReadOnly Property SelPartManager_GeomEntity As PartManager_GeomEntity
Get
Return m_SelPartManager_GeomEntity
End Get
End Property
Friend Sub SetSelPartManager_GeomEntity(SelPartManager_GeomEntity As PartManager_GeomEntity)
For Each CurrPart In m_ManagerPartList
Dim CurrLayer As ManagePart_Layer = CurrPart.LayerList.FirstOrDefault(Function(x) x.EntityList.Contains(SelPartManager_GeomEntity))
If Not IsNothing(CurrLayer) Then
m_SelManagerPart = CurrPart
m_SelManagerLayer = CurrLayer
Exit For
End If
Next
m_SelPartManager_GeomEntity = SelPartManager_GeomEntity
End Sub
Public ReadOnly Property IsImport_Visibility As Visibility
Get
Select Case m_Type
Case ManagePartType.IMPORT
Return Visibility.Visible
Case Else ' ManagePartType.MODIFY
Return Visibility.Collapsed
End Select
End Get
End Property
' Definizione comandi
Private m_cmdSetReference As ICommand
Private m_cmdAddPart As ICommand
Private m_cmdRemovePart As ICommand
Private m_cmdOk As ICommand
Private m_cmdCancel As ICommand
Sub New()
' Creo riferimento a questa classe in EgtCAM5Map
Map.SetRefManagePartPanelVM(Me)
End Sub
#Region "METHODS"
Friend Sub Init(Type As ManagePartType)
m_Type = Type
Select Case Type
Case ManagePartType.IMPORT
' import
m_ImportedEntityList.Clear()
m_ManagerPartList.Clear()
' aggiungo geometrie importate a lista
m_nImportedPartId = EgtGetLastPart()
Dim nLayerId As Integer = EgtGetFirstLayer(m_nImportedPartId)
Dim nGeometryId As Integer = EgtGetFirstInGroup(nLayerId)
While nGeometryId <> GDB_ID.NULL
Dim sGeometryName As String = ""
EgtGetName(nGeometryId, sGeometryName)
m_ImportedEntityList.Add(New PartManager_GeomEntity(nGeometryId, sGeometryName, Nothing))
nGeometryId = EgtGetNext(nGeometryId)
End While
' aggiungo primo pezzo
m_ManagerPartList.Add(New ManagePart_Part(Nothing))
m_ManagerPartList(0).LayerList.FirstOrDefault(Function(x) x.Type = ManagePart_Layer.LayerType.PRINT_SOLID).bIsSelected = True
Case ManagePartType.MODIFY
' modify
m_ManagerPartList.Clear()
' carico pezzi in lista
For Each PrintPart In Map.refTopPanelVM.PartList
m_ManagerPartList.Add(New ManagePart_Part(PrintPart))
Next
End Select
NotifyPropertyChanged(NameOf(IsImport_Visibility))
End Sub
#End Region ' METHODS
#Region "COMMANDS"
#Region "AddPart"
Public ReadOnly Property AddPart_Command As ICommand
Get
If m_cmdAddPart Is Nothing Then
m_cmdAddPart = New Command(AddressOf AddPart)
End If
Return m_cmdAddPart
End Get
End Property
Public Sub AddPart()
m_ManagerPartList.Add(New ManagePart_Part(Nothing))
End Sub
#End Region ' AddPart
#Region "RemovePart"
Public ReadOnly Property RemovePart_Command As ICommand
Get
If m_cmdRemovePart Is Nothing Then
m_cmdRemovePart = New Command(AddressOf RemovePart)
End If
Return m_cmdRemovePart
End Get
End Property
Public Sub RemovePart()
If IsNothing(SelManagerLayer) Then
' rimuovo pezzo
m_ManagerPartList.Remove(SelManagerPart)
Else
' rimuovo geometria
Dim CurrEntity As PartManager_GeomEntity = m_SelPartManager_GeomEntity
SelManagerLayer.EntityList.Remove(m_SelPartManager_GeomEntity)
' la rimetto in lista importati
ImportedEntityList.Add(CurrEntity)
End If
End Sub
#End Region ' RemovePart
#Region "Ok"
Public ReadOnly Property Ok_Command As ICommand
Get
If m_cmdOk Is Nothing Then
m_cmdOk = New Command(AddressOf Ok)
End If
Return m_cmdOk
End Get
End Property
Public Sub Ok()
Dim sErr As New List(Of String)
' verifico che tutti i pezzi abbiano una superficie da stampare nel layer apposito
For Each CurrPart In m_ManagerPartList
For Each CurrLayer In CurrPart.LayerList
Select Case CurrLayer.Type
Case ManagePart_Layer.LayerType.PRINT_SOLID
If CurrLayer.EntityList.Count = 0 Then
If sErr.Count > 0 Then sErr(sErr.Count - 1) &= Environment.NewLine
sErr.Add(CurrPart.ghName & " - No print surface defined!")
End If
End Select
Next
Next
If sErr.Count > 0 Then
MessageBox.Show(String.Concat(sErr), "Error")
Return
Else
' Creo pezzi e layer necessari
For ManagePart_PartIndex = 0 To m_ManagerPartList.Count - 1
Dim ManagePart_Part As ManagePart_Part = m_ManagerPartList(ManagePart_PartIndex)
Dim frImportedPart As New Frame3d
EgtGetGroupGlobFrame(m_nImportedPartId, frImportedPart)
Dim nPartId As Integer = EgtCreateGroup(GDB_ID.ROOT, frImportedPart)
EgtSetName(nPartId, PART)
Dim nFrameId As Integer = GDB_ID.NULL
Dim b3PrintSolid As New BBox3d
Dim nPrintPartLayerId As Integer = GDB_ID.NULL
Dim PrintSolidEntity As PartManager_GeomEntity = Nothing
Dim nOriginalPartLayerId As Integer = GDB_ID.NULL
Dim nRibsLayerId As Integer = GDB_ID.NULL
Dim nShellNumberLayerId As Integer = GDB_ID.NULL
Dim nAuxSolidsLayerId As Integer = GDB_ID.NULL
Dim nMachStartLayerId As Integer = GDB_ID.NULL
Dim nOthersLayerId As Integer = GDB_ID.NULL
For Each ManagePart_Layer In ManagePart_Part.LayerList
Select Case ManagePart_Layer.Type
Case ManagePart_Layer.LayerType.PRINT_SOLID
nPrintPartLayerId = EgtCreateGroup(nPartId)
EgtSetName(nPrintPartLayerId, PRINT_SOLID)
If ManagePart_Layer.EntityList.Count > 0 Then
PrintSolidEntity = ManagePart_Layer.EntityList(0)
EgtRelocateGlob(PrintSolidEntity.nId, nPrintPartLayerId, GDB_POS.LAST_SON)
' calcolo box superficie per creazione riferimento
EgtGetBBoxGlob(PrintSolidEntity.nId, GDB_BB.STANDARD, b3PrintSolid)
End If
'Case ManagePart_Layer.LayerType.ORIGINAL_SOLID
' nOriginalPartLayerId = EgtCreateGroup(nPartId)
' EgtSetName(nOriginalPartLayerId, ORIGINAL_SOLID)
' For Each PartManager_GeomEntity In ManagePart_Layer.EntityList
' EgtRelocateGlob(PartManager_GeomEntity.nId, nOriginalPartLayerId, GDB_POS.LAST_SON)
' Next
Case ManagePart_Layer.LayerType.MACH_START
nMachStartLayerId = EgtCreateGroup(nPartId)
EgtSetName(nMachStartLayerId, LAY_MACH_START)
Dim nMachStartId As Integer = GDB_ID.NULL
If ManagePart_Layer.EntityList.Count > 0 Then
For Each PartManager_GeomEntity In ManagePart_Layer.EntityList
' se punto o curva compo
Dim EntityType As GDB_TY = EgtGetType(PartManager_GeomEntity.nId)
Select Case EntityType
Case GDB_TY.GEO_POINT, GDB_TY.CRV_COMPO
' gli cambio layer
EgtRelocateGlob(PartManager_GeomEntity.nId, nMachStartLayerId, GDB_POS.LAST_SON)
nMachStartId = PartManager_GeomEntity.nId
Case GDB_TY.CRV_ARC, GDB_TY.CRV_BEZ, GDB_TY.CRV_LINE
' altrimenti la trasformo in curva compo
nMachStartId = EgtCreateCurveCompo(nMachStartLayerId, PartManager_GeomEntity.nId, True)
End Select
EgtSetName(nMachStartId, START_GEOM)
' coloro l'entita' di rosso
Dim c3Red As Color3d
c3Red.FromColor(System.Drawing.Color.Red)
EgtSetColor(nMachStartId, c3Red)
Next
Else
' creo punto di partenza
Dim ptStart As Point3d = b3PrintSolid.Center() - 0.6 * b3PrintSolid.DimY() * Vector3d.Y_AX() - 0.5 * b3PrintSolid.DimZ() * Vector3d.Z_AX()
nMachStartId = EgtCreateGeoPoint(nMachStartLayerId, ptStart, GDB_RT.GLOB)
EgtSetName(nMachStartId, START_GEOM)
' coloro l'entita' di rosso
Dim c3Red As Color3d
c3Red.FromColor(System.Drawing.Color.Red)
EgtSetColor(nMachStartId, c3Red)
End If
Case ManagePart_Layer.LayerType.RIBS
nRibsLayerId = EgtCreateGroup(nPartId)
EgtSetName(nRibsLayerId, LAY_RIBS)
For Each PartManager_GeomEntity In ManagePart_Layer.EntityList
EgtSetInfo(PartManager_GeomEntity.nId, KEY_RIB_TYPE, RibEntity.RibTypes.FROMIMPORT)
EgtRelocateGlob(PartManager_GeomEntity.nId, nRibsLayerId, GDB_POS.LAST_SON)
' coloro l'entita' di viola
Dim c3LightBlue As Color3d
c3LightBlue.FromColor(System.Drawing.Color.MediumOrchid)
EgtSetColor(PartManager_GeomEntity.nId, c3LightBlue)
Next
Case ManagePart_Layer.LayerType.SHELL_NUMBER
nShellNumberLayerId = EgtCreateGroup(nPartId)
EgtSetName(nShellNumberLayerId, LAY_SHELL_NBR)
For Each PartManager_GeomEntity In ManagePart_Layer.EntityList
EgtSetInfo(PartManager_GeomEntity.nId, KEY_SHELLNBR_TYPE, ShellNumberEntity.ShellNumberTypes.FROMIMPORT)
EgtRelocateGlob(PartManager_GeomEntity.nId, nShellNumberLayerId, GDB_POS.LAST_SON)
' coloro l'entita' di verde
Dim c3LightBlue As Color3d
c3LightBlue.FromColor(System.Drawing.Color.Lime)
EgtSetColor(PartManager_GeomEntity.nId, c3LightBlue)
Next
Case ManagePart_Layer.LayerType.AUX_SOLIDS
nAuxSolidsLayerId = EgtCreateGroup(nPartId)
EgtSetName(nAuxSolidsLayerId, LAY_AUX_SOLIDS)
For Each PartManager_GeomEntity In ManagePart_Layer.EntityList
EgtSetInfo(PartManager_GeomEntity.nId, KEY_AUXSOLID_TYPE, RibEntity.RibTypes.FROMIMPORT)
EgtRelocateGlob(PartManager_GeomEntity.nId, nAuxSolidsLayerId, GDB_POS.LAST_SON)
' coloro l'entita' di oro
Dim c3LightBlue As Color3d
c3LightBlue.FromColor(System.Drawing.Color.DarkGoldenrod)
EgtSetColor(PartManager_GeomEntity.nId, c3LightBlue)
Next
Case ManagePart_Layer.LayerType.OTHERS
nOthersLayerId = EgtCreateGroup(nPartId)
EgtSetName(nOthersLayerId, LAY_OTHERS)
For Each PartManager_GeomEntity In ManagePart_Layer.EntityList
EgtRelocateGlob(PartManager_GeomEntity.nId, nOthersLayerId, GDB_POS.LAST_SON)
Next
If ManagePart_PartIndex = 0 Then
For Each PartManager_GeomEntity In ImportedEntityList
' se curva
Dim EntityType As GDB_TY = EgtGetType(PartManager_GeomEntity.nId)
Select Case EntityType
Case GDB_TY.CRV_ARC, GDB_TY.CRV_BEZ, GDB_TY.CRV_LINE
' la trasformo in curva compo
EgtCreateCurveCompo(nOthersLayerId, PartManager_GeomEntity.nId, True)
Case Else
' altrimenti la sposto solamente
EgtRelocateGlob(PartManager_GeomEntity.nId, nOthersLayerId, GDB_POS.LAST_SON)
End Select
Next
End If
End Select
Next
' aggiungo riferimento
Dim nReferenceLayerId As Integer = EgtCreateGroup(nPartId)
EgtSetName(nReferenceLayerId, LAY_REFERENCE)
' Creo riferimento
Dim ptOrig As New Point3d(b3PrintSolid.Min())
Dim frPrintSolid As New Frame3d(ptOrig)
nFrameId = EgtCreateGeoFrame(nReferenceLayerId, frPrintSolid, GDB_RT.GLOB)
If nFrameId Then
EgtSetName(nFrameId, FRAME_PART)
EgtSetMode(nFrameId, GDB_MD.LOCKED)
End If
EgtSetInfo(nReferenceLayerId, KEY_REFERENCE, ReferenceBtn.References.BL)
' appoggio il pezzo sulla tavola
EgtMove(nPartId, New Vector3d(0, 0, -b3PrintSolid.Min.z))
' lo aggiungo a lista pezzi
Dim sFilePath As String = ""
EgtGetInfo(m_nImportedPartId, FILE_PATH, sFilePath)
EgtSetInfo(nPartId, FILE_PATH, sFilePath)
EgtSetInfo(nPartId, "PartOnTable", 1)
Dim NewPart As New Print3dPartVM(nPartId, nPrintPartLayerId, PrintSolidEntity.nId, nOriginalPartLayerId, nReferenceLayerId, nFrameId, nMachStartLayerId, nRibsLayerId, nShellNumberLayerId, nAuxSolidsLayerId, nOthersLayerId, sFilePath)
Map.refTopPanelVM.PartList.Add(NewPart)
Next
End If
'EgtAddMachGroup("3dPrint")
'EgtSetTable("Tab")
'Dim nRawId As Integer = EgtAddRawPart(b3PrintSolid.Min, b3PrintSolid.DimX, b3PrintSolid.DimY, b3PrintSolid.DimZ, New Color3d(128, 128, 128, 30))
'EgtAddPartToRawPart(nPartId, b3PrintSolid.Min, nRawId)
'EgtMoveToCornerRawPart(nRawId, New Point3d(dPosX, dPosY, 0), MCH_CR.BL)
'EgtResetCurrMachGroup()
' seleziono ultimo pezzo aggiunto
Map.refTopPanelVM.SelLastPart()
' elimino vecchio pezzo d'importazione
EgtErase(m_nImportedPartId)
EgtDraw()
' ripristino modalita' standard
Map.refTopPanelVM.SelPage = Pages.MODIFY
End Sub
#End Region ' Ok
#Region "Cancel"
Public ReadOnly Property Cancel_Command As ICommand
Get
If m_cmdCancel Is Nothing Then
m_cmdCancel = New Command(AddressOf Cancel)
End If
Return m_cmdCancel
End Get
End Property
Public Sub Cancel()
' elimino pezzo importato
EgtErase(m_nImportedPartId)
EgtDraw()
' se ci sono pezzi
If Map.refTopPanelVM.PartList.Count > 0 Then
' ripristino modalita' standard
Map.refTopPanelVM.SelPage = Pages.MODIFY
Else
Map.refTopPanelVM.SelPage = Pages.NULL
End If
End Sub
#End Region ' Cancel
#End Region ' COMMANDS
End Class
+491
View File
@@ -0,0 +1,491 @@
Imports System.Collections.ObjectModel
Imports EgtUILib
Imports EgtWPFLib5
Public Class PartManager_GeomEntity
Inherits VMBase
' layer sotto cui e' questa entita'
Private m_OrigLayer As ManagePart_Layer
Friend ReadOnly Property OrigLayer As ManagePart_Layer
Get
Return m_OrigLayer
End Get
End Property
Private m_bIsSelected As Boolean
Public Property bIsSelected As Boolean
Get
Return m_bIsSelected
End Get
Set(value As Boolean)
m_bIsSelected = value
' seleziono in scena
EgtDeselectAll()
If Not IsNothing(value) Then
EgtSelectObj(m_nId)
End If
EgtDraw()
' segno come elemento selezionato in treeview
Map.refManagePartPanelVM.SetSelPartManager_GeomEntity(Me)
End Set
End Property
Private m_nId As Integer = GDB_ID.NULL
Public ReadOnly Property nId As Integer
Get
Return m_nId
End Get
End Property
Private m_sName As String
Public ReadOnly Property sName As String
Get
Return m_sName
End Get
End Property
Public ReadOnly Property ghName As String
Get
Return m_nId
End Get
End Property
Private m_MenuList As New List(Of MenuItemVm)
Public Property MenuList As List(Of MenuItemVm)
Get
Return m_MenuList
End Get
Set(value As List(Of MenuItemVm))
m_MenuList = value
End Set
End Property
' Definizione comandi
Private m_cmdGeomEntityDoubleClick As ICommand
Sub New(nId As Integer, sName As String, OrigLayer As ManagePart_Layer)
m_nId = nId
m_sName = sName
m_OrigLayer = OrigLayer
' aggiungo voci layer a contextmenu
CreateContextMenu(OrigLayer)
End Sub
Friend Sub UpdateContextMenu(OrigLayer As ManagePart_Layer)
m_MenuList.Clear()
' aggiungo voci layer a contextmenu
CreateContextMenu(OrigLayer)
End Sub
Friend Sub CreateContextMenu(OrigLayer As ManagePart_Layer)
For Each ProjectPart In Map.refTopPanelVM.PartList
' verifico in quali layer puo' andare questo elemento
Dim EntityType As GDB_TY = EgtGetType(nId)
Select Case EntityType
Case GDB_TY.GEO_POINT, GDB_TY.CRV_COMPO, GDB_TY.CRV_ARC, GDB_TY.CRV_BEZ, GDB_TY.CRV_LINE
If Not IsNothing(OrigLayer) Then
' recupero i layer
If OrigLayer.Type <> ManagePart_Layer.LayerType.MACH_START Then m_MenuList.Add(New MenuItemVm(Me, OrigLayer, ManagePart_Layer.LayerType.MACH_START, ProjectPart))
If OrigLayer.Type <> ManagePart_Layer.LayerType.OTHERS Then m_MenuList.Add(New MenuItemVm(Me, OrigLayer, ManagePart_Layer.LayerType.OTHERS, ProjectPart))
Else
m_MenuList.Add(New MenuItemVm(Me, OrigLayer, ManagePart_Layer.LayerType.MACH_START, ProjectPart))
m_MenuList.Add(New MenuItemVm(Me, OrigLayer, ManagePart_Layer.LayerType.OTHERS, ProjectPart))
End If
Case GDB_TY.SRF_MESH
If Not IsNothing(OrigLayer) Then
' verifico se volume chiuso
If OrigLayer.Type <> ManagePart_Layer.LayerType.PRINT_SOLID Then m_MenuList.Add(New MenuItemVm(Me, OrigLayer, ManagePart_Layer.LayerType.PRINT_SOLID, ProjectPart))
If OrigLayer.Type <> ManagePart_Layer.LayerType.SHELL_NUMBER Then m_MenuList.Add(New MenuItemVm(Me, OrigLayer, ManagePart_Layer.LayerType.SHELL_NUMBER, ProjectPart))
If OrigLayer.Type <> ManagePart_Layer.LayerType.AUX_SOLIDS Then m_MenuList.Add(New MenuItemVm(Me, OrigLayer, ManagePart_Layer.LayerType.AUX_SOLIDS, ProjectPart))
If OrigLayer.Type <> ManagePart_Layer.LayerType.RIBS Then m_MenuList.Add(New MenuItemVm(Me, OrigLayer, ManagePart_Layer.LayerType.RIBS, ProjectPart))
If OrigLayer.Type <> ManagePart_Layer.LayerType.OTHERS Then m_MenuList.Add(New MenuItemVm(Me, OrigLayer, ManagePart_Layer.LayerType.OTHERS, ProjectPart))
Else
m_MenuList.Add(New MenuItemVm(Me, OrigLayer, ManagePart_Layer.LayerType.PRINT_SOLID, ProjectPart))
m_MenuList.Add(New MenuItemVm(Me, OrigLayer, ManagePart_Layer.LayerType.SHELL_NUMBER, ProjectPart))
m_MenuList.Add(New MenuItemVm(Me, OrigLayer, ManagePart_Layer.LayerType.AUX_SOLIDS, ProjectPart))
m_MenuList.Add(New MenuItemVm(Me, OrigLayer, ManagePart_Layer.LayerType.RIBS, ProjectPart))
m_MenuList.Add(New MenuItemVm(Me, OrigLayer, ManagePart_Layer.LayerType.OTHERS, ProjectPart))
End If
End Select
Next
End Sub
Friend Sub UpdateOrigLayer(NewLayer As ManagePart_Layer)
m_OrigLayer = NewLayer
End Sub
#Region "COMMANDS"
#Region "GeomEntityDoubleClick"
Public ReadOnly Property GeomEntityDoubleClick_Command As ICommand
Get
If m_cmdGeomEntityDoubleClick Is Nothing Then
m_cmdGeomEntityDoubleClick = New Command(AddressOf GeomEntityDoubleClick)
End If
Return m_cmdGeomEntityDoubleClick
End Get
End Property
Public Sub GeomEntityDoubleClick()
If Not IsNothing(Map.refManagePartPanelVM.SelManagerLayer) Then
Map.refManagePartPanelVM.ImportedEntityList.Remove(Me)
Map.refManagePartPanelVM.SelManagerLayer.EntityList.Add(Me)
End If
End Sub
#End Region ' ImportedEntity
#End Region ' COMMANDS
End Class
Public Class ManagePart_Part
Inherits VMBase
Private m_bIsSelected As Boolean
Public Property bIsSelected As Boolean
Get
Return m_bIsSelected
End Get
Set(value As Boolean)
m_bIsSelected = value
Map.refManagePartPanelVM.SetSelManagerPart(Me)
End Set
End Property
Private m_nId As Integer
Public ReadOnly Property nId As Integer
Get
Return m_nId
End Get
End Property
Private m_PrintPart As Print3dPartVM
Public ReadOnly Property PrintPart As Print3dPartVM
Get
Return m_PrintPart
End Get
End Property
Private m_sName As String
Public Property sName As String
Get
Return m_sName
End Get
Set(value As String)
m_sName = value
End Set
End Property
Public ReadOnly Property ghName As String
Get
Return If(Not IsNothing(m_PrintPart), m_PrintPart.sImportedFileName, m_nId & " " & m_sName)
End Get
End Property
Private m_LayerList As New ObservableCollection(Of ManagePart_Layer)
Public ReadOnly Property LayerList As ObservableCollection(Of ManagePart_Layer)
Get
Return m_LayerList
End Get
End Property
Sub New(PrintPart As Print3dPartVM)
m_PrintPart = PrintPart
If Not IsNothing(PrintPart) Then
m_LayerList.Add(New ManagePart_Layer(ManagePart_Layer.LayerType.PRINT_SOLID, "Print", PrintPart))
m_LayerList.Add(New ManagePart_Layer(ManagePart_Layer.LayerType.MACH_START, "Layer Start", PrintPart))
m_LayerList.Add(New ManagePart_Layer(ManagePart_Layer.LayerType.RIBS, "Ribs", PrintPart))
m_LayerList.Add(New ManagePart_Layer(ManagePart_Layer.LayerType.SHELL_NUMBER, "Reduce Shell Number", PrintPart))
m_LayerList.Add(New ManagePart_Layer(ManagePart_Layer.LayerType.AUX_SOLIDS, "Filled Solids", PrintPart))
m_LayerList.Add(New ManagePart_Layer(ManagePart_Layer.LayerType.OTHERS, "Others", PrintPart))
Else
m_LayerList.Add(New ManagePart_Layer(ManagePart_Layer.LayerType.PRINT_SOLID, "Print"))
m_LayerList.Add(New ManagePart_Layer(ManagePart_Layer.LayerType.MACH_START, "Layer Start"))
m_LayerList.Add(New ManagePart_Layer(ManagePart_Layer.LayerType.RIBS, "Ribs"))
m_LayerList.Add(New ManagePart_Layer(ManagePart_Layer.LayerType.SHELL_NUMBER, "Reduce Shell Number"))
m_LayerList.Add(New ManagePart_Layer(ManagePart_Layer.LayerType.AUX_SOLIDS, "Filled Solids"))
m_LayerList.Add(New ManagePart_Layer(ManagePart_Layer.LayerType.OTHERS, "Others"))
End If
End Sub
End Class
Public Class ManagePart_Layer
Inherits VMBase
Public Enum LayerType As Integer
PRINT_SOLID = 1
MACH_START = 2
RIBS = 3
SHELL_NUMBER = 4
AUX_SOLIDS = 5
OTHERS = 7
End Enum
Private m_nLayerId As Integer
Private m_bIsSelected As Boolean
Public Property bIsSelected As Boolean
Get
Return m_bIsSelected
End Get
Set(value As Boolean)
m_bIsSelected = value
Map.refManagePartPanelVM.SetSelManagerLayer(Me)
End Set
End Property
Private m_Type As LayerType
Public Property Type As LayerType
Get
Return m_Type
End Get
Set(value As LayerType)
m_Type = value
End Set
End Property
Private m_sName As String
Public Property sName As String
Get
Return m_sName
End Get
Set(value As String)
m_sName = value
End Set
End Property
Private m_EntityList As New ObservableCollection(Of PartManager_GeomEntity)
Public Property EntityList As ObservableCollection(Of PartManager_GeomEntity)
Get
Return m_EntityList
End Get
Set(value As ObservableCollection(Of PartManager_GeomEntity))
m_EntityList = value
End Set
End Property
Sub New(Type As LayerType, sName As String)
m_Type = Type
m_sName = sName
End Sub
Sub New(Type As LayerType, sName As String, PrintPart As Print3dPartVM)
m_Type = Type
m_sName = sName
Select Case Type
Case LayerType.PRINT_SOLID
m_nLayerId = PrintPart.nPrintSolidLayerId
Dim nEntityId As Integer = EgtGetFirstInGroup(m_nLayerId)
Dim sEntitytName As String = ""
EgtGetName(nEntityId, sEntitytName)
m_EntityList.Add(New PartManager_GeomEntity(nEntityId, sEntitytName, Me))
Case LayerType.MACH_START
m_nLayerId = PrintPart.nMachStartLayerId
Dim nEntityId As Integer = EgtGetFirstInGroup(m_nLayerId)
Dim sEntitytName As String = ""
EgtGetName(nEntityId, sEntitytName)
While nEntityId <> GDB_ID.NULL
m_EntityList.Add(New PartManager_GeomEntity(nEntityId, sEntitytName, Me))
nEntityId = EgtGetNext(nEntityId)
EgtGetName(nEntityId, sEntitytName)
End While
Case LayerType.RIBS
m_nLayerId = PrintPart.nRibsLayerId
Dim nEntityId As Integer = EgtGetFirstInGroup(m_nLayerId)
Dim sEntitytName As String = ""
EgtGetName(nEntityId, sEntitytName)
While nEntityId <> GDB_ID.NULL
Dim RibType As Integer = RibEntity.RibTypes.FROMDRAW
EgtGetInfo(nEntityId, KEY_RIB_TYPE, RibType)
If RibType = RibEntity.RibTypes.FROMIMPORT Then
m_EntityList.Add(New PartManager_GeomEntity(nEntityId, sEntitytName, Me))
End If
nEntityId = EgtGetNext(nEntityId)
EgtGetName(nEntityId, sEntitytName)
End While
Case LayerType.SHELL_NUMBER
m_nLayerId = PrintPart.nShellNumberLayerId
Dim nEntityId As Integer = EgtGetFirstInGroup(m_nLayerId)
Dim sEntitytName As String = ""
EgtGetName(nEntityId, sEntitytName)
While nEntityId <> GDB_ID.NULL
Dim ShellType As Integer = ShellNumberEntity.ShellNumberTypes.FROMDRAW
EgtGetInfo(nEntityId, KEY_SHELLNBR_TYPE, ShellType)
If ShellType = ShellNumberEntity.ShellNumberTypes.FROMIMPORT Then
m_EntityList.Add(New PartManager_GeomEntity(nEntityId, sEntitytName, Me))
End If
nEntityId = EgtGetNext(nEntityId)
EgtGetName(nEntityId, sEntitytName)
End While
Case LayerType.AUX_SOLIDS
m_nLayerId = PrintPart.nAuxSolidsLayerId
Dim nEntityId As Integer = EgtGetFirstInGroup(m_nLayerId)
Dim sEntitytName As String = ""
EgtGetName(nEntityId, sEntitytName)
While nEntityId <> GDB_ID.NULL
'Dim ShellType As Integer = ShellNumberEntity.ShellNumberTypes.FROMDRAW
'EgtGetInfo(nEntityId, KEY_SHELLNBR_TYPE, ShellType)
'If ShellType = ShellNumberEntity.ShellNumberTypes.FROMIMPORT Then
m_EntityList.Add(New PartManager_GeomEntity(nEntityId, sEntitytName, Me))
'End If
nEntityId = EgtGetNext(nEntityId)
EgtGetName(nEntityId, sEntitytName)
End While
Case LayerType.OTHERS
m_nLayerId = PrintPart.nOthersLayerId
Dim nEntityId As Integer = EgtGetFirstInGroup(m_nLayerId)
Dim sEntitytName As String = ""
EgtGetName(nEntityId, sEntitytName)
While nEntityId <> GDB_ID.NULL
m_EntityList.Add(New PartManager_GeomEntity(nEntityId, sEntitytName, Me))
nEntityId = EgtGetNext(nEntityId)
EgtGetName(nEntityId, sEntitytName)
End While
End Select
End Sub
End Class
Public Class MenuItemVm
Inherits VMBase
' enita' di origine
Private m_OrigEntity As PartManager_GeomEntity
Private m_OrigLayer As ManagePart_Layer
' pezzo in cui spostare
Private m_Part As Print3dPartVM
' tipo del layer indicato
Private m_Type As ManagePart_Layer.LayerType
Public Property Type As ManagePart_Layer.LayerType
Get
Return m_Type
End Get
Set(value As ManagePart_Layer.LayerType)
m_Type = value
End Set
End Property
Public ReadOnly Property sMsg As String
Get
Dim sType As String = ""
Select Case m_Type
Case ManagePart_Layer.LayerType.PRINT_SOLID
sType = "Print"
Case ManagePart_Layer.LayerType.MACH_START
sType = "Layer Start"
Case ManagePart_Layer.LayerType.RIBS
sType = "Ribs"
Case ManagePart_Layer.LayerType.SHELL_NUMBER
sType = "Reduce shell number"
Case ManagePart_Layer.LayerType.AUX_SOLIDS
sType = "Filled Solids"
Case ManagePart_Layer.LayerType.OTHERS
sType = "Others"
End Select
Return "Move to " & sType
End Get
End Property
' Definizione comando
Private m_cmdCommand As ICommand
Sub New(OrigEntity As PartManager_GeomEntity, OrigLayer As ManagePart_Layer, Type As ManagePart_Layer.LayerType, Part As Print3dPartVM)
m_OrigEntity = OrigEntity
m_OrigLayer = OrigLayer
m_Type = Type
m_Part = Part
End Sub
#Region "Cancel"
Public ReadOnly Property MenuItem_Command As ICommand
Get
If m_cmdCommand Is Nothing Then
m_cmdCommand = New Command(AddressOf Command)
End If
Return m_cmdCommand
End Get
End Property
Public Sub Command()
' recupero layer da pezzo
Dim nLayerId As Integer = GDB_ID.NULL
Select Case m_Type
Case ManagePart_Layer.LayerType.PRINT_SOLID
nLayerId = m_Part.nPrintSolidLayerId
Case ManagePart_Layer.LayerType.MACH_START
nLayerId = m_Part.nMachStartLayerId
Case ManagePart_Layer.LayerType.RIBS
nLayerId = m_Part.nRibsLayerId
Case ManagePart_Layer.LayerType.SHELL_NUMBER
nLayerId = m_Part.nShellNumberLayerId
Case ManagePart_Layer.LayerType.AUX_SOLIDS
nLayerId = m_Part.nAuxSolidsLayerId
Case ManagePart_Layer.LayerType.OTHERS
nLayerId = m_Part.nOthersLayerId
End Select
' sposto entita'
If EgtRelocateGlob(m_OrigEntity.nId, nLayerId) Then
' elimino info vecchio layer
Select Case m_OrigLayer.Type
Case ManagePart_Layer.LayerType.PRINT_SOLID
EgtResetMark(m_OrigEntity.nId)
Case ManagePart_Layer.LayerType.MACH_START
Case ManagePart_Layer.LayerType.RIBS
EgtRemoveInfo(m_OrigEntity.nId, KEY_RIB_TYPE)
Case ManagePart_Layer.LayerType.SHELL_NUMBER
EgtRemoveInfo(m_OrigEntity.nId, KEY_SHELLNBR_TYPE)
Case ManagePart_Layer.LayerType.AUX_SOLIDS
EgtRemoveInfo(m_OrigEntity.nId, KEY_AUXSOLID_TYPE)
Case ManagePart_Layer.LayerType.OTHERS
End Select
' sposto in lista
m_OrigLayer.EntityList.Remove(m_OrigEntity)
Dim NewPart As ManagePart_Part = Map.refManagePartPanelVM.ManagerPartList.FirstOrDefault(Function(x) x.PrintPart.nPartId = m_Part.nPartId)
If Not IsNothing(NewPart) Then
Dim NewLayer As ManagePart_Layer = NewPart.LayerList.FirstOrDefault(Function(x) x.Type = m_Type)
If Not IsNothing(NewLayer) Then
NewLayer.EntityList.Add(m_OrigEntity)
' aggiorno riferimenti nell'entita'
m_OrigEntity.UpdateOrigLayer(NewLayer)
End If
End If
' aggiungo info nuovo layer
Select Case m_Type
Case ManagePart_Layer.LayerType.PRINT_SOLID
EgtSetName(m_OrigEntity.nId, PRINT_SOLID)
EgtSetColor(m_OrigEntity.nId, c3Print)
Case ManagePart_Layer.LayerType.MACH_START
EgtSetName(m_OrigEntity.nId, LAY_MACH_START)
EgtSetColor(m_OrigEntity.nId, c3MachStart)
Case ManagePart_Layer.LayerType.RIBS
EgtSetName(m_OrigEntity.nId, LAY_RIBS)
EgtSetInfo(m_OrigEntity.nId, KEY_RIB_TYPE, RibEntity.RibTypes.FROMIMPORT)
EgtSetColor(m_OrigEntity.nId, c3Rib)
Case ManagePart_Layer.LayerType.SHELL_NUMBER
EgtSetName(m_OrigEntity.nId, LAY_SHELL_NBR)
EgtSetInfo(m_OrigEntity.nId, KEY_SHELLNBR_TYPE, ShellNumberEntity.ShellNumberTypes.FROMIMPORT)
EgtSetColor(m_OrigEntity.nId, c3ShellNumber)
Case ManagePart_Layer.LayerType.AUX_SOLIDS
EgtSetName(m_OrigEntity.nId, LAY_AUX_SOLIDS)
EgtSetInfo(m_OrigEntity.nId, KEY_AUXSOLID_TYPE, RibEntity.RibTypes.FROMIMPORT)
EgtSetColor(m_OrigEntity.nId, c3AuxSolids)
Case ManagePart_Layer.LayerType.OTHERS
EgtSetName(m_OrigEntity.nId, LAY_OTHERS)
EgtSetColor(m_OrigEntity.nId, c3Others)
End Select
EgtDraw()
' aggiorno riferimenti nel context menu item
m_OrigEntity.UpdateContextMenu(m_OrigEntity.OrigLayer)
End If
End Sub
#End Region ' Cancel
End Class
+2 -2
View File
@@ -1175,7 +1175,7 @@ Public Class MySceneHostVM
While nId <> GDB_ID.NULL
' Recupero l'identificativo del pezzo cui appartiene
Dim nPartId As Integer = EgtGetParent(EgtGetParent(nId))
If nPartId = Map.refImportPanelVM.nImportedPartId Then
If nPartId = Map.refManagePartPanelVM.nImportedPartId Then
Dim EntityType As GDB_TY = EgtGetType(nId)
Select Case EntityType
Case GDB_TY.CRV_ARC, GDB_TY.CRV_BEZ, GDB_TY.CRV_COMPO, GDB_TY.CRV_LINE
@@ -1225,7 +1225,7 @@ Public Class MySceneHostVM
If Not m_bDragToStart Then
' Se selezione da eseguire
ElseIf m_nIdToSel <> GDB_ID.NULL Then
Map.refImportPanelVM.SetSelImportedEntity(m_nIdToSel)
Map.refManagePartPanelVM.SetSelImportedEntity(m_nIdToSel)
End If
' Reset
m_bDrag = False
+2 -1
View File
@@ -395,7 +395,8 @@ Public Class TopPanelVM
Private Sub InitIMPORT()
Map.refLeftPanelVM.SetSelPanel(LeftPanelVM.Panels.IMPORT)
Map.refImportPanelVM.Init()
''Map.refImportPanelVM.Init()
Map.refManagePartPanelVM.Init(ManagePartPanelVM.ManagePartType.IMPORT)
End Sub
Private Function ExitIMPORT()
+3 -2
View File
@@ -29,7 +29,7 @@
<PrintApp:DispositionPanelVM x:Key="DispositionPanelVM"/>
<PrintApp:StartMachPanelVM x:Key="StartMachPanelVM"/>
<PrintApp:RibPanelVM x:Key="RibPanelVM"/>
<PrintApp:ImportPanelVM x:Key="ImportPanelVM"/>
<!--<PrintApp:ImportPanelVM x:Key="ImportPanelVM"/>-->
<PrintApp:TopPanelVM x:Key="TopPanelVM"/>
<PrintApp:ControllerInputPanelVM x:Key="ControllerInputPanelVM"/>
<PrintApp:SliceManagerVM x:Key="SliceManagerVM"/>
@@ -44,7 +44,8 @@
<PrintApp:SimulationPanelVM x:Key="SimulationPanelVM"/>
<PrintApp:ReferencePanelVM x:Key="ReferencePanelVM"/>
<PrintApp:ViewLayerManagerVM x:Key="ViewLayerManagerVM"/>
<PrintApp:ModifyPartPanelVM x:Key="ModifyPartPanelVM"/>
<!--<PrintApp:ModifyPartPanelVM x:Key="ModifyPartPanelVM"/>-->
<PrintApp:ManagePartPanelVM x:Key="ManagePartPanelVM"/>
<!--<EgtBEAMWALL:CALCPanelVM x:Key="CALCPanelVM"/>
<EgtBEAMWALL:PartParametersVM x:Key="PartParametersVM"/>
<EgtBEAMWALL:LeftPanelVM x:Key="LeftPanelVM"/>
+30 -18
View File
@@ -47,7 +47,7 @@ Module Map
'Private m_refSplitModeVM As SplitModeVM
'Private m_refMoveRawModeVM As MoveRawModeVM
'Private m_refSimulTabVM As SimulTabVM
Private m_refImportPanelVM As ImportPanelVM
''Private m_refImportPanelVM As ImportPanelVM
Private m_refSliceManagerVM As SliceManagerVM
Private m_refTFSEditorVM As TFSEditorVM
Private m_refCurrMachiningPanelVM As CurrMachiningPanelVM
@@ -61,7 +61,8 @@ Module Map
Private m_refShellNumberPanelVM As ShellNumberPanelVM
Private m_refShellNumberParamPanelVM As ShellNumberParamPanelVM
Private m_refSplashScreen As SplashScreen
Private m_refModifyPartPanelVM As ModifyPartPanelVM
''Private m_refModifyPartPanelVM As ModifyPartPanelVM
Private m_refManagePartPanelVM As ManagePartPanelVM
#Region "Get"
@@ -346,11 +347,11 @@ Module Map
' End Get
'End Property
Public ReadOnly Property refImportPanelVM As ImportPanelVM
Get
Return m_refImportPanelVM
End Get
End Property
'Public ReadOnly Property refImportPanelVM As ImportPanelVM
' Get
' Return m_refImportPanelVM
' End Get
'End Property
Public ReadOnly Property refSliceManagerVM As SliceManagerVM
Get
@@ -429,10 +430,16 @@ Module Map
Return m_refSplashScreen
End Get
End Property
Public ReadOnly Property refModifyPartPanelVM As ModifyPartPanelVM
''Public ReadOnly Property refModifyPartPanelVM As ModifyPartPanelVM
'' Get
'' Return m_refModifyPartPanelVM
'' End Get
''End Property
Public ReadOnly Property refManagePartPanelVM As ManagePartPanelVM
Get
Return m_refModifyPartPanelVM
Return m_refManagePartPanelVM
End Get
End Property
@@ -674,10 +681,10 @@ Module Map
' Return Not IsNothing(m_refSimulTabVM)
'End Function
Friend Function SetRefImportPanelVM(ImportPanelVM As ImportPanelVM) As Boolean
m_refImportPanelVM = ImportPanelVM
Return Not IsNothing(m_refImportPanelVM)
End Function
''Friend Function SetRefImportPanelVM(ImportPanelVM As ImportPanelVM) As Boolean
'' m_refImportPanelVM = ImportPanelVM
'' Return Not IsNothing(m_refImportPanelVM)
''End Function
Friend Function SetRefSliceManagerVM(SliceManagerVM As SliceManagerVM) As Boolean
m_refSliceManagerVM = SliceManagerVM
@@ -743,10 +750,15 @@ Module Map
m_refSplashScreen = SplashScreen
Return Not IsNothing(m_refSplashScreen)
End Function
Friend Function SetRefModifyPartPanelVM(ModifyPartPanelVM As ModifyPartPanelVM) As Boolean
m_refModifyPartPanelVM = ModifyPartPanelVM
Return Not IsNothing(m_refModifyPartPanelVM)
''Friend Function SetRefModifyPartPanelVM(ModifyPartPanelVM As ModifyPartPanelVM) As Boolean
'' m_refModifyPartPanelVM = ModifyPartPanelVM
'' Return Not IsNothing(m_refModifyPartPanelVM)
''End Function
Friend Function SetRefManagePartPanelVM(ManagePartPanelVM As ManagePartPanelVM) As Boolean
m_refManagePartPanelVM = ManagePartPanelVM
Return Not IsNothing(m_refManagePartPanelVM)
End Function
#End Region ' Set