Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Selektion auswählen nach starten des Makros

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
Autor Thema:  Selektion auswählen nach starten des Makros (1046 mal gelesen)
graaas
Mitglied



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

Beiträge: 40
Registriert: 15.04.2010

erstellt am: 21. Feb. 2014 10:45    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,

ich habe ein Makro geschrieben das mir die Bauteile in einer Gruppe aktiviert.
Das Makro funktioniert aber nur wenn ich bereits vorher die Gruppe selektiere.
Gibt es eine Möglichkeit zuerst das Makro zu starten und danach die Gruppe oder ein Bauteil zu selektieren?

Dann könnte ich mein Makro so schreiben dass wenn bereits eine Gruppe oder ein Bauteil selektiert ist dieses aktiviert wird und wenn noch keines selektiert ist muss zuerst ein Bauteil selektiert werden und dann wird es sofort aktiviert (ohne das Makro nochmal selbst zu starten).

Gruß,
graaas

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 21. Feb. 2014 11:35    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 graaas 10 Unities + Antwort hilfreich

Servus
Dazu kannst du die Methode "SelectElement2". Über den Parameter "iObjectSelectionBeforeCommandUsePossibility" kannst du definieren ob schon zuvor selektierte Elemente akzeptiert werden, oder die Selektion neu aufgerufen wird.

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

graaas
Mitglied



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

Beiträge: 40
Registriert: 15.04.2010

erstellt am: 21. Feb. 2014 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

Hallo,

leider kenne ich mich mit der Funktion nicht so gut aus. Wie muss ich das anstellen.
Mein bisheriger Code schaut so aus (wobei jetzt das Makro noch beendet wird wenn keine Selektion vorhanden ist).

Code:
Sub CATMain()

Set productDocument1 = DMU.ActiveDocument
Set selection1 = productDocument1.Selection

'Wenn keine Selektion vorhanden dann beenden
If selection1.Count = 0 Then
  Exit Sub
Else

'Wenn Selektion vorhanden dann prüfen ob es eine Gruppe ist oder ein normales Bauteil und aktivieren
  Set test = selection1.Item2(1).Value

  If TypeName(test) = "Group" Then
    CATIA.StartCommand ("Select Content")
    CATIA.StartCommand ("Activate Terminal Node")
  Else
    CATIA.StartCommand ("Activate Terminal Node")
  End If
End If

End Sub


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

graaas
Mitglied



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

Beiträge: 40
Registriert: 15.04.2010

erstellt am: 21. Feb. 2014 12:44    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

Ok habs jetz selber geschafft mit:

Code:
If selection1.Count = 0 Then


Dim Was(0)
    Was(0) = "AnyObject"

    E = selection1.SelectElement2(Was, "Objekt wählen", False)

    If E = "Normal" Then
      Set test = selection1.Item2(1).Value

      If TypeName(test) = "Group" Then
        CATIA.StartCommand ("Select Content")
        CATIA.StartCommand ("Activate Terminal Node")
      Else
        CATIA.StartCommand ("Activate Terminal Node")
      End If

    Else
        Exit Sub
    End If


Aber trotzdem Danke.

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