Autor
|
Thema: Benutzer-Selektion im Space UND im Spec-Tree (670 mal gelesen)
|
buschi Mitglied Student Fahrzeugtechnik
Beiträge: 12 Registriert: 28.06.2007
|
erstellt am: 16. Aug. 2007 12:59 <-- editieren / zitieren --> Unities abgeben:
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
Beiträge: 130 Registriert: 12.05.2004 CATIA V5R19 SP3
|
erstellt am: 16. Aug. 2007 17:44 <-- editieren / zitieren --> Unities abgeben: Nur für buschi
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
Beiträge: 12 Registriert: 28.06.2007
|
erstellt am: 16. Aug. 2007 18:20 <-- editieren / zitieren --> Unities abgeben:
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
Beiträge: 67 Registriert: 21.12.2006
|
erstellt am: 16. Aug. 2007 20:51 <-- editieren / zitieren --> Unities abgeben: Nur für buschi
|
buschi Mitglied Student Fahrzeugtechnik
Beiträge: 12 Registriert: 28.06.2007
|
erstellt am: 17. Aug. 2007 09:14 <-- editieren / zitieren --> Unities abgeben:
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
Beiträge: 67 Registriert: 21.12.2006
|
erstellt am: 17. Aug. 2007 09:23 <-- editieren / zitieren --> Unities abgeben: Nur für buschi
|
BigCheese Mitglied Dipl-Ing
Beiträge: 130 Registriert: 12.05.2004 CATIA V5R19 SP3
|
erstellt am: 17. Aug. 2007 10:11 <-- editieren / zitieren --> Unities abgeben: Nur für buschi
|
buschi Mitglied Student Fahrzeugtechnik
Beiträge: 12 Registriert: 28.06.2007
|
erstellt am: 17. Aug. 2007 15:49 <-- editieren / zitieren --> Unities abgeben:
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
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 18. Aug. 2007 02:00 <-- editieren / zitieren --> Unities abgeben: Nur für buschi
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
Beiträge: 12 Registriert: 28.06.2007
|
erstellt am: 20. Aug. 2007 09:23 <-- editieren / zitieren --> Unities abgeben:
|