Visual Basic.net program to extract iProperties

Visual Basic.net program to extract iProperties

isocam
Collaborator Collaborator
1,320 Views
1 Reply
Message 1 of 2

Visual Basic.net program to extract iProperties

isocam
Collaborator
Collaborator

Can anybody help???

 

I am trying to write a simple Visual Basic.net (stand alone exe file) program to extract iProperties "Description" & "Revision Number form an Inventor ipt file, but I am having problems. Does anybody know how to do this?

 

I want, for purposes of testing, to call the ipt file "C:\Test.ipt"

 

Here is my code (I have added Inventor using "Import Inventor")....

 

Public Function GetPartData(PartDescription, PartRevision)
    Dim partDoc As PartDocument
    Set partDoc = ThisApplication.ActiveDocument
    
    Dim invDescriptionProperty As Property
    Dim invRevisionProperty As Property
    
    Set invDescriptionProperty = partDoc.PropertySets.Item("Design Tracking Properties").Item("Description")
    Set invRevisionProperty = partDoc.PropertySets.Item("Inventor Summary Information").Item("Revision Number")
    
    If invDescriptionProperty.Value <> "" Then
       PartDescription = invDescriptionProperty.Value
    Else
       PartDescription = ""
    End If
   
    If invRevisionProperty.Value <> "" Then
       PartRevision = invRevisionProperty.Value
    Else
       PartRevision = "-"
    End If

End Function

 

Many thanks in advance!!!!

 

IsoCAM

0 Likes
1,321 Views
1 Reply
Reply (1)
Message 2 of 2

Ralf_Krieg
Advisor
Advisor

Hello

 

While running your addin as standalone exe you're not in Inventors context and can not get Inventor by ThisApplication. You can use ApprenticeServer if you only need to read iProp values.

 

Dim oApprentice As New Inventor.ApprenticeServerComponent
Dim oApprDoc As Inventor.ApprenticeServerDrawingDocument
oApprDoc = oApprentice.Open(yourfilenameasstring)

 

Or you get a reference to Inventor by something like this (this assumes a running inventor):

 

Dim oInventorApp As Inventor.Application

Dim oIVPart As Inventor.PartDocument

oInventorApp = System.Runtime.InteropServices.Marshal.GetActiveObject("Inventor.Application")
oIVPart = oInventorApp.ActiveDocument

 

 


R. Krieg
RKW Solutions
www.rkw-solutions.com
0 Likes