Autor
|
Thema: Auswahl per Mausklick (1580 mal gelesen)
|
AL-Fonse Mitglied Entwicklungsingenieur
Beiträge: 37 Registriert: 23.02.2010 Win Vista<P>CatiaV5 R16 R19
|
erstellt am: 19. Apr. 2010 16:06 <-- editieren / zitieren --> Unities abgeben:
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
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 / zitieren --> Unities abgeben: Nur für AL-Fonse
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
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 / zitieren --> Unities abgeben: Nur für AL-Fonse
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
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 / zitieren --> Unities abgeben: Nur für AL-Fonse
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
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 / zitieren --> Unities abgeben: Nur für AL-Fonse
|
ThomasJay Mitglied Dipl-Ing
Beiträge: 159 Registriert: 19.04.2011 CATIA V5 R19
|
erstellt am: 03. Mai. 2011 10:18 <-- editieren / zitieren --> Unities abgeben: Nur für AL-Fonse
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 >>)
|