Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor .NET
  IPT / IAM: Prüfen, ob Skizzierumgebung aktiv ist?

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:  IPT / IAM: Prüfen, ob Skizzierumgebung aktiv ist? (338 mal gelesen)
mb-ing
Mitglied
F&E-Mangement, MB-Ing. (u)


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

Beiträge: 723
Registriert: 06.09.2012

Inventor 2021 WIN 10 (64bit), Dell Precision T1650, 16GB (Pro.File 8.7)

erstellt am: 07. Okt. 2021 14: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


SketchEnv_Case1.png

 
Hallo zusammen,

wie kann man in einem VB.NET Add-In prüfen, ob im aktiven Dokument (IPT / IAM) die Skizzierumgebung aktiv ist?
Ich habe einfach geprüft, ob RibbonTab "Skizze" aktiv ist, aber dies ist nicht zuverlässig.
Befindet man sich im Skizziermodus des 3D-Modells und klickt beispielsweise auf den RibbonTab "Prüfen", ist zwar der Skizziermodus noch aktiv, aber das Active-Attribut des RibbonTabs "Skizze" ist False! (Was natürlich auch logisch ist  )

Ein kurzer Codeausschnitt, wie ich aktuell prüfe:

Code:
...
Dim Ribbons As Inventor.Ribbons
Ribbons = UserInterfaceManager.Ribbons
Dim sktechActive As Boolean = False
If Ribbons.Item("Part").RibbonTabs.Item("id_TabSketch").Active = True Then
  sktechActive = True
End If
...

Bei dieser (siehe Screenshot) Konstellation versagt die Prüfung:

Vielen Dank im Voraus für Euren Input.

Danke und Grüße
MB-Ing.

------------------
Wissen ist Macht. Nichts wissen macht auch nichts 

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: 07. Okt. 2021 18:57    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 mb-ing 10 Unities + Antwort hilfreich

Hallo

Mindestens drei Möglichkeiten
1. ThisApplication.ActiveEditObject = PlanarSketch oder Sketch3D
2. ThisApplication.ActiveEnvironment.InternalName = "PMxPartSketchEnvironment" oder "PMxPartSketch3dEnvironment" oder "AMxAssemblySketchEnvironment"
3. ThisApplication.ActiveEditDocument.ActivatedObject = PlanarSketch oder Sketch3D

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

RKW Solutions GmbH
www.RKW-Solutions.com

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

mb-ing
Mitglied
F&E-Mangement, MB-Ing. (u)


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

Beiträge: 723
Registriert: 06.09.2012

Inventor 2021 WIN 10 (64bit), Dell Precision T1650, 16GB (Pro.File 8.7)

erstellt am: 08. Okt. 2021 07:54    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

Zitat:
Original erstellt von rkauskh:
Hallo

Mindestens drei Möglichkeiten
1. ThisApplication.ActiveEditObject = PlanarSketch oder Sketch3D
2. ThisApplication.ActiveEnvironment.InternalName = "PMxPartSketchEnvironment" oder "PMxPartSketch3dEnvironment" oder "AMxAssemblySketchEnvironment"
3. ThisApplication.ActiveEditDocument.ActivatedObject = PlanarSketch oder Sketch3D


Hallo Ralf,

super, vielen herzlichen Dank für Deine Hilfe!

... nicht optimal, aber läuft erst mal für Tests :)

Code:
...
Dim sktechActive As Boolean = False
Dim avtivatedObject As Object = g_inventorApplication.ActiveEditDocument.ActivatedObject
  If avtivatedObject IsNot Nothing Then
      If avtivatedObject.Type = Inventor.ObjectTypeEnum.kPlanarSketchObject Or avtivatedObject.Type = Inventor.ObjectTypeEnum.kSketch3DObject Then
        sktechActive = True
      End If
  End If
...

Unschön ist aktuell, dass avtivatedObject Nothing ist, wenn ein Dokument geöffnet wird. Deswegen die Prüfung auf IsNot Nothing am Anfang...

Danke und Grüße
MB-Ing.

------------------
Wissen ist Macht. Nichts wissen macht auch nichts 

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: 08. Okt. 2021 18:12    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 mb-ing 10 Unities + Antwort hilfreich

Hallo

Ich würde das aktuelle Environment bevorzugen. Da gibt  es immer eines.

Code:

Dim bSketchActive As Boolean = False
Dim oActiveEnvironment As Inventor.Environment = g_inventorApplication.ActiveEnvironment

Select Case oActiveEnvironment.InternalName
Case "PMxPartSketchEnvironment" : bSketchActive=True
Case "PMxPartSketch3dEnvironment" : bSketchActive=True
Case "AMxAssemblySketchEnvironment" : bSketchActive = True
End Select


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