[英]how to get the properties of an object in inventoer using api
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. 我是Inventor api编程的新手。我想获取活动文档的属性。我正在使用vb.net进行编码。我尝试了一些代码但没有帮助。 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.? 任何人都知道如何获取part1.ipt文档的属性。
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: 既然您已经获得了文档,那么您可以通过这样的两个For-Each-Loops迭代PropertySets和其中的属性,例如:
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.