Programmierung mit VBA in Autodesk Inventor
Transcrição
Programmierung mit VBA in Autodesk Inventor
Autodesk Inventor Programmierung mit VBA in Autodesk Inventor - Teil 1 Vorbereitung Darstellung der Benutzeroberfläche für das Makro Arbeiten mit VBA Steuerelementen Kopieren und Einfügen der Bezeichnungsfelder Rahmen hinzufügen Kontrollkästchen hinzufügen Vervollständigung der Elemente Programmieren im Detail Der Test Zusammenfassung Microsoft's Visual Basic for Applications (VBA) ermöglicht in Autodesk Inventor· 5 eine Programmierumgebung.. Das nachfolgende Tutorial zeigt Ihnen die erweiterte Funktionalität von VBA Makros in Autodesk Inventor. Zusätzlich lernen Sie, wie Sie mit einem kleinen Makro den Massenschwerpunkt einer Baugruppe ermitteln können. Hinweis: Sie können diese Tutorials jederzeit ohne Programmier-Vorkenntnisse beginnen. Allerdings sollten Sie sich vorher den API Überblick in der Programmierhilfe durchlesen. Die Programmierhilfe steht Ihnen allerdings nur bei einer benutzerdefinierten oder vollständigen Installation von Autodesk Inventor 5 zur Verfügung. Grundkenntnisse über VBA helfen Ihnen natürlich die verschiedenen Funktionen einfacher zu verstehen, sind aber keine Grundvoraussetzung. Ein gutes Verständnis von Autodesk Inventor Funktionalität ist die beste Voraussetzung eigene Anpassungen vorzunehmen. Vorbereitung Folgende Bedingungen soll das zu erzeugende Makro erfüllen: • Ermittlung des Massenschwerpunktes der Baugruppe. • Erzeugung eines Objektes, mit dem die Autodesk Inventor Software den Abstand zwischen den Hauptpunkten der Baugruppe (Rotationsachse, Verbindungspunkten, usw.) und dem Massenschwerpunkt ermitteln kann. • Keine Beeinflussung der Massenschwerpunktsberechnung. • Kontinuierliche Darstellung der Massenschwerpunktskoordinaten der Baugruppe. Die Autodesk Inventor API (application programming interface) ermöglicht Ihnen sogenannte Custom Objects zu erzeugen, die die obigen Anforderungen erfüllen. Dies würde allerdings den Rahmen dieses Tutorials sprengen. Aus diesem Grund verwenden wir das vordefinierte Marker Bauteil (Bild 1) um den Massenschwerpunkt der Baugruppe zu ermitteln. Dem Bauteil wird ein Material mit Dichte Null zugewiesen, um es von den Massen und Massenschwerpunktsberechnungen auszuschließen. Da es sich um ein Bauteil handelt, ist es möglich die vorhandene Original Geometrie als Hilfsobjekt zur Entfernungsmessung für den Massenschwerpunkt der Baugruppe zu verwenden. Zusätzlich dienen die 3 orthogonalen Zylinder durch die Kugel zur Ausrichtung mit den X,Y und Z Achsen der Baugruppe. Um das Teil in Baugruppen mit unterschiedlichen Skalierungen zu verwenden zu können, fügen wir noch die Option der schnellen Teilskalierung an. Bild 1: Marker.ipt. Makros und die VBA Umgebung Die Anforderungen an unser Makro bedeuten, daß wir ein Benutzeroberfläche (User Interface = UI) erzeugen müssen. Um dies einfach zu halten, wird das Marker Bauteil seine gemessene Position zum Massenschwerpunkt der Baugruppe nur durch den Befehlsaufruf des Anwenders updaten. Die Darstellung der Original Geometrie und die Skalierung des Massenschwerpunktes sind ebenfalls Änderungen die eine Benutzerinteraktion benötigen. Abschließend wird die Darstellung der aktuellen Massenschwerpunktskoordinaten ebenfalls durch einen Dialog gestartet. Natürlich ist das UI unseres Makros kein Muss, es ist auch jederzeit möglich komplexe und hilfreiche Makros ohne Anwendereingaben zu erstellen. Autodesk Inventor Makros können an 3 Stellen gespeichert werden: • Eingebettet in ein Dokument • In einem voreingestellten VBA Projekt definiert • In einem externen VBA Projekt definiert Der API Überblick in der Programmierhilfe zeigt diese Optionen detailliert auf. In unserem Fall greifen wir auf ein externes VBA Projekt zurück, um die Wiederverwendbarkeit des Makros zu erhöhen. Zurück zum Seitenanfang Erzeugung eines neuen VBA Projekts: 1. Starten Sie im Autodesk Inventor Menü Werkzeuge>Makro>Visual Basic Editor (Es sollte keine Zeichnung geöffnet sein). Die VBA IDE (integrierte Entwicklungsumgebung) wird gestartet (Bild 2). Bild 2: VBA integrierte Entwicklungsumgebung 2. Starten Sie im Visual Basic Editor Menü Extras > Optionen. 3. Aktivieren Sie im Editor Reiter die Option ·Variablendeklaration erforderlich· und verlassen Sie den Dialog mit ·OK·. Die Details dazu werden später erläutert. 4. Starten Sie Datei > Neues Projekt. Ein neues Projekt (Benutzerprojekt1) wird im Projekt Explorer gestartet. Dieses Projekt endet auf .ivb und kann jederzeit wieder geladen werden. Beim Verlassen der VBA Oberfläche wird die Datei noch nicht gespeichert, dies erfolgt erst beim Verlassen von Autodesk Inventor. Aktuell sind in dem Projekt noch keine Makros definiert. Wir müssen unser Makro hinzufügen und dann das UI dazu aufbauen. Ein Makro kann Aktionen aus einer Reihe von einfachen Bedingungen bishin zu komplexen Abläufen durchführen. Ein Makro wird durch das Hinzufügen einer Unterroutine (subroutine) in einem Modul innerhalb eines Projektes erzeugt. Was bedeuten Modul und Unterroutine im Detail? Ein VBA Modul ist ein Container für Programmiercode (Details folgen später). Eine Unterroutine ist ein Abschnitt mit Programmanweisungen zur Durchführung einer Aufgabe. Unterroutine können innerhalb eines Moduls erzeugt werden, und falls die Unterroutine keine Argumente hat, wird sie als Makro erkannt. Falls Sie jetzt verwirrt sind, keine Bange, in den folgenden Schritten wird es klarer. 5. Expandieren Sie Benutzerprojekt im Projekt-Explorer (klicken Sie auf das ·+· Symbol vor ·Benutzerprojekt·. 6. Expandieren Sie Module unterhalb des Benutzerprojekt, um Modul1 sichtbar darzustellen 7. Doppelklicken Sie auf Modul1. Das Editier Fenster zeigt jetzt das Modul1 (siehe Bild 3). Bild 3: Modul Bearbeitung Sehen wir uns das neu dargestellte Element im Detail an. • Die Liste der Prozeduren ermöglicht einen schnellen Zugriff auf eine speziell benannte Prozedur innerhalb eines Moduls (Es können beliebig viele Prozeduren innerhalb eines Moduls definiert werden.) • Innerhalb des Code-Fensters werden die Prozedur-abhängigen Instruktionen eingegeben (eine Unterroutine ist einer der verfügbaren Prozeduren). Die Bedeutung von ·Option Explicit· erklären wir später. Hinzufügen einer Unterroutine zu einem Modul Wir erzeugen jetzt eine Unterroutine im Modul1. Autodesk Inventor erkennt diese als Makro und wir werden diese zum Start unseres Baugruppen Massenschwerpunkt ermittlers nutzen. 1. Starten Sie im Visual Basic Editor Einfügen>Prozedur 2. Geben Sie CogTool als Namen ein. Beachten Sie, daß die Voreinstellungen eine Public Unterroutine erzeugen. Verlassen Sie den Dialog mit ·OK. Der Programmiercode sollte mit der Darstellung in Bild 4 übereinstimmen. Bild 4: CogTool Unterroutine Eine Unterroutine enthält Programmiercode um eine bestimmte Aufgabe auszuführen. Diese Unterroutine kann auch aus anderen Unterroutinen heraus aufgerufen werden. Weitere wissenswerte Punkte über Unterroutinen sind: • Um eine Unterroutine als Makro zu verwenden, muß sie ·public· definiert sein. • Der Programmiercode muß vor dem End Sub Anweisung stehen. • Die Klammer am Ende der Unterroutinen Beschreibung kann Argumente beinhalten, die an eine andere Unterroutine weitergegeben werden (oder von einer anderen Unterroutine kommen). Um als Makro akzeptiert zu werden, darf die Unterroutine keine Argumente enthalten. Ein Beispiel einer Unterroutine ist nachfolgend dargestellt. Public Sub AddTwo (Int1 as Integer, Int2 as Integer, Ans as Integer) Ans = Int1 + Int2 End Sub Ein anderer Programmcode könnte diese Unterroutine mit folgendem Syntax aufrufen: Call AddTwo (5, 6, MyAns) Den Argumenten Int1 und Int2 sind die Werte 5 and 6 zugeordnet. Das Argument Ans ist mit der Variable MyAns verknüpft. MyAns wird der Wert von Ans am Ende der Unterroutine zugewiesen (in diesem Fall 11). Zurück zum Seitenanfang Darstellung der Benutzeroberfläche für das Makro Wir haben alles vorbereitet um das Makro zu definieren, und fügen jetzt noch einige Instruktionen zur Darstellung von Aktionen hinzu. Für das UI des Makros fügen wir jetzt den Programmiercode ein. Zuvor erzeugen wir aber noch einen Container (UserForm). 1. Starten Sie im Projekt-Explorer Fenster auf dem Benutzerprojekt1 das rechte Maustastenmenü und wählen Sie Einfügen>UserForm. (Bild 5). Bild 5: UserForm (mit fertigem UI) Das Editier Fenster zeigt nun ein leeres Formblatt an. 2. Wählen Sie im Eigenschaftenfenster den Namenstext UserForm1 aus, und ändern ihn auf frmCog ab (Bild 6). Bestätigen Sie mit <return> (oder mit der TAB Taste) Ihre Änderung. Bild 6: Umbenanntes Form. Damit ist der Container für das Makro vollständig. Wir arbeiten jetzt am Makro für das UI. 1. Starten Sie im Visual Basic Editor Menü, Fenster > Baugruppe1 · Modul1 (Code), um das Code Fenster wieder zu öffnen. Hinweis: Man kann das Code Fenster ebenfalls durch einen Doppelklick auf das Modul oder durch das rechte Maustastenmenü (>Code anzeigen) im Projekt-Explorer aktivieren. 2. Klicken Sie im Code Fenster auf die leere Zeile oberhalb End Sub und geben dort frmCog. ein (Achten Sie bitte darauf, den Punkt nach frmCog. Einzugeben.) und Methoden, die dem Objekt zugeordnet werden können. Objekte und ihre Eigenschaften und Methoden sind die Basis der Autodesk Inventor Software Programmierung. Eine Kurzübersicht folgt noch, ansonsten stehen die Information auch in der API Übersicht in der Online Hilfe zur Verfügung. • Objekte sind durch Programmiercode veränderte Elemente. Autodesk Inventor bietet Dokumente, Teile Verfügbarkeit in Baugruppen oder Funktionsobjekte innerhalb eines Teils als Objekte an. VBA bietet zusätzlich UserForms und Steuerelemente für UserForms (Textfelder, Listenfelder, Kontrollfelder usw) als Objekte an. • Eigenschaften gelten jeweils für ein spezielles Objekt. Ein UserForm bietet viele einstellbare Eigenschaften, wie z.B. BackColor, Height, Width, und Font. Man kann diese Eigenschaften im Eigenschaftsfenster verändern oder durch direkten Programmiercode (z.B. frmCog.Height =140) modifizieren. • Methoden sind Aktionen, die das Objekt während der Programmausführung verändern. Ein UserForm unterstützt eine Anzahl von Methoden wie Move, Show und Hide. Arbeiten wir jetzt weiter am Programmiercode zur Darstellung des UI. Geben Sie nach dem Punkt sh ein. Die Liste der Objekteigenschaften und Methoden wird dementsprechend eingeschränkt. Dieses hilfreiche VBA Werkzeug wird als IntelliSense® bezeichnet. Zu weiteren Anwendungen dieses Werkzeuges werden wir noch im Laufe des Tutorials kommen. 4. Drücken Sie die Tab Taste um die aktuell gezeigte Methode (Show ) zu übernehmen (Bild 7.) Bild 7: IntelliSense Liste mit Objekteigenschaften und Methoden 5. Drücken Sie die Leertaste. Ein QuickInfo (Tooltip) zeigt die für die Show Methode zur Verfügung stehende Option (Argumente) . Die Form kann modal oder nichtmodal verwendet werden.. Modale Forms verhindern den Zugriff auf andere Applikationen (in diesem Fall auf Autodesk Inventor) solange sie sichtbar sind. Die Form für unser Beispiel soll innerhalb der Autodesk Inventor Software zur Verfügung stehen. Aus diesem Grund benötigen wir eine nichtmodale Form. 6. Vervollständigen Sie die Codezeile wie folgt: FrmCog.Show vbModeless Dies genügt für die UI Definition unseres Makros. Beim Ausführen des Makros wird das UI des Massenschwerpunktes (COG) der Baugruppe dargestellt. Der Anwender kann dann die jetzt noch einzufügenden Steuerelemente verwenden. Zurück zum Seitenanfang Arbeiten mit VBA Steuerelementen Das UI benötigt die folgenden Steuerelemente: • Bezeichnungsfelder (Label) zur Darstellung der X, Y, und Z Koordinaten des Massenschwerpunktes der Baugruppe. • Befehlsschaltflächen (Buttons) zum Einfügen und Aktualisieren der Position des Marker Bauteils. • Eine Befehlsschaltfläche zum Beenden des Makros (Abbrechen). • Eine Befehlsschaltfläche zum Verändern der Formgröße (>>Befehlsschaltfläche). • Kontrollkästchen zum Ein/Ausschalten der Geometriedarstellung des Marker Bauteils. • Ein Textfeld zur Benutzereingabe der Skalierung des Marker Bauteils. Nach dem Einfügen dieser Elemente sieht das Resultat wie folgt aus (Bild 8).Jetzt aber die detaillierten Anweisungen dazu. Bild 8: Fertiges UI 1. Doppelklicken Sie auf frmCog im Projekt-Explorer. Das leere Form wird im Editier Fenster dargestellt. 2. Ändern Sie im Eigenschaften Fenster die Height Eigenschaft auf 105, und anschließend die Width Eigenschaft auf 285. Im folgenden Schritt fügen wir Bezeichnungsfelder für die Darstellung der X Koordinate ein. 3. Klicken Sie die leere Form an. Wählen Sie in der Werkzeugsammlung Dialogbox das Bezeichnungsfeld aus. Falls die Dialogbox nicht sichtbar ist, können Sie sie über das Icon Symbolleiste aktivieren. in der Visual Basic Editor 4. Klicken Sie jetzt in die Form und halten die linke Maustaste gedrückt, um die Grösse des Bezeichnungsfeldes mittels eines Rechtecks ungefähr wie im Bild 9 gezeigt aufzuziehen. Lassen Sie jetzt die Maustaste aus, um das Element abzuschließen. Bild 9: Bezeichnungsfeld (Label) 5. Ändern Sie im Eigenschaften Fenster für das Bezeichnungsfeld folgende Eigenschaften ab (dazu muß das Bezeichnungsfeld wie im Bild 9 markiert/aktiv sein). Name: LBLX Caption: 0,00 Height: 13,5 Left: 18 SpecialEffect: Wählen Sie 2—fmSpecialEffectSunken aus dem Listenfeld aus (Bild 10). TextAlign: Wählen Sie 3—fmTextAlignRight aus dem Listenfeld aus. Top: 4,5 Width: 72 Das Element sollte jetzt wie in Bild 11 gezeigt aussehen. Hinweis: Sie können den Eigenschaften Namen anklicken und dann per Tastatur den gewünschten Wert eingeben. Der aktuelle Wert wird dann automatisch überschrieben. Bild 10: SpecialEffect Auswahl Bild 11: Formatiertes Bezeichnungsfeld 6. Fügen Sie jetzt ein zweites Bezeichnungsfeld direkt links an das lblX Element an (auf gleicher Höhe wie das vorhergehende Bezeichnungsfeld). Ändern Sie die Eigenschaften dieses Bezeichnungsfeldes so ab, daß es der Darstellung im Bild 12 gleicht (Height können Sie mit 13,5 und Top mit 4,5 des Bezeichnungsfeldes übernehmen). Hinweis: um ein weiteres Bezeichnungsfeld einfügen zu können, muß die Form aktiviert sein. Bild 12: Zweites Bezeichnungsfeld Zurück zum Seitenanfang Kopieren und Einfügen der Bezeichnungsfelder Im Gegensatz zur Stand-alone Version Visual Basic, unterstützt VBA keine Reihen von Elementen. Wir kopieren die 2 Bezeichnungsfelder und fügen sie ein, um 2 unabhängige Bezeichnungsfelder für die Y und Z Koordinaten zu erhalten. 1. Wählen Sie die 2 Bezeichnungsfelder (Klicken Sie in die UserForm und ziehen Sie ein Fenster um beide Elemente), kopieren Sie dann mit Ctrl-C beide Elemente, klicken Sie wieder in die UserForm und fügen Sie dann mit Ctrl-V beide Elemente in der Mitte der UserForm ein. 2. Wählen Sie die beiden neuen Bezeichnungsfelder und plazieren Sie sie rechts neben den beiden ersten Elementen. 3. Klicken Sie wieder in die UserForm und fügen mit Ctrl-V die beiden Elemente erneut ein. Anschließend positionieren Sie diese rechts neben den vorherigen Elementen.. 4. Wählen Sie jetzt nacheinander jedes Element an, und ändern die Eigenschaften nach den Informationen in Bild 13 (Top wird wie die ersten 2 Bezeichnungsfelder auf den Wert 4,5 gesetzt). Bild 13: Anpassung der Bezeichnungsfelder Eigenschaften Hinweis: Wir verwenden eine allgemein gültige Namenskonvention für VBA Objekte. Die ersten drei Buchstaben des Namens bezeichnen den Elementtyp (lbl für Label, cmd für command button = Befehlsschaltfläche), anschließend folgt noch der beschreibende Name. Der Name darf keine Leerzeichen beinhalten. Befehlsschaltflächen hinzufügen : Im nächsten Schritt fügen wir eine Befehlsschaltfläche in die UserForm ein. Alle weiteren Befehlsschaltflächen werden wie vorher mit Kopieren und Einfügen plaziert und angepaßt. 1. Starten Sie aus der Werkzeugsammlung die Befehlsschaltfläche. 2. Klicken Sie in die UserForm und ziehen Sie ein Rechteck auf, um die Befehlsschaltfläche wie in Bild 14 gezeigt, zu erzeugen. Ändern Sie die Eigenschaften wie in Bild 14 dargestellt ab. Bild 14: Befehlsschaltfläche plazieren 3. Kopieren und fügen Sie die Befehlsschaltfläche drei mal. Ändern Sie die Position und die Eigenschaften der Befehlsschaltflächen wie im Bild 15 dargestellt (Top ist mit dem Wert 22,5 bei allen gleich). Löschen Sie beim cmdMore >> Button die Information aus der Accelerator Zeile. Bild 15: Weitere Befehlsschaltflächen Zurück zum Seitenanfang Rahmen hinzufügen Als nächstes fügen wir einen Rahmen zusammenzufassen. ein, um die Kontrollkästchen der Original Geometrie 1. Starten Sie aus der Werkzeugsammlung die Funktion Rahmen. 2. Erzeugen Sie den Rahmen mit der selben Klick-und-Zieh-Technik wie vorher bei der ersten Befehlsschaltfläche. Ändern Sie die Eigenschaften wie in Bild 16 beschrieben ab. Bild 16: Rahmen Element Kontrollkästchen hinzufügen 1. Fügen Sie drei Kontrollkästchen Name Caption in den Rahmen. Definieren Sie die folgenden Eigenschaften: Accelerator Width chkPlanes Ebenen E 45 chkAxes Achsen C 45 chkCP Mittelpunkt M 60 Die UserForm sollte jetzt wie in Bild 17 dargestellt, aussehen. Bild 17: Kontollkästchen hinzugefügt Zurück zum Seitenanfang Vervollständigung der Elemente 1. Fügen Sie jetzt noch ein Textfeld folgenden Eigenschaften: Name: txtScale Height: 15,75 Left: 200 Text: 1,0 Top: 62 in die untere rechte Ecke des UserForms ein. Definieren Sie die 2. Fügen Sie jetzt noch ein Bezeichnungsfeld über das Textfeld. Definieren Sie die Caption Eigenschaft als Skalierung und den Accelerator auf S. 3. Klicken sie auf die Titelleiste der UserForm und geben als Namen in der Caption Massenschwerpunkt Baugruppe ein. Die vollständige Form sollte jetzt wie in Bild 18 dargestellt, aussehen. Bild 18: Vervollständigte Form. Sehr gut. Sie haben jetzt die Benutzeroberfläche gestaltet, und es fehlt jetzt noch der Programmiercode um auf die Anwendereingaben und Aktionen in der Dialogboxfunktionen reagieren zu können. • Die X,Y, und Z Bezeichnungsfelder sollen die aktuellen Massenschwerpunkts Koordinaten der Zusammbauzeichnung darstellen. • Die Einfüge Befehlsschaltfläche soll das Marker Bauteil in die Baugruppe einfügen. • Die Aktualisieren Befehlsschaltfläche soll die Position und den Status des Marker Bauteil aktualisieren (das Bauteil wird zum aktuellen Massenschwerpunkt der Baugruppe bewegt) und die XYZ-Koordinaten werden angezeigt. • Die Abbruch Befehlsschaltfläche beendet das Makro. • Die >> Befehlsschaltfläche erweitert oder reduziert die Dialogbox. Normalerweise benötigen wir die Elemente im unteren Bereich nicht . • Die Kontrollkästchen überprüfen die Sichtbarkeit der Original Geometrie des Marker Bauteils beim nächsten Update. • Das Textfeld Skalierung prüft die Größenskalierung des Marker Bauteils beim nächsten Update. Die Accelerator Buchstaben erlauben die Benutzung von Shortcuts mittels Alt + Accelerator Buchstabe. Zurück zum Seitenanfang Programmieren im Detail Im folgenden Tutorial wird der Programmiercode zum Arbeiten mit Autodesk Inventor erzeugt. Starten wir aber erst mit dem Code der sich hinter den Abbrechen und >> Befehlsschaltflächen befindet. VBA ist eine ereignisorientierte Programmierumgebung. Programmiercode ist mit Events (benutzerdefinierte Ereignisse) verbunden, die durch den Anwender gestartet werden. Beim Drücken einer Befehlsschaltfläche wird der Programmiercode ausgeführt, der sich hinter dem Event (ButtonName_Click) befindet. 1. Doppelklick auf den Abbrechen Button in der Form Das Editierfenster zeigt den Code, der mit einem voreingestellten Event für den Button (Klick) verknüpft ist (siehe Bild 19). Dieser Programmiercode ist in der UserForm gespeichert (nicht in einem separaten Modul). Man hat die Möglichkeit zu dem Programmiercode von verschiedenen Controls und den Prozeduren des aktuellen Controls zu navigieren. Dies erfolgt durch die Auswahl aus der Liste am Kopf des Code Fensters (Bild 19). Die Auswahl eines Controls oder einer Prozedur ohne existierenden Code erzeugt eine Unterroutine wie in Bild 19 gezeigt. Bild 19: Code Fenster 2. Geben Sie die folgende Zeile Code oberhalb der End Sub Linie ein. Unload frmCog Der Code entlädt die Form, und beendet somit das Makro. Nochmals der Hinweis, daß ein Tooltip erscheint, sobald Sie nach dem Eintippen von ·unload· ein Leerzeichen eingeben. 3. Wählen Sie cmdMore aus der Liste der Controls am oberen Rand des Code Fensters. Es wird eine Unterroutine für den Klick Event der Befehlsschaltfläche wird hinzugefügt. dahinter: Falls die Form aktuell verkleinert ist: • Die Eigenschaft height wird auf 104 geändert. • Die Eigenschaft Caption wird auf << geändert (dies dient als Hinweis, daß ein zweiter Klick die Form wieder verkleinert). Falls die Form aktuell vergrößert ist: • Die Eigenschaft height wird auf 63 • Die Eigenschaft Caption wird auf >> geändert Der Code muß den Status der Form erkennen und darauf basierend Aktionen starten. Es gibt verschiedene Methoden um dies zu erreichen, in diesem Fall wird das If Statement verwendet. Das VBA If Statement bietet folgende Logik: If (Bedingung) = True then Do This Else Do something else End if Hinweis: Die Zeilen Else und Do something else aus sind optional in dem If Statement. 4. Geben Sie den folgenden Code in die cmdMore_Click Unterroutine ein: If frmCog.Height = frmCog.Height = cmdMore.Caption Else frmCog.Height = cmdMore.Caption End if 104 Then 63 = ">>" 104 = "<<" Beachten Sie daß >> und << in Anführungszeichen gefaßt sind. Die Eigenschaft Caption benötigt eine Texteingabe. Benutzen Sie die IntelliSense Funktionalität um die Eigenschaft auszuwählen. Rücken Sie den Code ein, um ihn einfacher lesen zu können. Ein Code Segment fehlt noch, und Sie können mit dem Testen beginnen. Wenn die Form am Anfang geladen wird, hat das Dialogfenster die gleiche Höhe wie im Editier Fenster. Die Form soll verkleinert erscheinen. Dazu muß noch eine Zeile Code eingefügt werden. 5. Wählen Sie UserForm aus der Liste der Controls am oberen Rand des Code Fensters. Der voreingestellte Click Event wird im Code Fenster hinzugefügt. 6. Wählen Sie den Initialize Event aus der Prozeduren Liste. Markieren und löschen Sie jetzt die Unterroutine für den Click Event der UserForm. (Diese war nur nötig um die User Form Initialize auszuwählen). 7. Fügen Sie den folgenden Code zu der Unterroutine UserForm_Initialize: Bild 20: Vollständiger Code Zurück zum Seitenanfang Der Test Testen ist ein andauernder Prozeß während der Entwicklung eines Programms. Eine gute Strategie ist das Testen von kleinen Teilen des Codes um mögliche Fehler direkt ausbessern zu können. Man kann sich dann beruhigt dem nächsten Bereich des Programms zuwenden. 1. Starten Sie Visual Basic Editor Menü Extras > Makros 2. Wählen Sie in der Makros Dialogbox das Makro CogTool und starten Sie Ausführen. 3. Der Dialog des Massenschwerpunktes der Baugruppe wird in verkleinert dargestellt. 4. Klicken Sie den Button >>. Der Dialog wird expandiert und alle Controls werden gezeigt und der Button ändert sich auf <<. 5. Klicken Sie den Button > nochmals. Der Dialog verkleinert sich wieder und der Text des Buttons ändert sich wieder auf >>. 6. Klicken Sie den Abbrechen Button. Der Dialog wird geschlossen und Sie kommen wieder auf die VBA IDE Oberfläche zurück. Zusammenfassung Eine Form in VBA zu erzeugen ist einfacher drag und drop Prozeß. Das Form Layout wird dann durch das Modifizieren der Control Eigenschaften vervollständigt. Zum Abschluß fügt man noch den Programmiercode für die verschiedenen Events ein. Im nächsten Tutorial erfahren Sie wie man die erstellte Benutzeroberfläche innerhalb der Autodesk Inventor API integriert. Zurück zum Seitenanfang © Copyright 2002 Autodesk, Inc. Alle Rechte vorbehalten.