From 715ec1546c59b3676e3c2e4a44f0b82628986eeb Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Tue, 5 Jan 2016 11:38:44 +0000 Subject: [PATCH] TestEIn 1.6l5 : - aggiornamenti. --- Component.vb | 2 +- EgtInterface.vb | 163 ++++++++++++++++++++++++++++--------- FlatParts.vb | 2 +- GenInterface.vb | 18 +++- My Project/AssemblyInfo.vb | 6 +- 5 files changed, 146 insertions(+), 45 deletions(-) diff --git a/Component.vb b/Component.vb index 5583cd1..25963cf 100644 --- a/Component.vb +++ b/Component.vb @@ -319,7 +319,7 @@ Public Class Component ' Ne recupero l'Id Dim nId2 As Integer = EgtGetLastPart() ' Lo posiziono in ordine - EgtPackPart(nId2, 0, 0, PACK_MAX_X, PACK_MAX_Y, PACK_OFFS, True) + EgtPackBox(nId2, 0, 0, PACK_MAX_X, PACK_MAX_Y, PACK_OFFS, True) Next ' disabilito registrazione EgtDisableCommandLogger() diff --git a/EgtInterface.vb b/EgtInterface.vb index 9912db9..a9b6ef5 100644 --- a/EgtInterface.vb +++ b/EgtInterface.vb @@ -5013,47 +5013,47 @@ Public Function EgtCreateFlatParts(ByVal nType As Integer) As Boolean End If End Function - -Private Function EgtPackPart_32(ByVal nId As Integer, ByVal dXmin As Double, ByVal dYmin As Double, + +Private Function EgtPackBox_32(ByVal nId As Integer, ByVal dXmin As Double, ByVal dYmin As Double, ByVal dXmax As Double, ByVal dYmax As Double, ByVal dOffs As Double, ByVal bBottomUp As Boolean) As Boolean End Function - -Private Function EgtPackPart_64(ByVal nId As Integer, ByVal dXmin As Double, ByVal dYmin As Double, + +Private Function EgtPackBox_64(ByVal nId As Integer, ByVal dXmin As Double, ByVal dYmin As Double, ByVal dXmax As Double, ByVal dYmax As Double, ByVal dOffs As Double, ByVal bBottomUp As Boolean) As Boolean End Function -Public Function EgtPackPart(ByVal nId As Integer, ByVal dXmin As Double, ByVal dYmin As Double, - ByVal dXmax As Double, ByVal dYmax As Double, ByVal dOffs As Double, ByVal bBottomUp As Boolean) As Boolean +Public Function EgtPackBox(ByVal nId As Integer, ByVal dXmin As Double, ByVal dYmin As Double, + ByVal dXmax As Double, ByVal dYmax As Double, ByVal dOffs As Double, ByVal bBottomUp As Boolean) As Boolean If IntPtr.Size = 4 Then - Return EgtPackPart_32(nId, dXmin, dYmin, dXmax, dYmax, dOffs, bBottomUp) + Return EgtPackBox_32(nId, dXmin, dYmin, dXmax, dYmax, dOffs, bBottomUp) Else - Return EgtPackPart_64(nId, dXmin, dYmin, dXmax, dYmax, dOffs, bBottomUp) + Return EgtPackBox_64(nId, dXmin, dYmin, dXmax, dYmax, dOffs, bBottomUp) End If End Function - -Private Function EgtPackCluster_32(ByVal vId As Integer(), ByVal nCount As Integer, ByVal dXmin As Double, ByVal dYmin As Double, - ByVal dXmax As Double, ByVal dYmax As Double, ByVal dOffs As Double, ByVal bBottomUp As Boolean) As Boolean + +Private Function EgtPackBoxCluster_32(ByVal vId As Integer(), ByVal nCount As Integer, ByVal dXmin As Double, ByVal dYmin As Double, + ByVal dXmax As Double, ByVal dYmax As Double, ByVal dOffs As Double, ByVal bBottomUp As Boolean) As Boolean End Function - -Private Function EgtPackCluster_64(ByVal vId As Integer(), ByVal nCount As Integer, ByVal dXmin As Double, ByVal dYmin As Double, - ByVal dXmax As Double, ByVal dYmax As Double, ByVal dOffs As Double, ByVal bBottomUp As Boolean) As Boolean + +Private Function EgtPackBoxCluster_64(ByVal vId As Integer(), ByVal nCount As Integer, ByVal dXmin As Double, ByVal dYmin As Double, + ByVal dXmax As Double, ByVal dYmax As Double, ByVal dOffs As Double, ByVal bBottomUp As Boolean) As Boolean End Function -Public Function EgtPackCluster(ByVal vId As Integer(), ByVal dXmin As Double, ByVal dYmin As Double, - ByVal dXmax As Double, ByVal dYmax As Double, ByVal dOffs As Double, ByVal bBottomUp As Boolean) As Boolean +Public Function EgtPackBoxCluster(ByVal vId As Integer(), ByVal dXmin As Double, ByVal dYmin As Double, + ByVal dXmax As Double, ByVal dYmax As Double, ByVal dOffs As Double, ByVal bBottomUp As Boolean) As Boolean If IntPtr.Size = 4 Then - Return EgtPackCluster_32(vId, vId.Count(), dXmin, dYmin, dXmax, dYmax, dOffs, bBottomUp) + Return EgtPackBoxCluster_32(vId, vId.Count(), dXmin, dYmin, dXmax, dYmax, dOffs, bBottomUp) Else - Return EgtPackCluster_64(vId, vId.Count(), dXmin, dYmin, dXmax, dYmax, dOffs, bBottomUp) + Return EgtPackBoxCluster_64(vId, vId.Count(), dXmin, dYmin, dXmax, dYmax, dOffs, bBottomUp) End If End Function -Public Function EgtPackSelectedCluster(ByVal dXmin As Double, ByVal dYmin As Double, - ByVal dXmax As Double, ByVal dYmax As Double, ByVal dOffs As Double, ByVal bBottomUp As Boolean) As Boolean +Public Function EgtPackSelectedBoxCluster(ByVal dXmin As Double, ByVal dYmin As Double, + ByVal dXmax As Double, ByVal dYmax As Double, ByVal dOffs As Double, ByVal bBottomUp As Boolean) As Boolean Dim vId(1) As Integer vId(0) = GDB_ID.SEL If IntPtr.Size = 4 Then - Return EgtPackCluster_32(vId, 1, dXmin, dYmin, dXmax, dYmax, dOffs, bBottomUp) + Return EgtPackBoxCluster_32(vId, 1, dXmin, dYmin, dXmax, dYmax, dOffs, bBottomUp) Else - Return EgtPackCluster_64(vId, 1, dXmin, dYmin, dXmax, dYmax, dOffs, bBottomUp) + Return EgtPackBoxCluster_64(vId, 1, dXmin, dYmin, dXmax, dYmax, dOffs, bBottomUp) End If End Function @@ -5083,33 +5083,117 @@ Public Function EgtGetSelectedClusterBBoxGlob(ByRef PtMin As Point3d, ByRef PtMa End If End Function - -Private Function EgtMoveCluster_32(ByVal vId As Integer(), ByVal nCount As Integer, ByRef vtMove As Vector3d, - ByVal dXmin As Double, ByVal dYmin As Double, - ByVal dXmax As Double, ByVal dYmax As Double, ByVal dOffs As Double) As Boolean + +Private Function EgtMoveBoxCluster_32(ByVal vId As Integer(), ByVal nCount As Integer, ByRef vtMove As Vector3d, + ByVal dXmin As Double, ByVal dYmin As Double, + ByVal dXmax As Double, ByVal dYmax As Double, ByVal dOffs As Double) As Boolean End Function - -Private Function EgtMoveCluster_64(ByVal vId As Integer(), ByVal nCount As Integer, ByRef vtMove As Vector3d, - ByVal dXmin As Double, ByVal dYmin As Double, - ByVal dXmax As Double, ByVal dYmax As Double, ByVal dOffs As Double) As Boolean + +Private Function EgtMoveBoxCluster_64(ByVal vId As Integer(), ByVal nCount As Integer, ByRef vtMove As Vector3d, + ByVal dXmin As Double, ByVal dYmin As Double, + ByVal dXmax As Double, ByVal dYmax As Double, ByVal dOffs As Double) As Boolean End Function -Public Function EgtMoveCluster(ByVal vId As Integer(), ByRef vtMove As Vector3d, - ByVal dXmin As Double, ByVal dYmin As Double, - ByVal dXmax As Double, ByVal dYmax As Double, ByVal dOffs As Double) As Boolean +Public Function EgtMoveBoxCluster(ByVal vId As Integer(), ByRef vtMove As Vector3d, + ByVal dXmin As Double, ByVal dYmin As Double, + ByVal dXmax As Double, ByVal dYmax As Double, ByVal dOffs As Double) As Boolean If IntPtr.Size = 4 Then - Return EgtMoveCluster_32(vId, vId.Count(), vtMove, dXmin, dYmin, dXmax, dYmax, dOffs) + Return EgtMoveBoxCluster_32(vId, vId.Count(), vtMove, dXmin, dYmin, dXmax, dYmax, dOffs) Else - Return EgtMoveCluster_64(vId, vId.Count(), vtMove, dXmin, dYmin, dXmax, dYmax, dOffs) + Return EgtMoveBoxCluster_64(vId, vId.Count(), vtMove, dXmin, dYmin, dXmax, dYmax, dOffs) End If End Function -Public Function EgtMoveSelectedCluster(ByRef vtMove As Vector3d, ByVal dXmin As Double, ByVal dYmin As Double, - ByVal dXmax As Double, ByVal dYmax As Double, ByVal dOffs As Double) As Boolean +Public Function EgtMoveSelectedBoxCluster(ByRef vtMove As Vector3d, ByVal dXmin As Double, ByVal dYmin As Double, + ByVal dXmax As Double, ByVal dYmax As Double, ByVal dOffs As Double) As Boolean Dim vId(1) As Integer vId(0) = GDB_ID.SEL If IntPtr.Size = 4 Then - Return EgtMoveCluster_32(vId, 1, vtMove, dXmin, dYmin, dXmax, dYmax, dOffs) + Return EgtMoveBoxCluster_32(vId, 1, vtMove, dXmin, dYmin, dXmax, dYmax, dOffs) Else - Return EgtMoveCluster_64(vId, 1, vtMove, dXmin, dYmin, dXmax, dYmax, dOffs) + Return EgtMoveBoxCluster_64(vId, 1, vtMove, dXmin, dYmin, dXmax, dYmax, dOffs) + End If +End Function + + +Private Function EgtMovePartCluster_32(ByVal vId As Integer(), ByVal nCount As Integer, ByRef vtMove As Vector3d, + ByVal dXmin As Double, ByVal dYmin As Double, + ByVal dXmax As Double, ByVal dYmax As Double) As Boolean +End Function + +Private Function EgtMovePartCluster_64(ByVal vId As Integer(), ByVal nCount As Integer, ByRef vtMove As Vector3d, + ByVal dXmin As Double, ByVal dYmin As Double, + ByVal dXmax As Double, ByVal dYmax As Double) As Boolean +End Function +Public Function EgtMovePartCluster(ByVal vId As Integer(), ByRef vtMove As Vector3d, + ByVal dXmin As Double, ByVal dYmin As Double, + ByVal dXmax As Double, ByVal dYmax As Double) As Boolean + If IntPtr.Size = 4 Then + Return EgtMovePartCluster_32(vId, vId.Count(), vtMove, dXmin, dYmin, dXmax, dYmax) + Else + Return EgtMovePartCluster_64(vId, vId.Count(), vtMove, dXmin, dYmin, dXmax, dYmax) + End If +End Function +Public Function EgtMoveSelectedPartCluster(ByRef vtMove As Vector3d, ByVal dXmin As Double, ByVal dYmin As Double, + ByVal dXmax As Double, ByVal dYmax As Double) As Boolean + Dim vId(1) As Integer + vId(0) = GDB_ID.SEL + If IntPtr.Size = 4 Then + Return EgtMovePartCluster_32(vId, 1, vtMove, dXmin, dYmin, dXmax, dYmax) + Else + Return EgtMovePartCluster_64(vId, 1, vtMove, dXmin, dYmin, dXmax, dYmax) + End If +End Function + + +Private Function EgtRotatePartCluster_32(ByVal vId As Integer(), ByVal nCount As Integer, ByRef ptCen As Point3d, + ByRef dRotAngDeg As Double, ByVal dXmin As Double, ByVal dYmin As Double, + ByVal dXmax As Double, ByVal dYmax As Double) As Boolean +End Function + +Private Function EgtRotatePartCluster_64(ByVal vId As Integer(), ByVal nCount As Integer, ByRef ptCen As Point3d, + ByRef dRotAngDeg As Double, ByVal dXmin As Double, ByVal dYmin As Double, + ByVal dXmax As Double, ByVal dYmax As Double) As Boolean +End Function +Public Function EgtRotatePartCluster(ByVal vId As Integer(), ByVal ptCen As Point3d, ByRef dRotAngDeg As Double, + ByVal dXmin As Double, ByVal dYmin As Double, + ByVal dXmax As Double, ByVal dYmax As Double) As Boolean + If IntPtr.Size = 4 Then + Return EgtRotatePartCluster_32(vId, vId.Count(), ptCen, dRotAngDeg, dXmin, dYmin, dXmax, dYmax) + Else + Return EgtRotatePartCluster_64(vId, vId.Count(), ptCen, dRotAngDeg, dXmin, dYmin, dXmax, dYmax) + End If +End Function +Public Function EgtRotateSelectedPartCluster(ByVal ptCen As Point3d, ByRef dRotAngDeg As Double, + ByVal dXmin As Double, ByVal dYmin As Double, + ByVal dXmax As Double, ByVal dYmax As Double) As Boolean + Dim vId(1) As Integer + vId(0) = GDB_ID.SEL + If IntPtr.Size = 4 Then + Return EgtRotatePartCluster_32(vId, 1, ptCen, dRotAngDeg, dXmin, dYmin, dXmax, dYmax) + Else + Return EgtRotatePartCluster_64(vId, 1, ptCen, dRotAngDeg, dXmin, dYmin, dXmax, dYmax) + End If +End Function + + +Private Function EgtGetPartClusterCenterGlob_32(ByVal vId As Integer(), ByVal nCount As Integer, ByRef ptCen As Point3d) As Boolean +End Function + +Private Function EgtGetPartClusterCenterGlob_64(ByVal vId As Integer(), ByVal nCount As Integer, ByRef ptCen As Point3d) As Boolean +End Function +Public Function EgtGetPartClusterCenterGlob(ByVal vId As Integer(), ByVal ptCen As Point3d, ByRef dRotAngDeg As Double) As Boolean + If IntPtr.Size = 4 Then + Return EgtGetPartClusterCenterGlob_32(vId, vId.Count(), ptCen) + Else + Return EgtGetPartClusterCenterGlob_64(vId, vId.Count(), ptCen) + End If +End Function +Public Function EgtGetSelectedPartClusterCenterGlob(ByRef ptCen As Point3d) As Boolean + Dim vId(1) As Integer + vId(0) = GDB_ID.SEL + If IntPtr.Size = 4 Then + Return EgtGetPartClusterCenterGlob_32(vId, 1, ptCen) + Else + Return EgtGetPartClusterCenterGlob_64(vId, 1, ptCen) End If End Function @@ -7830,6 +7914,7 @@ Public Const ONEMM As Double = 1.0 Public Const ONEINCH As Double = 25.4 Public Const EPS_SMALL As Double = 0.001 Public Const EPS_ZERO As Double = 0.0000001 +Public Const EPS_ANG_SMALL As Double = 0.001 Public Const INFINITO As Double = 10000000000.0 Public Const EPS_STM As Double = 0.05 Public Const EPS_STM_DRAG As Double = 0.5 diff --git a/FlatParts.vb b/FlatParts.vb index 2e1dff8..a389cfa 100644 --- a/FlatParts.vb +++ b/FlatParts.vb @@ -301,7 +301,7 @@ Public Class FlatParts ' Ne recupero l'Id Dim nId2 As Integer = EgtGetLastPart() ' Lo posiziono in ordine - EgtPackPart(nId2, 0, 0, PACK_MAX_X, PACK_MAX_Y, PACK_OFFS, True) + EgtPackBox(nId2, 0, 0, PACK_MAX_X, PACK_MAX_Y, PACK_OFFS, True) ' Cancello il file My.Computer.FileSystem.DeleteFile(sTmpfile) End If diff --git a/GenInterface.vb b/GenInterface.vb index 4735fbe..0953098 100644 --- a/GenInterface.vb +++ b/GenInterface.vb @@ -1,6 +1,6 @@ Imports System.Runtime.InteropServices Imports System.Text -Imports TestEIn.EgtInterface +Imports EgtUILib.EgtInterface Public Module GenInterface @@ -155,5 +155,21 @@ Public Enum SW As Integer RESTORE = 9 End Enum +'-------------------------------- File Path ------------------------------------------------------ + ' Truncates a path to fit within a certain number of characters by replacing path components with ellipses. + ' pszOut = The address of the string that has been altered. + ' pszSrc = A pointer to a null-terminated string of length MAX_PATH that contains the path to be altered. + ' cchMax = The maximum number of characters to be contained in the new string, including the terminating null. + ' reserved = Reserved + ' Returns TRUE if successful, or FALSE otherwise. + + Public Function PathCompactPathEx( + pszOut As System.Text.StringBuilder, + pszSrc As String, + cchMax As UInteger, + reserved As Integer + ) As Boolean + End Function + End Module diff --git a/My Project/AssemblyInfo.vb b/My Project/AssemblyInfo.vb index 05ec077..c116a18 100644 --- a/My Project/AssemblyInfo.vb +++ b/My Project/AssemblyInfo.vb @@ -27,7 +27,7 @@ Imports System.Runtime.InteropServices #End If - + @@ -46,5 +46,5 @@ Imports System.Runtime.InteropServices ' utilizzando l'asterisco (*) come descritto di seguito: ' - - + +