Du kommst in die VBA-Programmierumgebung indem du Extras-Makro-VisualBasicEditor anklickst. Nachstehend habe ich dir zwei Beispiele zusammen gebastelt mit denen du iProps lesen bzw. schreiben kannst:
---------------
Sub iProps_lesen()
'Hier werden alle Benutzerdefinierten iProps gelesen
Dim oApp As Application
Set oApp = ThisApplication
Dim oDoc As Inventor.Document
Set oDoc = oApp.ActiveDocument
Dim PropSets As Inventor.PropertySets
Dim PropSet As Inventor.PropertySet
Dim Prop As Inventor.Property
Set PropSets = oDoc.PropertySets
For Each PropSet In PropSets
If PropSet.InternalName = "{D5CDD505-2E9C-101B-9397-08002B2CF9AE}" Then 'Benutzerdefinierte Eigenschaften
For Each Prop In PropSet
MsgBox (Prop.DisplayName & " - " & Prop.Value)
Next
End If
Next
End Sub
---------------
Sub iProps_schreiben()
'Hier wird ein neues Benutzerdefiniertes iProp geschrieben
'Ist das iProp schon definiert wird der enthaltene Wert überschrieben
Dim oApp As Application
Set oApp = ThisApplication
Dim oDoc As Inventor.Document
Set oDoc = oApp.ActiveDocument
Dim PropSets As Inventor.PropertySets
Dim PropSet As Inventor.PropertySet
Dim Prop As Inventor.Property
Set PropSets = oDoc.PropertySets
Dim vorhanden As Boolean
vorhanden = False
Dim neuesProp As Property
Dim PropName As String
PropName = "neues iProp"
Dim PropWert As String
PropWert = "testWert"
For Each PropSet In PropSets
If PropSet.InternalName = "{D5CDD505-2E9C-101B-9397-08002B2CF9AE}" Then 'Benutzerdefinierte Eigenschaften
For Each Prop In PropSet
If Prop.Name = PropName Then
vorhanden = True
Prop.Value = "blablabla"
End If
Next
If vorhanden = False Then
Set neuesProp = PropSet.Add(PropWert, PropName)
End If
End If
Next
End Sub
---------------
Die Hilfe-Datei zur Inventor-API findest du unter ...Programme\Autodesk\Inventor2008\SDK\Docs\Help\admapi_12_0.chm
Du kannst auch AddIns mit VB.net basteln aber vorerst würde ich mich im VisualBasicEditor versuchen.
Ich würde sagen Weiteres folgt dann am Montag. Schönes Wochenende!
[Diese Nachricht wurde von HTBU am 11. Apr. 2008 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP