Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Skizze Beenden abfangen

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:  Skizze Beenden abfangen (530 mal gelesen)
Andreas01
Mitglied
Dipl.-Ing.(FH) Konstrukteur


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

Beiträge: 227
Registriert: 05.08.2004

Inventor 2020
i7
32 GB RAM
Quatro FX 4000
WIN10-64bit

erstellt am: 23. Jan. 2021 19:21    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,

nachdem ich eine 2D-Skizze beende möchte ich mein Code ausführen. Welchen "Event" brauche ich dafür?
Mit dem "SketchEvents" geht es leider nicht. Habe auch schon einiges ausprobiert, leider ohne Erfolg.
Hat jemand einen Tipp?

Andreas

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: 23. Jan. 2021 21:07    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 Andreas01 10 Unities + Antwort hilfreich

Hallo

Wann genau soll es passieren? Noch innerhalb der Skizze oder erst nach Verlassen der Skizzenumgebung? Ich würde das UserInterfaceEvents.OnEnvironmentChange Event vorschlagen.

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

RKW Solutions GmbH
www.RKW-Solutions.com

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

Andreas01
Mitglied
Dipl.-Ing.(FH) Konstrukteur


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

Beiträge: 227
Registriert: 05.08.2004

Inventor 2020
i7
32 GB RAM
Quatro FX 4000
WIN10-64bit

erstellt am: 24. Jan. 2021 12:31    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

Ich möchte direkt nach dem verlassen der Skizzenumgebung den Code ausführen und zwar möchte ich die "2d-Skizzen" Sichtbarkeit einschalten. Ich habe bei Inventor 2021 einen "Bug" entdeckt (glaube ich zumindest), leider passiert dieser nicht immer aber es nervt etwas. Der kommt dann vor, wenn ich in der Baugruppenumgebung eine Skizze eines Bauteils bearbeite bzw. neu erstelle, verlasse ich die Skizze so wird die "2D-Skizzen" Sichtbarkeit deaktiviert und ich muss diese erstmal einschalten bevor ich z.B. eine Bohrung erstellen kann. Das nervt etwas. Habe dieses Verhalten schon mit ADesk kommuniziert, leider ohne Erfolg.
Jetzt versuche ich es selbst hinzubekommen.

Mit dem Event UserInterfaceEvents.OnEnvironmentChange scheint es aber nicht zu funktionieren. Ich forsche  weiter aber für jede Hilfe bin ich dankbar.

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: 24. Jan. 2021 13:27    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 Andreas01 10 Unities + Antwort hilfreich

Hallo

Reden wir jetzt von dem Befehl "Objektsichtbarkeit" --> "2D-Skizzen" im RibbonTab "Ansicht" oder etwas anderem? Ich kann nicht nachstellen, dass sich das selbständig deaktiviert, aber nach Verlassen der Skizzenumgebung kann ich die Sichtbarkeit über das Event anschalten.

Ich habe ein Klassenmodul "MyEventClass" erstellt und diesen Code darin eingefügt:

Code:

Private WithEvents oUserInterfaceEvents As UserInterfaceEvents

Public Sub connect()
    Set oUserInterfaceEvents = ThisApplication.UserInterfaceManager.UserInterfaceEvents
End Sub

Public Sub disconnect()
    Set oUserInterfaceEvents = Nothing
End Sub

' User Interface Events
'#############################################################################################################################################################################################################################
Private Sub oUserInterfaceEvents_OnEnvironmentChange(ByVal Environment As Environment, ByVal EnvironmentState As EnvironmentStateEnum, ByVal BeforeOrAfter As EventTimingEnum, ByVal Context As NameValueMap, HandlingCode As HandlingCodeEnum)
    Dim oEnv As Environment
    Set oEnv = Environment
   
    Dim oApp As Application
    Set oApp = oEnv.Parent

    Dim oDoc as Document
    Set oDoc = oApp.ActiveDocument

    If BeforeOrAfter = kAfter Then
        If oEnv.InternalName = "PMxPartSketchEnvironment" Then
            If EnvironmentState = kTerminateEnvironmentState Then
                oDoc.ObjectVisibility.Sketches = True
            End If
        End If
    End If
End Sub


Danach habe ich ein Modul erstellt und diesen Code eingefügt:

Code:

Option Explicit

Dim ec As New MyEventClass

Sub EventConnect()
    ec.connect
End Sub

Sub EventDisconnect()
    ec.disconnect
End Sub



Führe ich jetzt die Sub "EventConnect" aus, wird immer beim Verlassen der Skizze die Objektsichtbarkeit für 2D-Skizzen aktiviert, falls sie deaktiviert ist.

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

RKW Solutions GmbH
www.RKW-Solutions.com

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

Andreas01
Mitglied
Dipl.-Ing.(FH) Konstrukteur


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

Beiträge: 227
Registriert: 05.08.2004

Inventor 2020
i7
32 GB RAM
Quatro FX 4000
WIN10-64bit

erstellt am: 25. Jan. 2021 18:16    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,

da ich meine "Werkzeug-Sammlung" in .Net als AddIn Programmiere habe ich jetzt nur den folgenden Code eingefügt:

Private Sub oUserInterfaceEvents_OnEnvironmentChange(ByVal Environment As Environment, ByVal EnvironmentState As EnvironmentStateEnum, ByVal BeforeOrAfter As EventTimingEnum, ByVal Context As NameValueMap, HandlingCode As HandlingCodeEnum)
    Dim oEnv As Environment
    Set oEnv = Environment
 
    Dim oApp As Application
    Set oApp = oEnv.Parent

    Dim oDoc as Document
    Set oDoc = oApp.ActiveDocument

    If BeforeOrAfter = kAfter Then
        If oEnv.InternalName = "PMxPartSketchEnvironment" Then
            If EnvironmentState = kTerminateEnvironmentState Then
                oDoc.ObjectVisibility.Sketches = True
            End If
        End If
    End If
End Sub

Die Initialisierng von UserInterfaceEvents mache ich schon vorher und es funktioniert.

Besten dank Ralf.

mfg
Andreas

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: 26. Jan. 2021 09:41    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 Andreas01 10 Unities + Antwort hilfreich

Hallo

Hättest du statt ins VBA, ins .Net Forum gepostet, hättest du auch die Lösung als .Net bekommen. 
Hauptsache es funktioniert.

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

RKW Solutions GmbH
www.RKW-Solutions.com

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