From 6f2fcbaf3e9018faee4b7bbc05181a5cd92313ae Mon Sep 17 00:00:00 2001 From: Emmanuele Sassi Date: Thu, 12 Jan 2023 09:21:16 +0100 Subject: [PATCH] - aggiunto nuovo tipo di rib - aggiunta importazione da tasto destro su ManageModifyPart --- Icarus/CurrMachiningPanel/CurrMachining.vb | 3 +- Icarus/MachiningDb/Machining.vb | 34 +++--- .../ManagePartPanel/ManagePartPanelV.xaml.vb | 4 +- Icarus/ManagePartPanel/ManagePartUtility.vb | 100 +++++++++++++++++ Icarus/ReferencePanel/ReferencePanelVM.vb | 17 +-- Icarus/RibParamPanel/RibParamPanelVM.vb | 3 +- Icarus/SceneHost/MySceneHostVM.vb | 104 +++++++++++++----- 7 files changed, 209 insertions(+), 56 deletions(-) diff --git a/Icarus/CurrMachiningPanel/CurrMachining.vb b/Icarus/CurrMachiningPanel/CurrMachining.vb index cc321ce..e3745c6 100644 --- a/Icarus/CurrMachiningPanel/CurrMachining.vb +++ b/Icarus/CurrMachiningPanel/CurrMachining.vb @@ -742,7 +742,8 @@ Public Class CurrComboMachiningParam Case Params.RIBSTYPE m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_RIBSTYPE.INTERNAL, "Internal"), New IdNameStruct(Machining.MPAR_RIBSTYPE.EXTERNAL, "External"), - New IdNameStruct(Machining.MPAR_RIBSTYPE.UNBOUNDED, "Unbounded")}) + New IdNameStruct(Machining.MPAR_RIBSTYPE.UNBOUNDED, "Unbounded"), + New IdNameStruct(Machining.MPAR_RIBSTYPE.SUPPORT, "Support")}) Dim nSelValue As Integer = 0 bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSTYPE, nSelValue) m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue) diff --git a/Icarus/MachiningDb/Machining.vb b/Icarus/MachiningDb/Machining.vb index a19a1bc..71e11d2 100644 --- a/Icarus/MachiningDb/Machining.vb +++ b/Icarus/MachiningDb/Machining.vb @@ -39,6 +39,7 @@ Public Class Machining INTERNAL = 1 EXTERNAL = 2 UNBOUNDED = 3 + SUPPORT = 4 End Enum Public Enum MPAR_INFILL As Integer @@ -1010,49 +1011,50 @@ Public Class ComboMachiningParam m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue) Case Params.STRANDORDER m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_STRANDORDERS.OUTTOIN, "From Outside To Inside"), - New IdNameStruct(Machining.MPAR_STRANDORDERS.INTOOUT, "From Inside To Outside")}) + New IdNameStruct(Machining.MPAR_STRANDORDERS.INTOOUT, "From Inside To Outside")}) m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_STRANDORDER, 0)) Case Params.DIRECTION m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_DIRECTIONS.CCW, "Counterclockwise"), - New IdNameStruct(Machining.MPAR_DIRECTIONS.CW, "Clockwise")}) + New IdNameStruct(Machining.MPAR_DIRECTIONS.CW, "Clockwise")}) m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_DIRECTION, 0)) Case Params.LINKTYPE m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_LINKTYPES.NONE, "None"), - New IdNameStruct(Machining.MPAR_LINKTYPES.LINEAR, "Linear"), - New IdNameStruct(Machining.MPAR_LINKTYPES.BIARC, "Biarc")}) + New IdNameStruct(Machining.MPAR_LINKTYPES.LINEAR, "Linear"), + New IdNameStruct(Machining.MPAR_LINKTYPES.BIARC, "Biarc")}) m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_LINKTYPE, 0)) Case Params.LEADIN m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_LEADINOUT.NONE, "None"), - New IdNameStruct(Machining.MPAR_LEADINOUT.LINEAR, "Linear"), - New IdNameStruct(Machining.MPAR_LEADINOUT.ARC, "Arc")}) + New IdNameStruct(Machining.MPAR_LEADINOUT.LINEAR, "Linear"), + New IdNameStruct(Machining.MPAR_LEADINOUT.ARC, "Arc")}) m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_LEADIN, 0)) Case Params.LEADOUT m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_LEADINOUT.NONE, "None"), - New IdNameStruct(Machining.MPAR_LEADINOUT.LINEAR, "Linear"), - New IdNameStruct(Machining.MPAR_LEADINOUT.ARC, "Arc")}) + New IdNameStruct(Machining.MPAR_LEADINOUT.LINEAR, "Linear"), + New IdNameStruct(Machining.MPAR_LEADINOUT.ARC, "Arc")}) m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_LEADOUT, 0)) Case Params.RIBSTYPE m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_RIBSTYPE.INTERNAL, "Internal"), - New IdNameStruct(Machining.MPAR_RIBSTYPE.EXTERNAL, "External"), - New IdNameStruct(Machining.MPAR_RIBSTYPE.UNBOUNDED, "Unbounded")}) + New IdNameStruct(Machining.MPAR_RIBSTYPE.EXTERNAL, "External"), + New IdNameStruct(Machining.MPAR_RIBSTYPE.UNBOUNDED, "Unbounded"), + New IdNameStruct(Machining.MPAR_RIBSTYPE.SUPPORT, "Support")}) m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_RIBSTYPE, 1)) Case Params.AUXSOLIDSINFILL m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_INFILL.NONE, "None"), - New IdNameStruct(Machining.MPAR_INFILL.OFFSET, "Offset"), - New IdNameStruct(Machining.MPAR_INFILL.ZIGZAG, "ZigZag")}) + New IdNameStruct(Machining.MPAR_INFILL.OFFSET, "Offset"), + New IdNameStruct(Machining.MPAR_INFILL.ZIGZAG, "ZigZag")}) m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_AUXSOLIDSINFILL, 0)) Case Params.AUXSOLIDSSTRANDORDER m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_STRANDORDERS.OUTTOIN, "From Outside To Inside"), - New IdNameStruct(Machining.MPAR_STRANDORDERS.INTOOUT, "From Inside To Outside")}) + New IdNameStruct(Machining.MPAR_STRANDORDERS.INTOOUT, "From Inside To Outside")}) m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_AUXSOLIDSSTRANDORDER, 0)) Case Params.AUXSOLIDSLINKTYPE m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_LINKTYPES.NONE, "None"), - New IdNameStruct(Machining.MPAR_LINKTYPES.LINEAR, "Linear"), - New IdNameStruct(Machining.MPAR_LINKTYPES.BIARC, "Biarc")}) + New IdNameStruct(Machining.MPAR_LINKTYPES.LINEAR, "Linear"), + New IdNameStruct(Machining.MPAR_LINKTYPES.BIARC, "Biarc")}) m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_AUXSOLIDSLINKTYPE, 0)) Case Params.DYNAMIC_MODE m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_DYNAMIC_MODE.STANDARD, "Standard"), - New IdNameStruct(Machining.MPAR_DYNAMIC_MODE.FAST, "Fast")}) + New IdNameStruct(Machining.MPAR_DYNAMIC_MODE.FAST, "Fast")}) m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_DYNAMICMODE, 1)) End Select End If diff --git a/Icarus/ManagePartPanel/ManagePartPanelV.xaml.vb b/Icarus/ManagePartPanel/ManagePartPanelV.xaml.vb index c4f4723..ff9c652 100644 --- a/Icarus/ManagePartPanel/ManagePartPanelV.xaml.vb +++ b/Icarus/ManagePartPanel/ManagePartPanelV.xaml.vb @@ -12,7 +12,9 @@ End If Case GetType(ManagePart_Layer) LayerItem = DirectCast(e.OriginalSource.DataContext, ManagePart_Layer) - e.Handled = True + If LayerItem.Type <> ManagePart_Layer.LayerType.PRINT_SOLID OrElse LayerItem.MenuList.Count = 0 Then + e.Handled = True + End If Case GetType(PartManager_GeomEntity) EntityItem = DirectCast(e.OriginalSource.DataContext, PartManager_GeomEntity) If EntityItem.MenuList.Count = 0 Then diff --git a/Icarus/ManagePartPanel/ManagePartUtility.vb b/Icarus/ManagePartPanel/ManagePartUtility.vb index eeb9ba3..a07c069 100644 --- a/Icarus/ManagePartPanel/ManagePartUtility.vb +++ b/Icarus/ManagePartPanel/ManagePartUtility.vb @@ -394,6 +394,11 @@ Public Class ManagePart_Layer End Property Private m_nLayerId As Integer + Friend ReadOnly Property nLayerId As Integer + Get + Return m_nLayerId + End Get + End Property Private m_bIsSelected As Boolean Public Property bIsSelected As Boolean @@ -426,6 +431,16 @@ Public Class ManagePart_Layer End Set End Property + Private m_MenuList As New List(Of ManagerLayer_MenuItem) + Public Property MenuList As List(Of ManagerLayer_MenuItem) + Get + Return m_MenuList + End Get + Set(value As List(Of ManagerLayer_MenuItem)) + m_MenuList = value + End Set + End Property + Private m_EntityList As New ObservableCollection(Of PartManager_GeomEntity) Public Property EntityList As ObservableCollection(Of PartManager_GeomEntity) Get @@ -440,6 +455,10 @@ Public Class ManagePart_Layer m_OrigPart = OrigPart m_Type = Type m_sName = sName + If Map.refManagePartPanelVM.Type = ManagePartPanelVM.ManagePartType.MODIFY Then + ' creo context menu per importazione solido da stampare + m_MenuList.Add(New ManagerLayer_MenuItem(Me, ManagerLayer_MenuItem.LayerMenuCmd.IMPORTPRINT)) + End If End Sub Sub New(OrigPart As ManagePart_Part, Type As LayerType, sName As String, PrintPart As Print3dPartVM) @@ -453,6 +472,11 @@ Public Class ManagePart_Layer If nEntityId <> GDB_ID.NULL Then m_EntityList.Add(New PartManager_GeomEntity(Me, nEntityId)) End If + ' se sono in modifica + If Map.refManagePartPanelVM.Type = ManagePartPanelVM.ManagePartType.MODIFY Then + ' creo context menu per importazione solido da stampare + m_MenuList.Add(New ManagerLayer_MenuItem(Me, ManagerLayer_MenuItem.LayerMenuCmd.IMPORTPRINT)) + End If Case LayerType.MACH_START m_nLayerId = PrintPart.nMachStartLayerId Dim nEntityId As Integer = EgtGetFirstInGroup(m_nLayerId) @@ -613,6 +637,9 @@ Public Class GeomEntity_MenuItem ' altrimenti lo elimino dalla lista entita' importate Map.refManagePartPanelVM.ImportedEntityList.Remove(m_OrigEntity) End If + ' se e' presente elimino flag di spostamento a 45 gradi + Dim nPartId As Integer = EgtGetParent(EgtGetParent(m_OrigEntity.nId)) + EgtRemoveInfo(nPartId, "MovedPart") EgtDraw() ' aggiorno riferimenti nel context menu item Map.refManagePartPanelVM.UpdateAllEntityContextMenu() @@ -926,4 +953,77 @@ Public Class ManagerPart_MenuItem #End Region ' Command +End Class + +Public Class ManagerLayer_MenuItem + Inherits VMBase + + Public Enum LayerMenuCmd + IMPORTPRINT = 1 + End Enum + + Private m_OrigLayer As ManagePart_Layer + Friend ReadOnly Property OrigLayer As ManagePart_Layer + Get + Return m_OrigLayer + End Get + End Property + + ' tipo del comando + Private m_Type As LayerMenuCmd + Public Property Type As LayerMenuCmd + Get + Return m_Type + End Get + Set(value As LayerMenuCmd) + m_Type = value + End Set + End Property + + Public ReadOnly Property sMsg As String + Get + Select Case m_Type + Case Else ' PartMenuCmd.IMPORTPRINT + Return "Import Print" + End Select + End Get + End Property + + ' Definizione comando + Private m_cmdCommand As ICommand + + Sub New(OrigLayer As ManagePart_Layer, Type As LayerMenuCmd) + m_OrigLayer = OrigLayer + m_Type = Type + End Sub + +#Region "Command" + + 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() + If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return + Select Case m_Type + Case Else ' PartMenuCmd.IMPORTPRINT + Dim bDeleteOldPrint As Boolean = False + If m_OrigLayer.EntityList.Count > 0 Then + If MessageBox.Show("Importing a new print solid the current one will be deleted. Are you sure you want to proced?", "Warning", MessageBoxButton.YesNo, MessageBoxImage.Warning) <> MessageBoxResult.Yes Then + Return + Else + bDeleteOldPrint = True + End If + End If + Map.refSceneHostVM.InsertPrint(Me) + End Select + End Sub + +#End Region ' Command + End Class \ No newline at end of file diff --git a/Icarus/ReferencePanel/ReferencePanelVM.vb b/Icarus/ReferencePanel/ReferencePanelVM.vb index afe648b..c8f596f 100644 --- a/Icarus/ReferencePanel/ReferencePanelVM.vb +++ b/Icarus/ReferencePanel/ReferencePanelVM.vb @@ -67,17 +67,18 @@ Public Class ReferencePanelVM NotifyPropertyChanged(NameOf(ghSelReference)) End Sub - Friend Sub UpdateFramePosition() + Friend Sub UpdateFramePosition(Optional SelPart As Print3dPartVM = Nothing) + If IsNothing(SelPart) Then SelPart = Map.refTopPanelVM.SelPart ' elimino precedente - EgtEmptyGroup(Map.refTopPanelVM.SelPart.nReferenceLayerId) + EgtEmptyGroup(SelPart.nReferenceLayerId) ' Creo riferimento Dim frPrintSolid As New Frame3d() If m_SelReference = ReferenceBtn.References.FROM_IMPORT Then - EgtGetGlobFrame(Map.refTopPanelVM.SelPart.nPrintSolidId, frPrintSolid) + EgtGetGlobFrame(SelPart.nPrintSolidId, frPrintSolid) frPrintSolid.Setup(New Point3d(frPrintSolid.Orig.x, frPrintSolid.Orig.y, 0)) Else Dim b3PrintSolid As New BBox3d - EgtGetBBoxGlob(Map.refTopPanelVM.SelPart.nPrintSolidId, GDB_BB.STANDARD, b3PrintSolid) + EgtGetBBoxGlob(SelPart.nPrintSolidId, GDB_BB.STANDARD, b3PrintSolid) ' Creo riferimento Dim ptOrig As New Point3d(b3PrintSolid.Min()) Select Case m_SelReference @@ -104,17 +105,17 @@ Public Class ReferencePanelVM ptOrig += b3PrintSolid.DimY() / 2 * Vector3d.Y_AX + b3PrintSolid.DimX() / 2 * Vector3d.X_AX End Select Dim vtMovedPart As Vector3d - EgtGetInfo(Map.refTopPanelVM.SelPart.nPartId, "MovedPart", vtMovedPart) + EgtGetInfo(SelPart.nPartId, "MovedPart", vtMovedPart) ptOrig = ptOrig - vtMovedPart frPrintSolid = New Frame3d(ptOrig) End If - Dim nFrameId As Integer = EgtCreateGeoFrame(Map.refTopPanelVM.SelPart.nReferenceLayerId, frPrintSolid, GDB_RT.GLOB) + Dim nFrameId As Integer = EgtCreateGeoFrame(SelPart.nReferenceLayerId, frPrintSolid, GDB_RT.GLOB) If nFrameId Then EgtSetName(nFrameId, FRAME_PART) EgtSetMode(nFrameId, GDB_MD.LOCKED) - Map.refTopPanelVM.SelPart.UpdateReferenceId(nFrameId) + SelPart.UpdateReferenceId(nFrameId) End If - EgtSetInfo(Map.refTopPanelVM.SelPart.nReferenceLayerId, KEY_REFERENCE, m_SelReference) + EgtSetInfo(SelPart.nReferenceLayerId, KEY_REFERENCE, m_SelReference) EgtDraw() End Sub diff --git a/Icarus/RibParamPanel/RibParamPanelVM.vb b/Icarus/RibParamPanel/RibParamPanelVM.vb index 858694e..403afc6 100644 --- a/Icarus/RibParamPanel/RibParamPanelVM.vb +++ b/Icarus/RibParamPanel/RibParamPanelVM.vb @@ -378,7 +378,8 @@ Public Class RibComboMachiningParam Case Params.RIBSTYPE m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_RIBSTYPE.INTERNAL, "Internal"), New IdNameStruct(Machining.MPAR_RIBSTYPE.EXTERNAL, "External"), - New IdNameStruct(Machining.MPAR_RIBSTYPE.UNBOUNDED, "Unbounded")}) + New IdNameStruct(Machining.MPAR_RIBSTYPE.UNBOUNDED, "Unbounded"), + New IdNameStruct(Machining.MPAR_RIBSTYPE.SUPPORT, "Support")}) Dim nSelValue As Integer = 1 bReadFromRib = EgtGetInfo(nRibId, MAC_RIBSTYPE, nSelValue) If bReadFromRib Then diff --git a/Icarus/SceneHost/MySceneHostVM.vb b/Icarus/SceneHost/MySceneHostVM.vb index ed9af8d..1dbe3ef 100644 --- a/Icarus/SceneHost/MySceneHostVM.vb +++ b/Icarus/SceneHost/MySceneHostVM.vb @@ -384,10 +384,8 @@ Public Class MySceneHostVM nNewRib = EgtCopy(nNewEntityId, Map.refRibPanelVM.nRibLayerId, GDB_POS.LAST_SON) End If EgtSetName(nNewRib, RIB_CURVE) - ' coloro l'entita' di blu - Dim c3LightBlue As Color3d - c3LightBlue.FromColor(System.Drawing.Color.MediumOrchid) - EgtSetColor(nNewRib, c3LightBlue) + ' elimino colore entita' + EgtResetColor(nNewEntityId) ' lo aggiungo alla lista Dim NewEntity As RibEntity = New RibEntity(RibEntity.RibTypes.FROMIMPORT, nNewRib) Map.refRibPanelVM.RibList.Add(NewEntity) @@ -396,10 +394,8 @@ Public Class MySceneHostVM ' lo copio nel layer dei rib nNewRib = EgtCopy(nNewEntityId, Map.refRibPanelVM.nRibLayerId, GDB_POS.LAST_SON) EgtSetName(nNewRib, RIB_EXTRUSION) - ' coloro l'entita' di blu - Dim c3LightBlue As Color3d - c3LightBlue.FromColor(System.Drawing.Color.MediumOrchid) - EgtSetColor(nNewRib, c3LightBlue) + ' elimino colore entita' + EgtResetColor(nNewEntityId) ' lo aggiungo alla lista Dim NewEntity As RibEntity = New RibEntity(RibEntity.RibTypes.FROMIMPORT, nNewRib) Map.refRibPanelVM.RibList.Add(NewEntity) @@ -415,6 +411,60 @@ Public Class MySceneHostVM End If End Sub + Public Sub InsertPrint(MenuItem As ManagerLayer_MenuItem) + ' Recupero cartella dell'ultimo progetto aperto + Dim sDir As String = MainController.GetCurrFile() + If String.IsNullOrWhiteSpace(sDir) Then + GetMainPrivateProfileString(S_MRUIMPORTFILES, K_FILE & 1, "", sDir) + End If + If Not String.IsNullOrWhiteSpace(sDir) Then + sDir = Path.GetDirectoryName(sDir) + End If + If Not Directory.Exists(sDir) Then sDir = "" + Dim OpenFileDialog As New OpenFileDialog With {.Title = "Insert", + .Filter = "Stereolithography (*.stl)|*.stl" & + "|Iges files (*.igs;*.iges)|*.igs;*.iges" & + "|Step files (*.stp;*.step)|*.stp;*.step" & + "|3D Manufacturing format (*.3mf)|*.3mf" & + "|New geometry EgalTech(*.nge)|*.nge" & + "|All Files (*.*)|*.*", + .FilterIndex = 1, + .InitialDirectory = sDir} + If Not OpenFileDialog.ShowDialog Then + Return + End If + Dim sFile As String = String.Empty + sFile = OpenFileDialog.FileName + ' importo la nuova geometria + If MainController.InsertProject(sFile, False) Then + ' sposto le nuove geometrie nel layer rib del pezzo + Dim nNewPartId As Integer = EgtGetLastPart() + Dim nNewLayerId As Integer = EgtGetFirstGroupInGroup(nNewPartId) + ' verifico che ci sia una sola entita' + If EgtGetGroupObjs(nNewLayerId) <> 1 Then + MessageBox.Show("Impossible importing file that contains more than one entity.", "Error", MessageBoxButton.OK, MessageBoxImage.Error) + Else + ' elimino eventuale entita' vecchia + If MenuItem.OrigLayer.EntityList.Count > 0 AndAlso MenuItem.OrigLayer.EntityList(0).nId <> GDB_ID.NULL Then EgtErase(MenuItem.OrigLayer.EntityList(0).nId) + Dim nNewEntityId As Integer = EgtGetFirstInGroup(nNewLayerId) + EgtRelocate(nNewEntityId, MenuItem.OrigLayer.nLayerId, GDB_POS.LAST_SON) + ' elimino colore entita' + EgtResetColor(nNewEntityId) + ' aggiorno riferimento pezzo + Map.refReferencePanelVM.UpdateFramePosition(MenuItem.OrigLayer.OrigPart.PrintPart) + ' elimino eventuale flag di spostamento a 45 gradi + EgtRemoveInfo(MenuItem.OrigLayer.OrigPart.PrintPart.nPartId, "MovedPart") + ' elimino vecchio elemento ed aggiungo nuovo + MenuItem.OrigLayer.EntityList.Clear() + MenuItem.OrigLayer.EntityList.Add(New PartManager_GeomEntity(MenuItem.OrigLayer, nNewEntityId)) + ' Imposto flag di ricalcolo slice + EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_SLICE, True) + End If + EgtErase(nNewPartId) + EgtDraw() + End If + End Sub + Public Sub InsertShellNumber() ' Recupero cartella dell'ultimo progetto aperto Dim sDir As String = MainController.GetCurrFile() @@ -457,10 +507,8 @@ Public Class MySceneHostVM nNewShellNumberId = EgtCopy(nNewEntityId, Map.refShellNumberPanelVM.nShellNumberLayerId, GDB_POS.LAST_SON) End If EgtSetName(nNewShellNumberId, RIB_CURVE) - ' coloro l'entita' di verde - Dim c3LightBlue As Color3d - c3LightBlue.FromColor(System.Drawing.Color.Lime) - EgtSetColor(nNewShellNumberId, c3LightBlue) + ' elimino colore entita' + EgtResetColor(nNewEntityId) ' lo aggiungo alla lista Dim NewEntity As ShellNumberEntity = New ShellNumberEntity(ShellNumberEntity.ShellNumberTypes.FROMIMPORT, nNewShellNumberId) Map.refShellNumberPanelVM.ShellNumberList.Add(NewEntity) @@ -469,10 +517,8 @@ Public Class MySceneHostVM ' lo copio nel layer dei rib nNewShellNumberId = EgtCopy(nNewEntityId, Map.refShellNumberPanelVM.nShellNumberLayerId, GDB_POS.LAST_SON) EgtSetName(nNewShellNumberId, RIB_EXTRUSION) - ' coloro l'entita' di verde - Dim c3LightBlue As Color3d - c3LightBlue.FromColor(System.Drawing.Color.Lime) - EgtSetColor(nNewShellNumberId, c3LightBlue) + ' elimino colore entita' + EgtResetColor(nNewEntityId) ' lo aggiungo alla lista Dim NewEntity As ShellNumberEntity = New ShellNumberEntity(ShellNumberEntity.ShellNumberTypes.FROMIMPORT, nNewShellNumberId) Map.refShellNumberPanelVM.ShellNumberList.Add(NewEntity) @@ -896,8 +942,8 @@ Public Class MySceneHostVM ' leggo materiale e macchina Dim nTabPartId As Integer = EgtGetFirstNameInGroup(GDB_ID.ROOT, TABLE) If nTabPartId <> GDB_ID.NULL Then -Dim sMachineName As String = "" - if Not EgtGetInfo(nTabPartId, KEY_MACHINE_NAME, sMachineName) Then sMachineName = "Cms-Kreator" + Dim sMachineName As String = "" + If Not EgtGetInfo(nTabPartId, KEY_MACHINE_NAME, sMachineName) Then sMachineName = "Cms-Kreator" Dim ProjectMachine As Machine = Map.refMachinePanelVM.MachineList.FirstOrDefault(Function(x) x.Name = sMachineName) If Not IsNothing(ProjectMachine) Then ' imposto la macchina @@ -1266,9 +1312,9 @@ Dim sMachineName As String = "" EgtSelect(e.Location, Scene.DIM_SEL, Scene.DIM_SEL, nSel) Dim nId As Integer = EgtGetFirstObjInSelWin() While nId <> GDB_ID.NULL -' Se per Griglia da faccia di oggetto + ' Se per Griglia da faccia di oggetto If Map.refStartMachPanelVM.bCPlaneObj_IsActive Then - If EgtGetType( nId) = GDB_TY.SRF_MESH Then + If EgtGetType(nId) = GDB_TY.SRF_MESH Then m_nIdToSel = nId Exit While End If @@ -1311,10 +1357,10 @@ Dim sMachineName As String = "" End Sub Friend Sub StartMach_OnMouseUpScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) -' Se eseguito drag + ' Se eseguito drag If Not m_bDragToStart Then - ' Se selezione da eseguire + ' Se selezione da eseguire ElseIf m_nIdToSel <> GDB_ID.NULL Then If Map.refStartMachPanelVM.bCPlaneObj_IsActive Then ' eseguo comando @@ -1350,7 +1396,7 @@ Dim sMachineName As String = "" While nId <> GDB_ID.NULL ' Se per Griglia da faccia di oggetto If Map.refRibPanelVM.bCPlaneObj_IsActive Then - If EgtGetType( nId) = GDB_TY.SRF_MESH Then + If EgtGetType(nId) = GDB_TY.SRF_MESH Then m_nIdToSel = nId Exit While End If @@ -1392,10 +1438,10 @@ Dim sMachineName As String = "" End Sub Friend Sub Rib_OnMouseUpScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) -' Se eseguito drag + ' Se eseguito drag If Not m_bDragToStart Then - ' Se selezione da eseguire + ' Se selezione da eseguire ElseIf m_nIdToSel <> GDB_ID.NULL Then If Map.refRibPanelVM.bCPlaneObj_IsActive Then ' eseguo comando @@ -1432,7 +1478,7 @@ Dim sMachineName As String = "" While nId <> GDB_ID.NULL ' Se per Griglia da faccia di oggetto If Map.refShellNumberPanelVM.bCPlaneObj_IsActive Then - If EgtGetType( nId) = GDB_TY.SRF_MESH Then + If EgtGetType(nId) = GDB_TY.SRF_MESH Then m_nIdToSel = nId Exit While End If @@ -1474,10 +1520,10 @@ Dim sMachineName As String = "" End Sub Friend Sub ShellNumber_OnMouseUpScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) -' Se eseguito drag -If Not m_bDragToStart Then + ' Se eseguito drag + If Not m_bDragToStart Then -' Se selezione da eseguire + ' Se selezione da eseguire ElseIf m_nIdToSel <> GDB_ID.NULL Then If Map.refShellNumberPanelVM.bCPlaneObj_IsActive Then ' eseguo comando