VBA - Das Urgestein

Im ersten Post dieser Serie iLogic: Erste Schritte mit der Inventor API wurde bereits ein VBA Code vorgestellt. VBA steht für Visual Basic for Applicationss und ist eine Programmiersprache, die aus dem Ökosystem der Microsoft Office Anwendungen entsprungen ist. VBA Code wird in einem eigens dafür kreierten Editor geschrieben, dem VBE-Editor (Visual Basic Environment). Im ersten Post wurde auch bereits erläutert, dass man mit dem Shortcut ALT + F11 diesen Editor starten kann. Dies Funktioniert in allen Office Anwendungen aus dem Hause Microsoft.

Mit VBA haben viele Konstrukteure im Studium Berührung. Am Häufigsten wird es im Zusammenspiel mit Microsoft Excel gelehrt und in der Regel sind es freudenlose Aufgabenstellungen für Probleme, die niemand im Arbeitsleben wiederfindet. VBA ist eine alte Programmiersprache aus dem Jahre 1993 und gerade in Puncto Error Handling eine nicht hinnehmbare Zumutung. Das hat auch Microsoft erkannt und die Sprache mit dem letzten Release VBA 6 den Tabellenknechten des Strafplaneten Excel überlassen und sich entschlossen fortwährend VB.NET zuzuwenden.

VB.NET - Die Weiterentwicklung

Während VBA auszog, um eine einheitliche Programmierumgebung innerhalb der Office-Anwendungen zu bieten, ist VB.net eine mächtigere Programmiersprache. Sie kann auch außerhalb vom VBE-Editor verwendet und in standalone EXE Files kompiliert werden. VB.net kann VBA gänzlich ersetzen und bietet viele Vorteile und erweiterten Funktionsumfang, bspw. in der Gestaltung von Steuerelementen oder der Handhabung von Fehlern. Ein anschauliches Beispiel aus dem Post iLogic: User Interaktion sind Messageboxes. VBA bietet lediglich die Möglichkeit einen Titel und einen Messagebody zu senden:

MsgBox("Titel", "Messagebody)

VB.net hingegen erlaubt zusätzlich noch die Definition von Icons, Buttons mit Default-Belegung, etc., wie im vorangegangenen Post iLogic: User Interaktion vorgestellt wurde.

Der iLogic Editor, der bereits im Post iLogic: Der Editor vorgestellt wurde, kann ebenfalls VB.net ausführen. Auch kann beliebig VB.net und iLogic Code in diesem Editor kombiniert werden.

iLogic - Ein VB.NET Subset

Was genau ist also iLogic? iLogic ist ein sogenanntes Subset von VB.net. Eine Sammlung nützlicher spezifischer Shortcuts, die explizit die Handhabung und Funktionalität von Inventor betreffen. Diese Shortcuts bieten erleichtert Zugang zu den Funktionalitäten der Inventor API.

Ein paar Beispiele, die iLogic und die API-Variante gegenüberstellen:

iProperties

In iLogic kann ein Custom iPoperty mit dem beispielhaften Namen Titel sehr einfach ausgelesen werden.

' iLogic
Dim Titel As String = iProperties.Value("Custom", "Titel")

' API Variante
Dim oDoc As Document = ThisDoc.Document
Dim Titel As String = oDoc.PropertySets.Item("Inventor User Defined Properties).Item("Blechdicke").Value

Zugriff auf Zeichnungsmodelle

In iLogic kann einfach auf das Modelldokument einer Zeichnung zugegriffen werden:

' iLogic
Dim oModelDoc As Document = ThisDrawing.ModelDocument

' API Variante
Dim oDoc As Document = ThisDoc.Document
Dim oModelDoc = oDoc.ReferencedFiles.Item(1)

Ressources