Passing Points and/or Vector as parameters to a VB .net function

Passing Points and/or Vector as parameters to a VB .net function

Anonymous
Not applicable
1,430 Views
3 Replies
Message 1 of 4

Passing Points and/or Vector as parameters to a VB .net function

Anonymous
Not applicable

Does anyone know of the best appraoch to passing Points and/or vectors as parameters to external functions written using VB.NET and incorperating Inventor API calls?

 

I would like to have a function written in Intent that looks something like:

 

Function iv_FooBar(PointParam As Point, VectParam as Vector) As String

.......

End Function

 

But I am unclear as to what the VB end needs to look like:

 

I was hoping to have something like:

 

Public SharedFunction iv_FooBar(ByVal PointParam As Inventor.ComponentOccurrence, ByVal VectParam as ????????) As String

 

But I guess it's not as simple as that!

 

Reply
Reply
0 Likes
Accepted solutions (1)
1,431 Views
3 Replies
Replies (3)
Message 2 of 4

nagwani
Alumni
Alumni

Hi There,

 

You just need to create Inventor point and vector using %%inventorapplication object in ETO 2012 or inventorapplication rule in 2013. Below is my Intent method which called external VB function with two arguments. I have also given the sample code of VB DLL.

 

Method TestExternalVB() As String
 Dim pt As Any = %%inventorapplication.transientgeometry.createpoint(10,10,100)
 Dim vec As Any = %%inventorapplication.transientgeometry.createvector(0,0,1)

 

 ' The name of DLL is ExternallVBFunction

 ' The name of Class is MyExternalFunctions

 ' The name of Function in class is iv_FooBar


 Dim customFunction As Any = New ExternallVBFunction.MyExternalFunctions()
 Dim s As String
 s=customFunction.iv_FooBar( pt,vec)
    Return s
End Method

 

 

 

'====================================== 

' Code of VB DLL

'======================================

 

Imports Autodesk.Intent.IntentAPI
Imports Inventor


Public Class MyExternalFunctions
    Public Function iv_FooBar(ByVal pt As Inventor.Point, ByVal vec As Inventor.Vector) As String
        Dim s As String
        s = "Point:" + CStr(pt.X) + "," + CStr(pt.Y) + "," + CStr(pt.Z)
        Return s
    End Function
End Class

Reply
Reply
0 Likes
Message 3 of 4

Anonymous
Not applicable
Thanks for the assistance
Reply
Reply
0 Likes
Message 4 of 4

nagwani
Alumni
Alumni
Accepted solution

Hi,

 

Can you please close the problem.

 

Regards,

-Ishwar N

Reply
Reply
0 Likes