Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Auswahl per Mausklick

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:  Auswahl per Mausklick (1580 mal gelesen)
AL-Fonse
Mitglied
Entwicklungsingenieur


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

Beiträge: 37
Registriert: 23.02.2010

Win Vista<P>CatiaV5 R16 R19

erstellt am: 19. Apr. 2010 16:06    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,

ich möchte gern per Mausklick ein Geoset und eine Fläche auswählen.
Wer könnte mir hierzu Hilfe bieten. Das einzige was ich weiß, ist dass man über Forms eine Auswahlfläche erzeugen kann, aber verstehen tue ich es nicht ganz und habe auch keine Ahnung woher ich den Programmcode bekomme für die Eingabe Elemente
Besten dank schon mal.

Grias

AL-Fonse

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

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


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

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 19. Apr. 2010 16:38    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 AL-Fonse 10 Unities + Antwort hilfreich

Das Zauberwort heißt

SelectElement2

welches du von der

Selection

bekommst.

Diese wiederum bekommst du vom ActiveDocument und dieses vom CATIA.

Bemüh' mal die Suche oder ein Buch dazu, findes sich bestimtm schnell viele Beispiele zum SelectElement2 oder SelectedElement2, weiß grad' nicht 100%ig, wie's geschrieben wird.

------------------
Mit freundlichen Grüßen,
Henry Schneider
alias Lila

Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren:
Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen,
die Natur versucht, immer bessere Idioten zu bauen

Xing

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

DanielFr.
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 19. Apr. 2010 16:49    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 AL-Fonse 10 Unities + Antwort hilfreich

Hallo  ,

IMHO ist die Methode SelectElement2 nicht geeignet. Diese Methode kann NUR ein Objekt (also entweder ein Fläche oder ein geometrisches Set) verwalten. Die Methode SelectElement3 hingegen kann genau dies. Das ist die interaktive Multiselektionsschnittstelle 


Hier mal ein Codebeispiel (am besten im Microsoft Visual Basic Editor mit dem Befehl "Step-into" (Symbolleiste Debugg) Schritt für Schritt ablaufen lassen)

Code:

Sub CATMain()
   
'***Deklarationen
    Dim intWindowObj As Windows
    Dim intDocObj As Document
    Dim intSelObj As Object 'Selection
    Dim intSelFilterStr(1)
    Dim intSelStateStr As String
    Dim i As Integer
    Dim intTypeCheckerBool As Boolean
     
   
'***Abfrage Dokumente
    Set intWindowObj = CATIA.Windows
    If intWindowObj.Count = 0 Then
        MsgBox "Es ist kein Dokument geladen!" + Chr(10) + _
                "Das Makro kann nicht ausgeführt werden und wird beendet!", vbCritical, "Keine Dokument geladen"
        Exit Sub
    End If
    Set intDocObj = CATIA.ActiveDocument
    If TypeName(intDocObj) <> "PartDocument" Then
        MsgBox "Das aktive Dokument ist kein PartDocument!" + Chr(10) + "Das Makro kann nicht ausgeführt werden!", _
                vbCritical + vbOKOnly, "Falscher Dateityp"
        Exit Sub
    End If
   
'***Selektion instanzieren
    Set intSelObj = intDocObj.Selection
    intSelObj.Clear
    intSelFilterStr(0) = "Face"
    intSelFilterStr(1) = "HybridBody"

   
'***Selektion ausführen
    intSelStateStr = intSelObj.SelectElement3(intSelFilterStr, "Bitte ein geometrisches Set und eine Fläche selektieren / ESC zum Abbrechen", False, CATMultiSelTriggWhenUserValidatesSelection, False)
    '***Abfrage ob der Anwender Objekte selektiert hat
    If intSelStateStr = "Normal" Then
        '***Abfrage ob genau 2 Objekte selektiert wurden
        If intSelObj.Count = 2 Then
            '***Datentypen der Objekte validieren (1 geo Set und eine Fläche)
            If TypeName(intSelObj.Item(1).Value) = "HybridBody" And InStr(1, TypeName(intSelObj.Item(2).Value), "Face") > 0 Or InStr(1, TypeName(intSelObj.Item(1).Value), "Face") > 0 And TypeName(intSelObj.Item(2).Value) = "HybridBody" Then
                intTypeCheckerBool = True
            End If
        Else
            MsgBox "Ungültige Auswahl!" + vbNewLine + "Bitte selektieren sie nur ein geometrisches Set und eine Fläche!", vbCritical, "Ungültige Auswahl"
            Exit Sub
        End If
    Else
        MsgBox "Sie haben die Auswahl abgebrochen!" + vbNewLine + "Das Makro wird beendet", vbExclamation, "Abbruch durch Awender"
        Exit Sub
    End If
   
'***Selektion validieren
    If intTypeCheckerBool = True Then
        MsgBox "Sie haben folgende Objket selektiert:" + vbNewLine + vbNewLine + _
                "1: " & intSelObj.Item(1).Value.Name + vbNewLine + _
                "2: " & intSelObj.Item(2).Value.Name, vbInformation, "Makro beendet"
        intSelObj.Clear
    Else
        MsgBox "Die Auswahl war ungültig!" + vbNewLine + "Bitte selektieren Sie eine Fläche und ein geometrisches Set!", vbExclamation, "Ungültige Auswahl"
        intSelObj.Clear
    End If
   
End Sub


------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

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

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


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

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 20. Apr. 2010 09:58    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 AL-Fonse 10 Unities + Antwort hilfreich

Hallo Daniel,

da muss ich Dir leider wiedersprechen. 
Ich will dem User nämlich immer so wenig Clicks wie möglich zumuten.

Also würde ich SelectElement2 für HybridBody und Face, oder so freischalten.
Dann schauen was der User angeklickt hat und eben für das jeweils andere die Selection noch einmal aufrufen.

Aber wie man sieht, es ist Geschmackssache und es führen viele Wege nach Rom.

------------------
Mit freundlichen Grüßen,
Henry Schneider
alias Lila

Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren:
Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen,
die Natur versucht, immer bessere Idioten zu bauen

Xing

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

DanielFr.
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 20. Apr. 2010 10:01    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 AL-Fonse 10 Unities + Antwort hilfreich

Hallo Henry  ,

die Anzahl der Click´s bleibt doch die selbe. Ich gebe dir recht das man sich an das, aus einem Makro aufgerufene Multiselect, gewöhnen muss. Man kann ja mal beide Sachen programmieren und im Anschluss festlegen welche Methode die besser ist für diesen Anwendungsfall   

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

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

ThomasJay
Mitglied
Dipl-Ing


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

Beiträge: 159
Registriert: 19.04.2011

CATIA V5 R19

erstellt am: 03. Mai. 2011 10:18    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 AL-Fonse 10 Unities + Antwort hilfreich

Hallo,
ich verwende in einem Makro ebenfalls die SelectElement3 Funktion mit dem Modus CATMultiSelTriggWhenUserValidatesSelection.
Wenn ich das Makro starte und die Strg-Taste gedrückt halte kann ich nacheinander meine Elemente selektieren und wenn ich dann auf finish klicke funktioniert auch alles. Was aber nicht funktioniert ist, dass ich Elemente aus dem Strukturbaum selektiere, genauso wie es nich möglich ist eines der möglichen Auswahlfenster zu benutzen, also einfach ein Rechteck über alle Elemente ziehen um sie auszuwählen.
Geht das nicht anders bei dieser Funktion, oder is bei mir eine Einstellung falsch?

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