| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co. |
| |
 | KISTERS 3DViewStation: Schnelligkeit und Präzision in dem neuen JT-Importer, eine Pressemitteilung
|
Autor
|
Thema: Product to CatPart starten mit Makro (1963 mal gelesen)
|
BADU Mitglied Konstrukteur
 
 Beiträge: 124 Registriert: 02.07.2003 Catia V5R19 x64 Win7 x64
|
erstellt am: 01. Jul. 2004 16:12 <-- editieren / zitieren --> Unities abgeben:         
|
Filippo Mitglied CAx-Systemverwalter
 
 Beiträge: 168 Registriert: 09.11.2003
|
erstellt am: 05. Jul. 2004 08:14 <-- editieren / zitieren --> Unities abgeben:          Nur für BADU
|
BADU Mitglied Konstrukteur
 
 Beiträge: 124 Registriert: 02.07.2003 Catia V5R19 x64 Win7 x64
|
erstellt am: 05. Jul. 2004 10:22 <-- editieren / zitieren --> Unities abgeben:         
Danke Schön es hat geklappt. Jetzt taucht allerdings ein anderes Problem auf. Ich habe ein Makro geschrieben mit folgender Arbeitsweise (wenn es funktionieren würde :-)) : 1 Schritt: Product ( vor Umwandlung )wird nach Taschen durchgesucht und anschliessend werden diese gelöscht. 2 Schritt: Product soll umgewandelt werden ( Product to Part ) 3 Schritt: In dem AllinOne CATPart soll er noch ein Suchvorgang durchführen, diesmal nach Körper die Bohrungen heissen, und diese löschen. Problem: -Er führt Schritt 1 und 3 noch im Product durch und wandelt erst anschliessen in einem AllinOne CATPart durch. Frage: - Woran kann das liegen? - Wie kann ich in dem Makro sagen dass er die Schritte schön nacheinander durchführt. - Wie kann ich (allgemein) Vorgänge Prüfen ob diese beendet sind oder nicht. Vielen Dank für eure Hilfe ------------------ Gruss BADU Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Steffen Hohmann Mitglied
 
 Beiträge: 446 Registriert: 06.03.2002
|
erstellt am: 05. Jul. 2004 10:32 <-- editieren / zitieren --> Unities abgeben:          Nur für BADU
Hallo BADU, das liegt daran, daß mit der Anweisung CATIA.SystemService.ExecuteBackgroundProcessus ( "I:\makro\CATIABefehl.exe Convert product to CATPart" ) eine Hintergrundverarbeitung stattfindet. D.h. Das Makro wartet nicht bis Schritt 2 abgearbeitet wurde, sondern setzt nach Aufruf von Schritt 2 gleich mit Schritt 3 fort. Ändere einfach "ExecuteBackgroundProcessus" in "ExecuteProcessus", dann sollte es funktionieren. Gruss Steffen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BADU Mitglied Konstrukteur
 
 Beiträge: 124 Registriert: 02.07.2003 Catia V5R19 x64 Win7 x64
|
erstellt am: 05. Jul. 2004 10:42 <-- editieren / zitieren --> Unities abgeben:         
Hallo Steffen, ich habe das Weglassen von Background schon mal ausprobiert. Wenn ich ohne Background das Makro ausführe bleibt dieses an Schritt 2 hängen. Woran kann das liegen? Gibts Abhilfe dagegen? Gruss Badu ------------------ Gruss BADU Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Steffen Hohmann Mitglied
 
 Beiträge: 446 Registriert: 06.03.2002
|
erstellt am: 05. Jul. 2004 11:36 <-- editieren / zitieren --> Unities abgeben:          Nur für BADU
Hallo BADU, ja Du hast recht. So geht's nicht, da der Befehl die Auswahl einer Baugruppe erfordert. Somit ist eine Interaktion mit CATIA notwendig und ExecuteProcessus schaltet diese Interaktion aus. Eigentlich bietet CATIA mit "CATIA.StartCommand (Befehl)" eine Möglichkeit. Wer es irgendwie zum Laufen bekommen hat, bitte laßt es der ganzen Welt wissen!! Gruss Steffen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bartleby Mitglied
 
 Beiträge: 102 Registriert: 17.06.2004 Win XP V5R12 SP3, SP5 Win 2000 SP4 V5R12 SP3
|
erstellt am: 14. Sep. 2004 15:06 <-- editieren / zitieren --> Unities abgeben:          Nur für BADU
Und es gibt doch ne Lösung man kann das Macro zu ner Zwangspause zwingen indem man eine Schleife baut in der aber andere Prozesse noch ausgeführt werden.. Sieht etwa soo aus: ExecuteBackgroundProzessus(...................) 'Damit wird die Eingabe für CATIA nicht gesperrt wie bei ExecuteProcessus Do While Weiterschaltbedingung=False 'Dafür brauchts aber noch Phantasie weil eine "ich bin fertig-Rückmeldung" (meines Wissens) nicht existiert DoEvents 'Damit bleibt das Macro stehen aber alles andere läuft unbeeindruckt weiter Loop http://ww3.cad.de/foren/ubb/Forum110/HTML/000001.shtml Danke an Mirek Wojtowicz Wenns euch was hilft is gut, mir hats jedenfalls geholfen. sollte jemand noch was zwecks der "ich bin fertig-Rückmeldung" einfallen wär ich sehr interressiert MfG Ronny Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Steffen Hohmann Mitglied
 
 Beiträge: 446 Registriert: 06.03.2002
|
erstellt am: 14. Sep. 2004 16:38 <-- editieren / zitieren --> Unities abgeben:          Nur für BADU
Hallo Ronny, eine Zwangspause kann man machen, indem man einfach eine Userform einblendet, die auf ein Klick auf eine Schaltfläche wartet. Die Userform muß aber mit 'Userform.Show 1' aufgerufen werden und mit dem Schaltflächen-Ereignis Userform.Hide wieder ausgeblendet werden. Da die Userform aber beim Bedienen von CATIA in den Hintergrund verschwindet, muß man sie als 'immer im Vordergrund' definieren, so wie das beim Taskmanager der Fall ist. Gruss Steffen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Steffen Hohmann Mitglied
 
 Beiträge: 446 Registriert: 06.03.2002
|
erstellt am: 14. Sep. 2004 17:29 <-- editieren / zitieren --> Unities abgeben:          Nur für BADU
|
Bartleby Mitglied
 
 Beiträge: 102 Registriert: 17.06.2004 Win XP V5R12 SP3, SP5 Win 2000 SP4 V5R12 SP3
|
erstellt am: 15. Sep. 2004 07:29 <-- editieren / zitieren --> Unities abgeben:          Nur für BADU
Hallo Steffen, ich arbeite eben mit VBA da muss man Userform.Show 0 verwenden weil das Macro sonst auf eine Interaktion wartet, und nicht execute... als nächsten befehl ausführt. Noch eine andere Frage: ich will die CatiaError Messages zeitweise abschalten analog zu CATIA.DisplayFileAlerts=False CATIA.DisplayAlerts [boolean] gibts aber nicht oder ich hab's nur noch nicht gefunden. die Fehler(meldungen) sind lästig und werden sowieso im anschluss behoben. Gibts da irgendwo nen Schalter? MfG Ronny [Diese Nachricht wurde von Bartleby am 15. Sep. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |