| |  | Phoenix/PDM-Lösung mit Anbindung ans ERP - Abläufe optimieren , ein Anwenderbericht
|
Autor
|
Thema: keytech 13 / Autodesk Inventor / VBA (1704 / mal gelesen)
|
mscheini Mitglied Senior Produktentwickler
 Beiträge: 6 Registriert: 23.01.2016 keytech 13 Admin, CAD-Admin, VBA-Programmierung, BIM, Autodesk Inventor, Revit, SolidWorks
|
erstellt am: 21. Jun. 2016 09:27 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen, ich beschäftige mich als Keytech/CAD-Admin mit VBA-Programmierung um unser CAD-System (Autodesk Inventor) etwas aufzubohren. Hierbei bin ich natürlich auch mit der Frage konfrontiert ob und wie man mittels VBA auf ein paar keytech-Funktionen zugreifen kann. Das betrifft einfache Abfragen des SQL-Servers um z.B. über die vorhandene Artikelnummer die STID (keytech ArtikelID) abzufragen um einen Artikelbezug bereits vor dem speichern zu erzeugen. Ich habe auch einen Weg gefunden, die keytech-Befehle mittels CommandManager aus VBA heraus aufzurufen. Das ist sehr von Vorteil, wenn man wie wir eine Schriftfeld-Programmierung hat und den keytech-Befehl: "Schriftkopf aktualisieren" automatisch anstoßen möchte. Besteht denn generell Interesse an einem Erfahrungsaustausch über VBA-Programmierung in Bezug auf Inventor und keytech? Grüße mscheini
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Juergen Schmidetzki Mitglied Administrator keytech-PLM
 
 Beiträge: 292 Registriert: 06.11.2000
|
erstellt am: 14. Jul. 2016 08:38 <-- editieren / zitieren --> Unities abgeben:          Nur für mscheini
Guten Morgen, wir nutzen im Moment kein Inventor, deswegen kann hier nichts zu einem Erfahrungsaustausch beitragen. Allerdings interessiert mich, welche keytech-Befehle aufrufst und wie. Könntest du mir hierzu ein Beispiel geben? Ist das nur auf Inventor-Befehle bezogen Viele Grüße Jürgen
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mscheini Mitglied Senior Produktentwickler
 Beiträge: 6 Registriert: 23.01.2016 keytech 13 Admin, CAD-Admin, VBA-Programmierung, BIM, Autodesk Inventor, Revit, SolidWorks
|
erstellt am: 14. Jul. 2016 11:34 <-- editieren / zitieren --> Unities abgeben:         
Hallo Jürgen, ich verwende den Inventor-CommandManager der die Benutzeroberfläche (UI) steuert. Diesen spreche ich über VBA mit dem keytech-internen Befehl an. Das schwierigste an der Sache war den internen Befehl zu finden. Dieser war tief versteckt in der Objektstruktur. Ich hab das mal in der anhängenden Datei beschrieben. Dieses Verfahren gilt für alle Befehle, die irgendwann mal als Knopf in der Oberfläche des CAD-Systems auftauchen. Grundsätzlich sollte das Verfahren auch für andere Systeme funktionieren (also über VBA eine Knopf drücken). Hier muss allerdings der Code auf das entsprechende CAD-System angepasst und der Befehl für den Knopf gefunden werden. Grüße mscheini Hier ist noch der VBA-Code um den Befehl aufzurufen.
' Befehl aus der UI über CommandManager ausführen If MsgBox("Soll der keytech Speicherdialog geöffnet werden?", vbQuestion + vbYesNo, "VBA") = vbYes Then ' Get control definition for the command. Dim oCtrlDef As ControlDefinition ' Interner keytech-Befehl um das Schriftfeld zu aktualisieren Set oCtrlDef = ThisApplication.CommandManager.ControlDefinitions.Item("MenuAssemblyBaugruppeStore") ' Execute the command. Call oCtrlDef.Execute End If [Diese Nachricht wurde von mscheini am 14. Jul. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Juergen Schmidetzki Mitglied Administrator keytech-PLM
 
 Beiträge: 292 Registriert: 06.11.2000
|
erstellt am: 14. Jul. 2016 11:57 <-- editieren / zitieren --> Unities abgeben:          Nur für mscheini
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |