Autor
|
Thema: Makros - Screenshots (7842 mal gelesen)
|
MichaelS. Mitglied
Beiträge: 4 Registriert: 29.07.2008 Windows XP SP2 Intel(R) Core(TM)2 Due CPU E8200 2,66GHz 3 GB Ram NVIDIA Quadro FX 1700 Catia V5R18 SP5
|
erstellt am: 29. Jul. 2008 14:41 <-- editieren / zitieren --> Unities abgeben:
Erstmal ein Hallo an alle hier. Obwohl ich schon länger hier im Forum unterwegs bin ist dies mein erster Beitrag. Hab hier schon viel erfahren und hoffe ihr könnt mir bei diesem Problem auch helfen. Seit kurzem befasse ich mich mit Makros im Catia und bin dabei ein Makro zu basteln das es mir ermöglicht schnell 3D-Bilder zu machen und diese zu bearbeiten. Bisher habe ich es geschaft das sich die Hintergrundfarbe ändert , sich die Perspektive einschaltet und sich mein Bildbearbeitungsprogramm öffnet. Was mir nun fehlt ist der Screenshot. Wenn es möglich wäre würde ich gerne die Screenshot-funktion von windows benutzen da ich diese auch jetzt schon benutzte. Außerdem wüsste ich gerne wie es möglich ist generell tastenbefehle oder deren funktionen ins Makro einzubauen zB. "Druck" für den screenshot oder im Catia selbst "F3" zum Baum ein und ausblenden (bei der "Makro aufzeichnen"-Funktion registriert er F3 und die änderung in den einstellungen nicht) Bin für jede Hilfe dankbar. Mit freundlichen Grüßen Michael
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Moderator² Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 29. Jul. 2008 15:22 <-- editieren / zitieren --> Unities abgeben: Nur für MichaelS.
Hallo, im VB gibt es eine Funktion Sendkeys(). Diese führt jedoch die Funktion lediglich innerhalb der Programmumgebung aus. z.B. Sendkeys "%{F4}", true Das sendet z.B. Alt(%) + F4({F4}) welches ein Programm beendet. Druck : {PRTSC} Ich weis wohl nicht, ob es auch in der VBA-Umgebung von CATIA funktioniert. Google mal na "vb6.0 Sendkeys", dann dürftest du alle Tastencodes finden. HTH ------------------ MFG Rick Schulz Konfuzius sprach: "Wer sich das Alte noch einmal vor Augen führt, um das Neue zu verstehen, der kann anderen ein Lehrer sein."
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
V5Playaz Mitglied Dipl.-Ing (BA)
Beiträge: 447 Registriert: 12.07.2005 DELL PRECISION 390 3,25 GB RAM WIN XP PRO SP2 CATIA V5 R16-19 Delmia V5 R19 VB6, VB2008 Adobe Acrobat 9 Pro Extended
|
erstellt am: 29. Jul. 2008 15:32 <-- editieren / zitieren --> Unities abgeben: Nur für MichaelS.
|
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: 29. Jul. 2008 16:01 <-- editieren / zitieren --> Unities abgeben: Nur für MichaelS.
Man kann das CATIA doch als aktives Fenster schalten bevor man die SendKeys macht: AppActivate ("CATIA V5") Dann gibt's weniger Probleme mit dem aktiven Formular. SendKeys kann ich dennoch nicht leiden. ------------------ 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 |
RSchulz Moderator² Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 29. Jul. 2008 16:15 <-- editieren / zitieren --> Unities abgeben: Nur für MichaelS.
Na schönen Dank. Da denkt man, dass man jemandem hilft und dann sowas Spaß bei seite. Da ihr die Funktion nun so schlecht gemacht habt, würde mich natürlich interessieren, was genau passieren kann, damit ich diese Fehler einplane oder wirklich eine andere Funktion nutze. Das die Form aktiviert werden muss, an die die Eingaben gesendet werden sollen, war mir schon klar. ------------------ MFG Rick Schulz Konfuzius sprach: "Wer sich das Alte noch einmal vor Augen führt, um das Neue zu verstehen, der kann anderen ein Lehrer sein."
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MichaelS. Mitglied
Beiträge: 4 Registriert: 29.07.2008 Windows XP SP2 Intel(R) Core(TM)2 Due CPU E8200 2,66GHz 3 GB Ram NVIDIA Quadro FX 1700 Catia V5R18 SP5
|
erstellt am: 29. Jul. 2008 16:32 <-- editieren / zitieren --> Unities abgeben:
Hallo Ich denke ich habe einen Fehler gemacht. Ich hätte erwähnen sollen das ich Absoluter Anfänger bin Die Befehle die Ihr hier gepostet habt will mein Catia garnet erst annehmen irgentwie. Bekomme direckt die Fehlermeldung "Typen unverträglich: 'Appactivate' bei Sendkeys ist es das gleiche. Warscheinlich brauch ich noch andere Befehle oder Eingaben die davor müssen oder ? In nächster Zeit werde ich versuchen diese ganzen Sachen von grundauf zu lernen aber grade hätte ich schonmal gerne das dieses Makro funktioniert. ----- hatte ich ja ganz vergessen : @V5Playaz Dieser beitrag ist mir bekannt und ich hab ihn auch durchgelesen. Damit habe ich es auch hinbekommen das Bild zu machen, allerdings bekomme ich damit ja das Bild duch die Catia-Capture Funktion, was ich eben ja nicht will denn 1. ist die Qualität nicht so gut und 2. hätte ich das Bild am liebsten durch den Windows Screenshot Funktion in der Zwischenablage. [Diese Nachricht wurde von MichaelS. am 29. Jul. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
denyo_1 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: 29. Jul. 2008 16:32 <-- editieren / zitieren --> Unities abgeben: Nur für MichaelS.
Hallo, generell sollten diese Befehle einfach nicht eingesetzt werden, da sie zu Fehlern führen die man nicht genau identifizieren kann ähnlich wie mit Goto Line X. @Michael S.: Ich würde versuchen die internen Befehle von CATIA V5 zu nutzen und es ohne sendkey´s zu machen. SendKeys funktionieren nur in Windows deswegen wirst du das Makro nie auf einem anderen Betriebsystem laufen lassen können. Soweit ich mich errinnern kann, kann der Strukturbaum auch durch eine interne Methode versteckt werden. Ich suche mal meine Makros durch und geb dir mal ein Feedback. Den Screenshot kannst du ja dann auch intern machen und du hast keine Schnittstellen auf Windoof (du kannst das Teil dann auch als CATScript verwirklichen und auf jedem Betriebsystem ausführen...) ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
denyo_1 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: 29. Jul. 2008 16:57 <-- editieren / zitieren --> Unities abgeben: Nur für MichaelS.
Hi, wie schon angemerkt die interne Methode zum ausblenden des Strukturbaums. Code:
Sub CATMain()Set specsAndGeomWindow1 = CATIA.ActiveWindow specsAndGeomWindow1.Layout = 1 End Sub
Hier bei wird im in der fettmarkierten Zeile gesagt das er nur die Geometrie anzeigen soll. Des weitern gibt es: CATWindowsGeomOnly = 1 (nur Geometrie ohne Strukturbaum) CATWindowSpecsAndGeom = 2 (Strukturbaum und Geometrie) CATWindowSpecsOnly = 3 (Nur der Strukturbaum) Mit diesem Code kannst du jetzt abfragen ob der Strukturbaum ausgeblendet ist (das könntest du mit einem SendKey auf keinen Fall). Falls er schon ausgeblendet ist soll er nichts machen falls er noch sichtbar ist, soll er nur die Geometrie anzeigen. @Rick: In dem vorherigen Satz wird glaube ich klar warum eine SendKey nicht die beste Programmiermethode ist. Man kann nichts abfragen nur machen ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MichaelS. Mitglied
Beiträge: 4 Registriert: 29.07.2008 Windows XP SP2 Intel(R) Core(TM)2 Due CPU E8200 2,66GHz 3 GB Ram NVIDIA Quadro FX 1700 Catia V5R18 SP5
|
erstellt am: 29. Jul. 2008 22:23 <-- editieren / zitieren --> Unities abgeben:
Danke für eure Antworten. @Danyo_1 Ich werd das morgen direkt mal testen und wenns klappt bin ich damit schonmal einen Schritt weiter, danke =) Anscheinend seit ihr von der Windows-Screenshot Idee nicht all zu begeistert^^ Ich habe nur das Problem das die Catia-Bilder eine schlechtere Qualität haben. Anscheinend werden Grafikeinstellungen der Grafikkarte nicht übernommen zB. Antialiasing. Eine letzte Frage hätte ich noch. Wie kann ich im Makro vorgeben in welcher Reihenfolge er die befehle ausführt? Das genaue Problem ist das er mein Bildbearbeitungsprogramm startet und er dann probleme hat die im Catia auszuführenden Sachen umzusetzten. Hoffe da gibts ne Möglichkeit. Eventuell auch den Befehl zum starten des Programms in ein seperates Makro und dieses durchs erste Marko starten MFG Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tomtom1972 Mitglied dipl ing maschinenbau
Beiträge: 605 Registriert: 22.03.2005 NVidia Quadro K4000 Intel Xeon E5-1620, 64GB RAM Windows10 64bit R30 <= CATIA V5 > =R19
|
erstellt am: 30. Jul. 2008 06:08 <-- editieren / zitieren --> Unities abgeben: Nur für MichaelS.
|
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: 30. Jul. 2008 08:46 <-- editieren / zitieren --> Unities abgeben: Nur für MichaelS.
Hallo tomtom1972, ich habe mir mal die catvba's angeschaut, ist ein interessantes Projekt, die haben ein paar von den Dingen bearbeitet, die ich auch schon als Programm nierder geschrieben habe. Was ich aber toll finde ist, dass es open source ist, wenn auch nicht so extrem gut, dafür aber gut zu verstehen. Jedenfalls werden die Bilder dort auch mit Send-Keys geschossen und ich bekomme einen Fehler bei: CATIA.ActiveWindow.Layout = catWindowGeomOnly Aber cooles Teil um mal zu sehen, wie es die anderen gelößt haben, ist vor alle msehr schnell, aber hinterher istm ein Baum weg. ^^ Und die CATIA-interne "CATIA.ActiveWindow.ActiveViewer.CaptureToFile catCaptureFormatJPEG, myfile" wird benutzt, also kein Windows-Bild sondern das CATIA, welches ja nicht die Quallität bringt, eventuell als BMP? Also für meine Anwendungen hatte bisher immer CATIA JPG gereicht, allerdings habe ich da das Problem, dass jeder Monitor ne andere Größe hat und dann das Fenster manchmal auf die Größe eingepasst wird, manchmal nicht und daher das Bild später eingepasst werden muss, was oftmals blöd aussieht... ------------------ 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 [Diese Nachricht wurde von HoBLila am 30. Jul. 2008 editiert.] [Diese Nachricht wurde von HoBLila am 30. Jul. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
V5Playaz Mitglied Dipl.-Ing (BA)
Beiträge: 447 Registriert: 12.07.2005 DELL PRECISION 390 3,25 GB RAM WIN XP PRO SP2 CATIA V5 R16-19 Delmia V5 R19 VB6, VB2008 Adobe Acrobat 9 Pro Extended
|
erstellt am: 30. Jul. 2008 08:54 <-- editieren / zitieren --> Unities abgeben: Nur für MichaelS.
|
denyo_1 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: 30. Jul. 2008 10:17 <-- editieren / zitieren --> Unities abgeben: Nur für MichaelS.
Hallo, ich würde dir empfehlen, die ActiveX Komponente deines Bildbearbeitungsprogramms vor dem eigentlichen Start des Makros zu holen und diese auch abzufragen. Erst wenn das Programm läuft soll er den internen Screenshot machen und diesen an das Bildbearbeitungsprogramm weitergeben. Das Problem an der Sache ist nämlich folgendes. Du machst den Screenshot. Anschließned rufst du das Bildbearbeitungsprogramm auf. Während des startens des Bildbearbeitungsprogramms läuft dein Makro aber weiter (die Zeile zum ausführen des Programm´s ist für ihn ja schon abgeschlossen, trotzdem ist das Programm erst beim Starten und kann noch keine Befehle eines anderen Scriptes entgegennehmen!)
------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MichaelS. Mitglied
Beiträge: 4 Registriert: 29.07.2008 Windows XP SP2 Intel(R) Core(TM)2 Due CPU E8200 2,66GHz 3 GB Ram NVIDIA Quadro FX 1700 Catia V5R18 SP5
|
erstellt am: 14. Aug. 2008 15:33 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen. Einige Zeit ist vergangen und ich wollte nur nochmals allen danken die mir geholfen haben. Hab jetzt doch nur die einstellungen im CATIA wie z.B. Baum ausblenden, Hintergrundfarbe und Perspektive ändern usw. Das restliche übersteigt meine Makro-programmier Fähigkeiten eindeutig, macht aber nix MFG Michael
[Diese Nachricht wurde von MichaelS. am 14. Aug. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ogard1 Mitglied Verfahrenstechniker
Beiträge: 442 Registriert: 12.09.2004 R19 SP2
|
erstellt am: 14. Aug. 2008 16:28 <-- editieren / zitieren --> Unities abgeben: Nur für MichaelS.
|
jdahm Mitglied Konstrukteur
Beiträge: 137 Registriert: 01.08.2008
|
erstellt am: 15. Aug. 2008 15:44 <-- editieren / zitieren --> Unities abgeben: Nur für MichaelS.
|
denyo_1 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: 16. Aug. 2008 09:37 <-- editieren / zitieren --> Unities abgeben: Nur für MichaelS.
Hallo, @Michael S.: Ich wiederholen nochmal kurz was du vorhast: Du willst von einem Part einen Sreenshot machen und diesen direkt zur Bearbeitung in ein Bildbearbeitungsprogramm übergeben. Dort möchtest du direkt im Anschluss das Bild bearbeiten und speichern. Wenn du fertig bis willst du das nächsste Bild machen?!? Ist das vom Ablauf richtig? Welches Bildbearbeitungprogramm willst du den verwenden (OS nur Windows?). Wie schon erwähnt ich würde diese Problematik nicht mit einem CATScript lösen sondern direkt über VBA. Damit hast du die Möglichkeit auf beide Programme (Bildbearbeitung und CATIA) zuzugreifen. Ich würde dann erst alle Screenshots machen und anschließend alle in das Bildbearbeitungsprogramm laden. Diese dort dann bearbeiten. Ich denke so ist es am einfachen. ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |