diff --git a/Controller.vb b/Controller.vb index b1a9ede..0266e8d 100644 --- a/Controller.vb +++ b/Controller.vb @@ -271,6 +271,8 @@ Public Class Controller Dim OpenFileDialog As New OpenFileDialog OpenFileDialog.Title = "Insert" OpenFileDialog.Filter = "New geometry EgalTech(*.nge)|*.nge" & + "|Drawing Exchange Fmt(*.dxf)|*.dxf" & + "|Stereolithography (*.stl)|*.stl" & "|New font EgalTech(*.nfe)|*.nfe" & "|All Files (*.*)|*.*" OpenFileDialog.FilterIndex = 1 @@ -281,9 +283,17 @@ Public Class Controller sFile = OpenFileDialog.FileName End If 'Inserimento del progetto + Dim bOk As Boolean = False m_Scene.Cursor = Cursors.WaitCursor EnableCommandLog() - Dim bOk As Boolean = EgtInsertFile(sFile) + Dim nFileType As Integer = EgtGetFileType(sFile) + If nFileType = FT.DXF Then + bOk = EgtImportDxf(sFile, 1) + ElseIf nFileType = FT.STL Then + bOk = EgtImportStl(sFile, 1) + Else + bOk = EgtInsertFile(sFile) + End If If GetCurrLayer() = GDB_ID.NULL Then EgtResetCurrPartLayer() End If diff --git a/EgtInterface.vb b/EgtInterface.vb index 49a357d..3260ada 100644 --- a/EgtInterface.vb +++ b/EgtInterface.vb @@ -2412,6 +2412,23 @@ Public Function EgtCreateCurveCompoByChain(nParentId As Integer, nNumCrv As Inte End If End Function + +Private Function EgtCreateCurveCompoByReorder_32(nParentId As Integer, nNumCrv As Integer, nCrvId() As Integer, + ByRef PtNearStart As Point3d, bCrvErase As Boolean, Optional nRefType As GDB_RT = GDB_RT.LOC) As Integer +End Function + +Private Function EgtCreateCurveCompoByReorder_64(nParentId As Integer, nNumCrv As Integer, nCrvId() As Integer, + ByRef PtNearStart As Point3d, bCrvErase As Boolean, Optional nRefType As GDB_RT = GDB_RT.LOC) As Integer +End Function +Public Function EgtCreateCurveCompoByReorder(nParentId As Integer, nNumCrv As Integer, nCrvId() As Integer, + ByRef PtNearStart As Point3d, bCrvErase As Boolean, Optional nRefType As GDB_RT = GDB_RT.LOC) As Integer + If IntPtr.Size = 4 Then + Return EgtCreateCurveCompoByReorder_32(nParentId, nNumCrv, nCrvId, PtNearStart, bCrvErase, nRefType) + Else + Return EgtCreateCurveCompoByReorder_64(nParentId, nNumCrv, nCrvId, PtNearStart, bCrvErase, nRefType) + End If +End Function + Private Function EgtCreateRectangle2P_32(nParentId As Integer, ByRef PtStart As Point3d, ByRef PtCross As Point3d, @@ -6718,21 +6735,6 @@ Public Function EgtGetCurrMachGroup() As Integer End If End Function -' Setup - -Private Function EgtGetCurrSetup_32() As Integer -End Function - -Private Function EgtGetCurrSetup_64() As Integer -End Function -Public Function EgtGetCurrSetup() As Integer - If IntPtr.Size = 4 Then - Return EgtGetCurrSetup_32() - Else - Return EgtGetCurrSetup_64() - End If -End Function - ' Phases Private Function EgtAddPhase_32() As Integer @@ -7726,6 +7728,35 @@ End Function Return bOk End Function + ' Setup + + Private Function EgtGetCurrSetup_32() As Integer + End Function + + Private Function EgtGetCurrSetup_64() As Integer + End Function + Public Function EgtGetCurrSetup() As Integer + If IntPtr.Size = 4 Then + Return EgtGetCurrSetup_32() + Else + Return EgtGetCurrSetup_64() + End If + End Function + + + Private Function EgtImportSetup_32(sName As String) As Boolean + End Function + + Private Function EgtImportSetup_64(sName As String) As Boolean + End Function + Public Function EgtImportSetup(sName As String) As Boolean + If IntPtr.Size = 4 Then + Return EgtImportSetup_32(sName) + Else + Return EgtImportSetup_64(sName) + End If + End Function + ' Machinings Database Private Function EgtMdbGetMachiningNewName_32(sName As String, ByRef psNewName As IntPtr) As Boolean @@ -8838,23 +8869,30 @@ End Function End Function - Private Function EgtSimGetAxisInfoPos_32(nInd As Integer, ByRef psToken As IntPtr, ByRef bLinear As Boolean, ByRef dVal As Double) As Boolean + Private Function EgtSimGetAxisInfoPos_32(nInd As Integer, ByRef psName As IntPtr, ByRef psToken As IntPtr, + ByRef bLinear As Boolean, ByRef dVal As Double) As Boolean End Function - Private Function EgtSimGetAxisInfoPos_64(nInd As Integer, ByRef psToken As IntPtr, ByRef bLinear As Boolean, ByRef dVal As Double) As Boolean + Private Function EgtSimGetAxisInfoPos_64(nInd As Integer, ByRef psName As IntPtr, ByRef psToken As IntPtr, + ByRef bLinear As Boolean, ByRef dVal As Double) As Boolean End Function - Public Function EgtSimGetAxisInfoPos(nInd As Integer, ByRef sToken As String, ByRef bLinear As Boolean, ByRef dVal As Double) As Boolean + Public Function EgtSimGetAxisInfoPos(nInd As Integer, ByRef sName As String, ByRef sToken As String, + ByRef bLinear As Boolean, ByRef dVal As Double) As Boolean + Dim psName As IntPtr Dim psToken As IntPtr Dim bOk As Boolean If IntPtr.Size = 4 Then - bOk = EgtSimGetAxisInfoPos_32(nInd, psToken, bLinear, dVal) + bOk = EgtSimGetAxisInfoPos_32(nInd, psName, psToken, bLinear, dVal) Else - bOk = EgtSimGetAxisInfoPos_64(nInd, psToken, bLinear, dVal) + bOk = EgtSimGetAxisInfoPos_64(nInd, psName, psToken, bLinear, dVal) End If If bOk Then + sName = Marshal.PtrToStringUni(psName) + EgtFreeMemory(psName) sToken = Marshal.PtrToStringUni(psToken) EgtFreeMemory(psToken) Else + sName = String.Empty sToken = String.Empty End If Return bOk @@ -9011,6 +9049,29 @@ End Function End If End Function + + Private Function EgtGetAllHeadsNames_32(ByRef psNames As IntPtr) As Boolean + End Function + + Private Function EgtGetAllHeadsNames_64(ByRef psNames As IntPtr) As Boolean + End Function + Public Function EgtGetAllHeadsNames(ByRef sNames As String) As Boolean + Dim psNames As IntPtr + Dim bOk As Boolean + If IntPtr.Size = 4 Then + bOk = EgtGetAllHeadsNames_32(psNames) + Else + bOk = EgtGetAllHeadsNames_64(psNames) + End If + If bOk Then + sNames = Marshal.PtrToStringUni(psNames) + EgtFreeMemory(psNames) + Else + sNames = String.Empty + End If + Return bOk + End Function + ' Machine Calc Private Function EgtSetCalcTool_32(sTool As String, sHead As String, nExit As Integer) As Boolean @@ -9109,6 +9170,20 @@ End Function End If End Function + + Private Function EgtGetAxisPos_32(sAxis As String, ByRef dVal As Double) As Boolean + End Function + + Private Function EgtGetAxisPos_64(sAxis As String, ByRef dVal As Double) As Boolean + End Function + Public Function EgtGetAxisPos(sAxis As String, ByRef dVal As Double) As Boolean + If IntPtr.Size = 4 Then + Return EgtGetAxisPos_32(sAxis, dVal) + Else + Return EgtGetAxisPos_64(sAxis, dVal) + End If + End Function + Private Function EgtLoadTool_32(sHead As String, nExit As Integer, sTool As String) As Boolean End Function @@ -10101,6 +10176,34 @@ Public Function EgtGetPhotoMMxPixel(nId As Integer, ByRef dMMxPixel As Double) A End If End Function + +Private Function EgtGetPhotoDimensions_32(nId As Integer, ByRef dDimX As Double, ByRef dDimY As Double) As Boolean +End Function + +Private Function EgtGetPhotoDimensions_64(nId As Integer, ByRef dDimX As Double, ByRef dDimY As Double) As Boolean +End Function +Public Function EgtGetPhotoDimensions(nId As Integer, ByRef dDimX As Double, ByRef dDimY As Double) As Boolean + If IntPtr.Size = 4 Then + Return EgtGetPhotoDimensions_32(nId, dDimX, dDimY) + Else + Return EgtGetPhotoDimensions_64(nId, dDimX, dDimY) + End If +End Function + + +Private Function EgtGetPhotoPixels_32(nId As Integer, ByRef nPixelX As Integer, ByRef nPixelY As Integer) As Boolean +End Function + +Private Function EgtGetPhotoPixels_64(nId As Integer, ByRef nPixelX As Integer, ByRef nPixelY As Integer) As Boolean +End Function +Public Function EgtGetPhotoPixels(nId As Integer, ByRef nPixelX As Integer, ByRef nPixelY As Integer) As Boolean + If IntPtr.Size = 4 Then + Return EgtGetPhotoPixels_32(nId, nPixelX, nPixelY) + Else + Return EgtGetPhotoPixels_64(nId, nPixelX, nPixelY) + End If +End Function + '---------- Geo Base ----------------------------------------------------------- @@ -10835,8 +10938,11 @@ End Enum 'Costanti : tipo di approssimazione di curva Public Enum APP_TYPE As Integer LINES = 0 + SPECIAL_LINES = 10 LEFT_LINES = 1 + LEFT_CONVEX_LINES = 11 RIGHT_LINES = 2 + RIGHT_CONVEX_LINES = 12 ARCS = 3 End Enum 'Costanti : posizione di inserimento per testi @@ -10988,6 +11094,7 @@ Public Enum MCH_OY As Integer MORTISING = 8192 SAWROUGHING = 16384 SAWFINISHING = 32768 + GENMACHINING = 65536 End Enum ' Funzioni per famiglie di operazioni Public Function IsValidDispositionType(nType As Integer) As Boolean @@ -11009,6 +11116,7 @@ Public Enum MCH_MY As Integer MORTISING = MCH_OY.MORTISING SAWROUGHING = MCH_OY.SAWROUGHING SAWFINISHING = MCH_OY.SAWFINISHING + GENMACHINING = MCH_OY.GENMACHINING End Enum 'Costanti : parametri generali delle lavorazioni Public Enum MCH_GP As Integer @@ -11125,11 +11233,14 @@ Public Enum MCH_SAW_EL As Integer EXT_NEXT = 2 EXT_BOTH = 3 End Enum - 'Tipo di uscita + 'Tipo di uscita (EXT mantenuto per compatibilità) Public Enum MCH_SAW_LO As Integer CENT = 0 STRICT = 1 EXT = 2 + EXT_CENT = 2 + OUT = 3 + EXT_OUT = 4 End Enum 'Tipo di utilizzazione delle curve Public Enum MCH_SAW_CU As Integer diff --git a/My Project/AssemblyInfo.vb b/My Project/AssemblyInfo.vb index c7b84ff..c848561 100644 --- a/My Project/AssemblyInfo.vb +++ b/My Project/AssemblyInfo.vb @@ -46,5 +46,5 @@ Imports System.Runtime.InteropServices ' utilizzando l'asterisco (*) come descritto di seguito: ' - - + +