From 618179ca0076efb03976ab6a778ec6c2ab46a94d Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Fri, 23 Mar 2018 12:29:36 +0000 Subject: [PATCH] TestEIn 1.9c5 : - ricompilazione per aggiornamento. --- EgtInterface.vb | 178 +++++++++++++++++++++++++++++++++---- My Project/AssemblyInfo.vb | 4 +- 2 files changed, 161 insertions(+), 21 deletions(-) diff --git a/EgtInterface.vb b/EgtInterface.vb index 0263114..bdd5272 100644 --- a/EgtInterface.vb +++ b/EgtInterface.vb @@ -789,6 +789,15 @@ Structure Color3d End Sub End Structure +Structure FlagPar + Dim nFlag As Integer + Dim dPar As Double + Sub New(nF As Integer, dP As Double) + nFlag = nF + dPar = dP + End Sub +End Structure + #If DEBUG Then Const EgtIntDll32 As String = "EgtInterfaceD32.dll" Const EgtIntDll64 As String = "EgtInterfaceD64.dll" @@ -3611,6 +3620,19 @@ Public Function EgtExtractSurfTmFacetLoops(nId As Integer, nFacet As Integer, nD End If End Function + +Private Function EgtCopySurfTmFacet_32(nId As Integer, nFacet As Integer, nDestGrpId As Integer) As Integer +End Function + +Private Function EgtCopySurfTmFacet_64(nId As Integer, nFacet As Integer, nDestGrpId As Integer) As Integer +End Function +Public Function EgtCopySurfTmFacet(nId As Integer, nFacet As Integer, nDestGrpId As Integer) As Integer + If IntPtr.Size = 4 Then + Return EgtCopySurfTmFacet_32(nId, nFacet, nDestGrpId) + Else + Return EgtCopySurfTmFacet_64(nId, nFacet, nDestGrpId) + End If +End Function '---------- GeomDb Parts & Layers ---------------------------------------------- @@ -6167,6 +6189,113 @@ Public Function EgtSurfTmFacetNormVersor(nId As Integer, nF As Integer, ByRef Vt Return EgtSurfTmFacetNormVersor(nId, nF, nId, VtNorm) End Function + +Private Function EgtSurfTmFacetOppositeSide_32(nId As Integer, nFacet As Integer, ByRef vtDir As Vector3d, nRefId As Integer, + ByRef PtP1 As Point3d, ByRef PtP2 As Point3d) As Boolean +End Function + +Private Function EgtSurfTmFacetOppositeSide_64(nId As Integer, nFacet As Integer, ByRef vtDir As Vector3d, nRefId As Integer, + ByRef PtP1 As Point3d, ByRef PtP2 As Point3d) As Boolean +End Function +Public Function EgtSurfTmFacetOppositeSide(nId As Integer, nFacet As Integer, ByRef vtDir As Vector3d, nRefId As Integer, + ByRef PtP1 As Point3d, ByRef PtP2 As Point3d) As Boolean + If IntPtr.Size = 4 Then + Return EgtSurfTmFacetOppositeSide_32(nId, nFacet, vtDir, nRefId, PtP1, PtP2) + Else + Return EgtSurfTmFacetOppositeSide_64(nId, nFacet, vtDir, nRefId, PtP1, PtP2) + End If +End Function +Public Function EgtSurfTmFacetOppositeSide(nId As Integer, nFacet As Integer, ByRef vtDir As Vector3d, + ByRef PtP1 As Point3d, ByRef PtP2 As Point3d) As Boolean + Return EgtSurfTmFacetOppositeSide(nId, nFacet, vtDir, nId, PtP1, PtP2) +End Function + + + +Private Function EgtSurfTmFacetAdjacencies_32(nId As Integer, nF As Integer, ByRef pvAdj As IntPtr, ByRef nCount As Integer) As Boolean +End Function + +Private Function EgtSurfTmFacetAdjacencies_64(nId As Integer, nF As Integer, ByRef pvAdj As IntPtr, ByRef nCount As Integer) As Boolean +End Function +Public Function EgtSurfTmFacetAdjacencies(nId As Integer, nF As Integer, ByRef vAdj As List(Of Integer)) As Boolean + Dim pvAdj As IntPtr + Dim nCount As Integer + Dim bOk As Boolean + If IntPtr.Size = 4 Then + bOk = EgtSurfTmFacetAdjacencies_32(nId, nF, pvAdj, nCount) + Else + bOk = EgtSurfTmFacetAdjacencies_64(nId, nF, pvAdj, nCount) + End If + vAdj.Clear() + If bOk And nCount > 0 Then + vAdj.Capacity = nCount + For nI As Integer = 0 To nCount - 1 + vAdj.Add(Marshal.ReadInt32(pvAdj, nI * 4)) + Next + EgtFreeMemory(pvAdj) + Else + End If + Return bOk +End Function + + +Private Function EgtSurfTmFacetsContact_32(nId As Integer, nF1 As Integer, nF2 As Integer, nRefId As Integer, + ByRef bAdjac As Boolean, ByRef PtP1 As Point3d, ByRef PtP2 As Point3d, ByRef dAng As Double) As Boolean +End Function + +Private Function EgtSurfTmFacetsContact_64(nId As Integer, nF1 As Integer, nF2 As Integer, nRefId As Integer, + ByRef bAdjac As Boolean, ByRef PtP1 As Point3d, ByRef PtP2 As Point3d, ByRef dAng As Double) As Boolean +End Function +Public Function EgtSurfTmFacetsContact(nId As Integer, nF1 As Integer, nF2 As Integer, nRefId As Integer, + ByRef bAdjac As Boolean, ByRef PtP1 As Point3d, ByRef PtP2 As Point3d, ByRef dAng As Double) As Boolean + If IntPtr.Size = 4 Then + Return EgtSurfTmFacetsContact_32(nId, nF1, nF2, nRefId, bAdjac, PtP1, PtP2, dAng) + Else + Return EgtSurfTmFacetsContact_64(nId, nF1, nF2, nRefId, bAdjac, PtP1, PtP2, dAng) + End If +End Function +Public Function EgtSurfTmFacetsContact(nId As Integer, nF1 As Integer, nF2 As Integer, + ByRef bAdjac As Boolean, ByRef PtP1 As Point3d, ByRef PtP2 As Point3d, ByRef dAng As Double) As Boolean + Return EgtSurfTmFacetsContact(nId, nF1, nF2, nId, bAdjac, PtP1, PtP2, dAng) +End Function + + +Private Function EgtSurfTmLineInters_32(nId As Integer, ByRef ptP As Point3d, ByRef vtDir As Vector3d, nRefId As Integer, + ByRef pvFlagInters As IntPtr, ByRef pvParInters As IntPtr, ByRef nCount As Integer) As Boolean +End Function + +Private Function EgtSurfTmLineInters_64(nId As Integer, ByRef ptP As Point3d, ByRef vtDir As Vector3d, nRefId As Integer, + ByRef pvFlagInters As IntPtr, ByRef pvParInters As IntPtr, ByRef nCount As Integer) As Boolean +End Function +Public Function EgtSurfTmLineInters(nId As Integer, ptP As Point3d, vtDir As Vector3d, nRefId As Integer, ByRef vInters As List(Of FlagPar)) As Boolean + Dim pvFlagInters As IntPtr + Dim pvParInters As IntPtr + Dim nCount As Integer + Dim bOk As Boolean + If IntPtr.Size = 4 Then + bOk = EgtSurfTmLineInters_32(nId, ptP, vtDir, nRefId, pvFlagInters, pvParInters, nCount) + Else + bOk = EgtSurfTmLineInters_64(nId, ptP, vtDir, nRefId, pvFlagInters, pvParInters, nCount) + End If + vInters.Clear() + If bOk And nCount > 0 Then + Dim vnFlag(nCount) As Integer + Marshal.Copy(pvFlagInters, vnFlag, 0, nCount) + Dim vnPar(nCount) As Double + vInters.Capacity = nCount + Marshal.Copy(pvParInters, vnPar, 0, nCount) + For i As Integer = 0 To nCount - 1 + vInters.Add(New FlagPar(vnFlag(i), vnPar(i))) + Next + EgtFreeMemory(pvFlagInters) + EgtFreeMemory(pvParInters) + End If + Return bOk +End Function +Public Function EgtSurfTmLineInters(nId As Integer, ptP As Point3d, vtDir As Vector3d, ByRef vInters As List(Of FlagPar)) As Boolean + Return EgtSurfTmLineInters(nId, ptP, vtDir, nId, vInters) +End Function + Private Function EgtTextNormVersor_32(nId As Integer, nRefId As Integer, ByRef VtNorm As Vector3d) As Boolean End Function @@ -9061,16 +9190,16 @@ End Function End Function - Private Function EgtCreateMachining_32(sName As String, nType As Integer, sMachining As String) As Integer + Private Function EgtCreateMachining_32(sName As String, nType As Integer, sTool As String) As Integer End Function - Private Function EgtCreateMachining_64(sName As String, nType As Integer, sMachining As String) As Integer + Private Function EgtCreateMachining_64(sName As String, nType As Integer, sTool As String) As Integer End Function - Public Function EgtCreateMachining(sName As String, nType As Integer, sMachining As String) As Integer + Public Function EgtCreateMachining(sName As String, nType As Integer, sTool As String) As Integer If IntPtr.Size = 4 Then - Return EgtCreateMachining_32(sName, nType, sMachining) + Return EgtCreateMachining_32(sName, nType, sTool) Else - Return EgtCreateMachining_64(sName, nType, sMachining) + Return EgtCreateMachining_64(sName, nType, sTool) End If End Function @@ -11776,6 +11905,15 @@ Public Enum REGC As Integer OUT = 4 INTERS = 5 End Enum +'Costanti : tipo punto intersezione Linea/SurfTriMesh +Public Enum SLI_TYPE As Integer + NONE = 0 + IN_ = 1 + OUT_ = 2 + TG_INI = 3 + TG_FIN = 4 + TOUCH = 5 +End Enum 'Costanti : flag per import CNC (sommabili tra loro) Public Enum EIC_FL As Integer NONE = 0 @@ -11792,6 +11930,8 @@ Public Enum EIB_FL As Integer End Enum 'Costanti : interruzione di riga Public Const LINE_BREAK As String = "
" +'Costanti : flag separazione loop in adiacenze di facet +Public Const STM_FACETADJ_ENDLOOP As Integer = -2 'Costanti : tipo creazione pezzo piatto Public Enum FPC_TYPE As Integer NGE = 0 @@ -11800,27 +11940,27 @@ Public Enum FPC_TYPE As Integer CLOSEDCURVE = 3 End Enum ' Costanti : nome solido del grezzo -Public RAWSOLID As String = "RawSolid" +Public Const RAWSOLID As String = "RawSolid" ' Costanti : nome centro del grezzo -Public RAWCENTER As String = "RawCenter" +Public Const RAWCENTER As String = "RawCenter" ' Costanti : nome centro del grezzo -Public RAWOUTLINE As String = "RawOutline" +Public Const RAWOUTLINE As String = "RawOutline" ' Costanti : solido del sottopezzo -Public SOLID As String = "SOLID" +Public Const SOLID As String = "SOLID" ' Costanti : tipo di Sottopezzo -Public FIX_TYPE As String = "TYPE" -Public FIX_REF As String = "REF" -Public FIX_VAC As String = "VAC" -Public FIX_VIS As String = "VIS" +Public Const FIX_TYPE As String = "TYPE" +Public Const FIX_REF As String = "REF" +Public Const FIX_VAC As String = "VAC" +Public Const FIX_VIS As String = "VIS" ' Costanti : arco di battuta dei riferimenti -Public REF_ARC As String = "Ref" +Public Const REF_ARC As String = "Ref" ' Costanti : disco colorato dei riferimenti -Public REF_DISK As String = "RefDisk" +Public Const REF_DISK As String = "RefDisk" ' Costanti : nomi sottogruppi della lavorazione -Public MCH_MGR_PV As String = "PV" -Public MCH_MGR_CL As String = "CL" -Public MCH_MGR_ST As String = "ST" -Public MCH_MGR_PATH As String = "P" +Public Const MCH_MGR_PV As String = "PV" +Public Const MCH_MGR_CL As String = "CL" +Public Const MCH_MGR_ST As String = "ST" +Public Const MCH_MGR_PATH As String = "P" ' Costanti : tipo interferenza lavorazioni piane con pezzi Public Enum FMI_TYPE As Integer NONE = 0 diff --git a/My Project/AssemblyInfo.vb b/My Project/AssemblyInfo.vb index 31b0a7e..0cb670e 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: ' - - + +