Example: marketing

Programmieren mit vba Teil 3 - inventor.cad.de

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 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.

Makros und die VBA Umgebung Die Anforderungen an unser Makro bedeuten, daß wir ein Benutzeroberfläche (User Interface = UI) erzeugen müssen.

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Advertisement

Transcription of Programmieren mit vba Teil 3 - inventor.cad.de

1 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 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.

2 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.

3 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.

4 Bild 1: 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.

5 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.

6 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.

7 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).)

8 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.

9 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).

10 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.


Related search queries