Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Event Watcher Liste verwenden

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Event Watcher Liste verwenden (1779 mal gelesen)
Colli123
Mitglied
Maschinenbau Student


Sehen Sie sich das Profil von Colli123 an!   Senden Sie eine Private Message an Colli123  Schreiben Sie einen Gästebucheintrag für Colli123

Beiträge: 32
Registriert: 18.10.2014

Inventor 2013
Visual Studio 2010

erstellt am: 18. Nov. 2014 23:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Zusammen!

Nachdem ich den Artikel über den Event Watcher bei Mod the Machine gelesen habe, (http://modthemachine.typepad.com/my_weblog/2009/03/running-commands-using-the-api.html)
wollte ich mich selber daran machen die Klicks die ich als Inventor End-User ausführe, über die Liste die der Event Watcher parallel erstellt, in ein Programm umzuschreiben.
Allerdings versteh ich noch nicht so ganz, wie man die Ergenisse aus der Event Watch Liste im Code verpackt.
Hätte jmd eine Idee oder ein einfaches Bsp? (z.B. der User wählt eine Fläche aus und darauf öffent sich die Fläche im Sketch Modus)

Schöne Grüße
Colli

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




Sehen Sie sich das Profil von rkauskh an!   Senden Sie eine Private Message an rkauskh  Schreiben Sie einen Gästebucheintrag für rkauskh

Beiträge: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 19. Nov. 2014 00:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Colli123 10 Unities + Antwort hilfreich

Hallo

1. Der EventWatcher ist kein Makrorekorder.
2. Der EventWatcher liefert im besten Fall den Namen eines Befehls, den du über den ControlDefinition.Execute-Befehl im VBA aufrufen kannst. Viele Befehle erwarten weitere Eingaben, so das auf die Art keine vollständige Automatisierung möglich ist.
3. Eine Fläche kann nicht im Sketch Modus geöffnet werden. Du kannst auf einer selektierten Fläche eine neue Skizze erstellen. Der Aufwand über ein Makro ist der gleiche wie rechte Maustaste auf die Fläche und neue Skizze im Kontextmenü auswählen bzw. Fläche anwählen und im Kreisdingensmenü die Befehl neue Skizze auswählen.
4. Ein einfaches Beispiel das den Inhalt einer Skizze kopiert:

Code:
Public Sub CopySketch()
    ' Set a reference to the active document.
    ' This assumes a part document is active.
    Dim oDoc As PartDocument
    Set oDoc = ThisApplication.ActiveDocument
 
    ' Set a reference to the component definition.
    Dim oDef As PartComponentDefinition
    Set oDef = oDoc.ComponentDefinition
   
    ' Set a reference to the first sketch in the part.
    Dim oSketchToCopy As PlanarSketch
    Set oSketchToCopy = oDef.Sketches.Item(1)
 
    ' Select the sketch to copy.
    Call oDoc.SelectSet.Clear
    Call oDoc.SelectSet.Select(oSketchToCopy)
   
    ' Execute the copy command.
    Dim oCopyControlDef As ControlDefinition
    Set oCopyControlDef = ThisApplication.CommandManager.ControlDefinitions.Item("AppCopyCmd")
    oCopyControlDef.Execute
   
    ' Create a new sketch on the XY plane.
    Dim oNewSketch As PlanarSketch
    Set oNewSketch = oDef.Sketches.Add(oDef.WorkPlanes.Item(3))
   
    ' Put the sketch in edit mode.
    oNewSketch.Edit
   
    ' Execute the paste command.
    Dim oPasteControlDef As ControlDefinition
    Set oPasteControlDef = ThisApplication.CommandManager.ControlDefinitions.Item("AppPasteCmd")
    oPasteControlDef.Execute
   
    Dim oSketchEnts As ObjectCollection
    Set oSketchEnts = ThisApplication.TransientObjects.CreateObjectCollection
   
    Dim oSketchEnt As SketchEntity
    For Each oSketchEnt In oNewSketch.SketchEntities
        Call oSketchEnts.Add(oSketchEnt)
    Next
   
    ' Translate all sketch entities in the new sketch.
    Call oNewSketch.MoveSketchObjects(oSketchEnts, ThisApplication.TransientGeometry.CreateVector2d(1, 0))
End Sub


------------------
MfG
Ralf

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Colli123
Mitglied
Maschinenbau Student


Sehen Sie sich das Profil von Colli123 an!   Senden Sie eine Private Message an Colli123  Schreiben Sie einen Gästebucheintrag für Colli123

Beiträge: 32
Registriert: 18.10.2014

Inventor 2013
Visual Studio 2010

erstellt am: 19. Nov. 2014 09:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Ralf,

danke für deine Antwort!
Das man die Befehle nicht so einfach automatisierend aneinander hängen kann stand auch im ModtheMachine Artikel. Ist aber gar nicht so schlimm in meinem Fall.
Kann man also den Event Watcher nur benutzen um Befehle herauszufinden die man dann mit ControlDefinition.Execute über ein AddIn ausführen kann? Ich hatte gehoft das sich damit noch mehr anstellen lässt.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




Sehen Sie sich das Profil von rkauskh an!   Senden Sie eine Private Message an rkauskh  Schreiben Sie einen Gästebucheintrag für rkauskh

Beiträge: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 19. Nov. 2014 13:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Colli123 10 Unities + Antwort hilfreich

Hallo

Der EventWatcher macht was der Name sagt. Er wartet auf das Eintreten der selektierten Events und spuckt die dazu verfügbaren Informationen aus. Das ist manchmal hilfreich, wenn man in seinem Programmcode auf eine bestimmte Useraktion reagieren möchte, aber nicht genau weiß welches Event dabei auftritt.

------------------
MfG
Ralf

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz