Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Benutzer-Selektion im Space UND im Spec-Tree

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:  Benutzer-Selektion im Space UND im Spec-Tree (670 mal gelesen)
buschi
Mitglied
Student Fahrzeugtechnik


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

Beiträge: 12
Registriert: 28.06.2007

erstellt am: 16. Aug. 2007 12:59    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

Servus,

während der Laufzeit meines Makros wird der Anwender aufgefordert, eine >>Fläche<< im geöffneten CATPart zu selektieren:

Dim UserSel
Set UserSel = CATIA.ActiveDocument.Selection
UserSel.Clear

Dim Auswahl(0)
Auswahl(0) = "HybridShapeExplicitSurface"

Dim A
A = UserSel.SelectElement2(Auswahl, "Bitte selektieren Sie das Flächenmodell ", True)


Auf diese Weise kann der Anwender nun - im Space oder im Strukturbaum - eine „tote“ Fläche (eben ein HybridShapeExplicitSurface) selektieren.

Ich möchte aber, dass der Anwender auch mal ein Fillet, Split, Join etc. selektieren kann. Die Änderung wäre dann:

Auswahl(0) = "AnyObject"

Allerdings ist eine (zuverlässige) Selektion dann nur noch im Strukturbaum möglich, nicht mehr im Space.

Wie kann ich die Selektion dennoch im Space und im Strukturbaum ermöglichen?

Hinweis: Im Array „Auswahl“ verschiedene Selektions-Filter zu definieren, etwa
Dim Auswahl (2)
Auswahl (0) = „HybridShapeExplicitSurface“
Auswahl (1) = "HybridShapeSplit"
Auswahl (2) = "HybridShapeFillet"

funktioniert bei SelectElement2 nicht!

-----------
Catia V5R16; MS VBA 6.0

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

BigCheese
Mitglied
Dipl-Ing


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

Beiträge: 130
Registriert: 12.05.2004

CATIA V5R19 SP3

erstellt am: 16. Aug. 2007 17: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 Nur für buschi 10 Unities + Antwort hilfreich

Hallo buschi,

ohne es getestet zu haben, könnte ein

Auswahl(0) = "Surface" oder Auswahl(0) = "Face"

schon zum Ziel führen.

Was das Array für die Auswahl betrifft kann ich für meinen Teil Deine Aussage nicht bestätigen. Ich habe mir eines definiert, mit dem ich den Anwender Boole'sche Operationen, Bodies oder GeoSets auswählen lasse, das funktioniert wunderbar. Dabei findet allerdings keine Selektion im Geometriebereich statt...

Gruß, Alex

[Diese Nachricht wurde von BigCheese am 16. Aug. 2007 editiert.]

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

buschi
Mitglied
Student Fahrzeugtechnik


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

Beiträge: 12
Registriert: 28.06.2007

erstellt am: 16. Aug. 2007 18:20    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 BigCheese,

danke für Deine Antwort. Auswahl(0) = "Surface" oder Auswahl(0) = "Face" bricht leider mit einer Fehlermeldung ab.

Ich glaube, es liegt an der Methode SelectElement2. Ich Buch (effiziente Konstruktion... von D. Ziethen)wird SelectElement verwendet, dort funktioniert das Array. SelectElement funktioniert aber nicht mehr bei R16 (oder VBA).


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

YellowDevil
Mitglied
PI, Makroentwicklung, NC Automatisierung


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

Beiträge: 67
Registriert: 21.12.2006

erstellt am: 16. Aug. 2007 20:51    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 buschi 10 Unities + Antwort hilfreich

Warum gehst du nicht den umgekehrten Weg. Lass doch einfach zu alles zu selektieren, also "AnyObject"
und danach fragst Du ab um was es sich handlet und eragierst dann darauf.

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

buschi
Mitglied
Student Fahrzeugtechnik


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

Beiträge: 12
Registriert: 28.06.2007

erstellt am: 17. Aug. 2007 09:14    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 weiß im Vorfeld nie, von welchem "Typ" die Fläche ist. Der Anwender kann ganz spontan mal ein Fillet, mal ein Join usw. selektieren.
Bei "AnyObject" kann der Anwender zwar im Space selektieren. Ausgewählt wird dann aber z.B. nur die Edge, auf die zufälligerweise gerade der Cursor zeigt.

Den Anwender im Vorfeld zu fragen, was er selektieren wird (z.B. über eine Form), find' ich nicht gut.
Dann bring ich lieber die Meldung: "Selektion ausschließlich im Strukturbaum" - hier funktioniert AnyObject.

Aber trotzdem danke!

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

YellowDevil
Mitglied
PI, Makroentwicklung, NC Automatisierung


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

Beiträge: 67
Registriert: 21.12.2006

erstellt am: 17. Aug. 2007 09:23    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 buschi 10 Unities + Antwort hilfreich

Ich selber gehe auch lieber bei und lasse im Strukturbaum selektieren, da ich dort sicher sein kann, dass auch wirklich das richtige selektiert wird.

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

BigCheese
Mitglied
Dipl-Ing


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

Beiträge: 130
Registriert: 12.05.2004

CATIA V5R19 SP3

erstellt am: 17. Aug. 2007 10:11    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 buschi 10 Unities + Antwort hilfreich

Guten Morgen,

Das Problem liegt dann wohl beim VBA, denn mein Makro läuft auch unter der R16.

Edit:
Folgender Beitrag wurde vor nicht allzu langer Zeit erstellt: http://ww3.cad.de/foren/ubb/Forum137/HTML/002320.shtml

Gruß, Alex


[Diese Nachricht wurde von BigCheese am 17. Aug. 2007 editiert.]

[Diese Nachricht wurde von BigCheese am 17. Aug. 2007 editiert.]

[Diese Nachricht wurde von BigCheese am 17. Aug. 2007 editiert.]

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

buschi
Mitglied
Student Fahrzeugtechnik


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

Beiträge: 12
Registriert: 28.06.2007

erstellt am: 17. Aug. 2007 15: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

Den Beitrag kenne ich. Dort wurde nur die Variablentypen auskommentiert (As HybridShapeFillet usw.). An dem liegt es aber nicht, denn die Variablentypen habe ich im Beispiel oben schon von vornherein fortgelassen.

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

Lusilnie
Mitglied



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

Beiträge: 1486
Registriert: 13.07.2005

erstellt am: 18. Aug. 2007 02:00    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 buschi 10 Unities + Antwort hilfreich

Hallo buschi,

probier es doch mal mit:

Code:
Dim Auswahl(0)
Auswahl(0)="HybridShape"


mfg,
Lusilnie

------------------

Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!!

frei nach größeren Geistern

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

buschi
Mitglied
Student Fahrzeugtechnik


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

Beiträge: 12
Registriert: 28.06.2007

erstellt am: 20. Aug. 2007 09:23    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

Funktioniert! Vielen Dank!

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