Autor
|
Thema: Variable Selektion (962 mal gelesen)
|
Timberwolve Mitglied
Beiträge: 233 Registriert: 21.07.2006
|
erstellt am: 09. Aug. 2006 15:02 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe ein ziemlich denke ich mal interessantes Problem und ich weiss nicht genau wie ich das ganze bewerkstelligen soll. Also: im Makrolauf soll der Anwender einen Punkt selektieren. Jedoch ist dieser Punkt nicht im Aktuellen Dokument. Der Anwender soll zwei möglichkeiten haben. 1. Der Punkt den er selektiert ist in einem in der Aktuellen Sitzung bereits geladenem CATPart, das er dann eben über Fenster --> Dokument XY aktiv schaltet und selektieren kann. 2. Das Dokument in dem sich der zu selektierende Punkt befindet ist nicht geöffnet. Also soll der Anwender über eine Selektionsbox die gewünschte Datei öffnen können und dann den Punkt selektiern. Ich habe das ganze bisher folgendermassen Code:
Dim Input_Point(0)Inputput_Point(0) = "Point" Msgboxout = msgbox "Ist das Dokument mit dem gewünschten Punkt bereits geöffnet?",vbyesno
IF Msgboxout = vbNo Then 'Selektionsbox zum Öffnen aufrufen End If Status = Selection.SelectElement(Input_Point,"Bitte Punkt selektieren",True)
Soweit so gut. bestätigt der Anwender die Msgbox jedoch mit ja und will dann das Fenster zum gewünschten Dokument wechseln stürzt das ganz ab. Ich denke er interpretiert die Selektion des Fensters über die Menüleiste dann als Falsche Selektion. Jetzt weiss ich nicht was zu tun ist. Das ganze soll laufen auf CATScript Basis R14 Danke für eure Hilfe ------------------ Wenn alle Stricke reissen, nehm ich ein Drahtseil Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lusilnie Mitglied
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 09. Aug. 2006 23:39 <-- editieren / zitieren --> Unities abgeben: Nur für Timberwolve
|
Timberwolve Mitglied
Beiträge: 233 Registriert: 21.07.2006
|
erstellt am: 11. Aug. 2006 08:39 <-- editieren / zitieren --> Unities abgeben:
Hallo Danke ja mit der Lösung hab ich es jetzt schon geschafft, jedoch find ich diese nicht ganz so schön. Ich hätte gerne das die Selektion nur in der Statuszeile steht. Soll quasi so ablaufen das der Anwender ein Fenster selektier über die Menüleiste Fenster. Dann soll er gefragt werden ob es das richtige Modell ist. Wenn nicht soll die Schleife der Fensterselektion wieder wirken. Die Frage und die Schleife sind ja kein Problem, nur bekomm ich irgendwie die normale Fensterselektion nicht hin das der Anwender über die Menüleiste "Fenster" das MOdell wechseln kann. Ich möchte halt ungern eine Inputbox verwenden
------------------ Wenn alle Stricke reissen, nehm ich ein Drahtseil Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lusilnie Mitglied
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 16. Aug. 2006 22:26 <-- editieren / zitieren --> Unities abgeben: Nur für Timberwolve
Hallo Timberwolve, mal wieder eine andere Idee: Wenn der User sowieso bestätigen soll, ob es das richtige Fenster ist, dann wechsel doch einfach nacheinander durch alle Fenster und frage den User jeweils, ob es das Gesuchte ist! Ich habe so etwas schon programmiert und mir gefiel es (abgesehen davon, daß es funktionierte!). Notfalls kannst Du ja noch das vorher stillschweigend testen, ob der Inhalt des Fenster überhaupt in Frage kommt! 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 |
prosper Mitglied Dipl.-Ing. -- Methoden und Prozessentwicklung Catia V5
Beiträge: 86 Registriert: 05.05.2004
|
erstellt am: 17. Aug. 2006 20:33 <-- editieren / zitieren --> Unities abgeben: Nur für Timberwolve
Hallo zusammen, warum auch nicht nach einem Fenster fragen und, falls der User auf "Escap" drückt eine SelectionBox aufrufen? Aus dem Bauch raus könnte es so ausschauen: Dim ainput(0) ainput(0) = "Window" sstatus = Selection.SelectElement(ainput,"Bitte Fenster auswählen oder 'Escap' falls das Teil nicht offen ist",True) If sstatus <> "Normal" then sfile = Catia.Fileselectionbox(.....) Else ainput(0)="Point" sstatus = Selection.SelectElement(ainput,"Bitte Punkt selektieren",True) End if Es ist nur eine Idee. Ich werde mir auf jeden Fall irgendwie die nervigen Abfragen sparen. Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bobby_Joe2001 Mitglied Konstrukteur
Beiträge: 81 Registriert: 15.01.2006
|
erstellt am: 18. Aug. 2006 20:21 <-- editieren / zitieren --> Unities abgeben: Nur für Timberwolve
Hallo, ich hab mir ein TCL/TK-Script gebastelt, dass mir alle Fensternamen in einem eigenen Dialogfenster auflistet und der User wählen kann, welches Fenster er aktivieren will. Funktioniert einwandfrei, vor allem auch unter UNIX (siehe Anhang). Gruß Bobby ------------------ Du musst die Leute einmal richtig ärgern, dann wirst du endlich ernst genommen. Konrad Adenauer Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Konstruktionsleiter Sondermaschinenbau (m/w/d) - Bayern | Unser Auftraggeber ist ein traditionsreiches, familiär geführtes, Unternehmen, eingebettet in einen leistungsfähigen Konzern mit hohem Wachstumspotential. Das Unternehmen zeichnet sich durch eine sehr geringe Fluktuation und durch gute Sozialleistungen, Schulungs- sowie Entwicklungsmöglichkeiten aus. Auch für die Altersvorsorge wird vorbildlich Sorge getragen. Innovative Technologien, solide Konstruktionen, ... | Anzeige ansehen | Leitung, Teamleitung |
|
Stoffel Mitglied Student
Beiträge: 322 Registriert: 09.10.2002 R6/V2010
|
erstellt am: 25. Aug. 2006 13:10 <-- editieren / zitieren --> Unities abgeben: Nur für Timberwolve
|