I am new in Inventor api programming.I want to get the properties of a active document.I am using vb.net for coding.I tried some code but no help. here I use some code for open an inventor document ,it is working fine
Public Sub OpenDoc()
Dim oDoc As Document
oDoc = _InvApplication.Documents.Open _
("C:\Temp\Part1.ipt")
End Sub
any one know how to get the part1.ipt document's properties.?
First try to understand the object model
Application
|
-------- Documents
|
---------- Document
|
------------- PropertySet
|
------------ Property
Now, you can access the info you require ...
Public Sub ShowDocuments()
' Get the Documents collection object.
Dim invDocs As Documents
Set invDocs = ThisApplication.Documents
' Iterate through the contents of the Documents collection.
Dim i As Integer
For i = 1 To invDocs.Count
' Get a specific item from the Documents collection.
Dim invDocument As Document
Set invDocument = invDocs.Item(i)
' Display the full filename of the document in the Immediate window.
Debug.Print invDocument.FullFileName
Next
End Sub
Since you already got the document, you can just iterate through the PropertySets and the Properties therein with two For-Each-Loops like this for example:
Dim oPropSets As PropertySets
oPropSets = oDoc.PropertySets
Dim oPropSet As PropertySet
For Each oPropSet In oPropSets
Dim oPartProp As Inventor.Property
For Each oPartProp In oPropSet
Dim oPropertyValue As Object
If oPartProp.Value Is Nothing Then
'NullValue-Properties are ignored
ElseIf oPartProp Is Nothing Then
'Null-Properties are ignored too
ElseIf System.String.Equals(oPartProp.Value.ToString.Trim, "") Then
'Properties with empty values are also ignored
Else
'And here you have your Property:
Debug.Print(oPartProp.Name & "=" & oPartProp.Value.ToS5tring & vbLf)
End If
Next
Next
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.