Autor
|
Thema: automatisiertes Erstellen von Screenshots anhand Annotated Views (5942 mal gelesen)
|
Manu_b Mitglied PDM/CAx Manager
Beiträge: 81 Registriert: 31.07.2006 CATIA V4 Version 2.5 (UNIX) CATIA V5 R18 SP2 HF54 (UNIX) CATIA V5 R18 SP2 HF54 (WINDOWS XP) ENOVIA VPM<P>UNIX Workstation CELSIUS H270 Laptop Intel Core2Duo 4GB RAM
|
erstellt am: 11. Jun. 2008 17:37 <-- editieren / zitieren --> Unities abgeben:
Hallo, wir erstellen von Hand mehrere "Annotated Views" in der DMU-Workbench. Nachdem die ca. 50 Views erstellt sind, sollen automatisch Screenshots erstellt, und in einem definierten Verzeichnis abgelegt werden. Ich habe versucht mit dem Makrorecorder etwas anzufangen, jedoch wird dabei der Screenshot nicht mit aufgezeichnet. Nun erhalte ich folgenden Code: Auswahl der annotated View: -------------------------------------------------- Set productDocument1 = CATIA.ActiveDocument Set navigatorWorkbench1 = productDocument1.GetWorkbench("NavigatorWorkbench") Set cATIASiSiDrivableObject1 = productDocument1.GetItem("CH-53GA") Set annotatedViews1 = cATIASiSiDrivableObject1.GetTechnologicalObject("AnnotatedViews") Set annotatedView1 = annotatedViews1.Item("View.1") navigatorWorkbench1.View annotatedView1 ------------------------------------------ Damit wird schon mal die erste View aktiv gesetzt. Nun sollte der Screenshot erfolgen: ---------------------------------------------------------- Set specsAndGeomWindow1 = CATIA.ActiveWindow Set viewer3D1 = specsAndGeomWindow1.ActiveViewer 'CATIA.ActiveWindow.ActiveViewer.Reframe name="test.jpg" CATIA.ActiveWindow.ActiveViewer.CaptureToFile 5, name CATIA.ActiveWindow.ActiveViewer.Reframe ------------------------------------------------------------ Als nächsten Schritt sollte die nächste View aktiv gesetzt werden. Ich vermute, das funktioniert mit einer for...to-Schleife, jedoch enden hier schon meine bescheidenen Kenntnisse... Kann mir vielleicht jemand weiterhelfen? Mir würde vorerst schon mal die Schleife reichen, die weiteren Punkte dann step by step...... Danke und viele Grüße Manu_b 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: 12. Jun. 2008 08:20 <-- editieren / zitieren --> Unities abgeben: Nur für Manu_b
Hallo Manu, hab gerade mal was zusammenkopiert. Leider konnte ich es nicht testen (bin also auf ein Feedback angewiesen). Das Teil sollte jetzt alle Annotion Views eines Produkts aublaufen und bei jedem einen Screenshot in den temporären CATIA Ordner erstellen (dieser Ordner ist im Environment angegeben und kann mit einer MsgBox auch geöffnet werden (UNIX und Windows). Code:
Sub CATMain()'**********************************Abfrage Betriebsystem********************************** os = UCase(Left(CATIA.SystemConfiguration.OperatingSystem, 3)) If (os = "WIN") Or (os = "INT") Then operatingOS = True Else operatingOS = False End If '**********************************Definition Trennzeichen (Windows / UNIX)********************************** If operatingOS = True Then delimiter = "\" Else delimiter = "/" End If '**********************************Erstellen des temporaeren Speicherpfads********************************** Set oFileSys = CATIA.FileSystem sTmpPathRAW = CATIA.SystemService.Environ("CATTemp") sTmpPath = sTmpPathRAW & delimiter If (Not oFileSys.FolderExists(sTmpPathRAW)) Then Do sTmpPath = InputBox("Der temporaere Pfad des Environments wurde nicht gefunden" + Chr(10) + "Bitte geben Sie einen alternativen temporaeren Pfad an", "Fehler temporaerer Pfad", "C:\Temp\") Loop Until sTmpPath <> "" End If '**********************************Views zugänglich machen********************************** Dim Name As String Set oProduct = CATIA.ActiveDocument Set navWB = oProduct.GetWorkbench("NavigatorWorkbench") Set RefObject = oProduct.GetItem("28.4000-0000.3") Set oViewCols = RefObject.GetTechnologicalObject("AnnotatedViews") '**********************************Namen der Bilder********************************** ProductNameRAW = oProduct.Name ProductNameSEMI = Split(ProductNameRAW, ".CAT") ProductNameFIN = ProductNameSEMI(0) '**********************************View Schleife mit Screenshot********************************** For i = 1 To oViewCols.Count Set oView = oViewCols.Item(i) navWB.View oView Set specsAndGeomWindow1 = CATIA.ActiveWindow Set viewer3D1 = specsAndGeomWindow1.ActiveViewer CATIA.ActiveWindow.ActiveViewer.Reframe Name = sTmpPath & ProductNameFIN & "_Bild_" & i & "_" & Date & ".jpeg" CATIA.ActiveWindow.ActiveViewer.CaptureToFile 5, Name Next Set specsAndGeomWindow1 = CATIA.ActiveWindow '**********************************Ausgabe des Speicherortes********************************** Ml0 = "Das Makro wurde erfolgreich beendet" Ml1 = "Die Screenshots wurden unter folgendem Pfad gespeichert:" Ml_ZU_1 = "==> " Ml_ZU_2 = " <==" Ml4 = "Wollen Sie in den Pfad nun oeffnen?" Titel = "Speicherdaten" Skin = vbInformation + vbYesNo Abfrage = MsgBox(Ml0 + Chr(10) + Chr(10) + Ml1 + Chr(10) + Ml_ZU_1 + sTmpPath + Ml_ZU_2 + Chr(10) + Chr(10) + Ml4, Skin, Titel) If Abfrage = vbYes Then If operatingOS = True Then 'operatingOS = true ==> Das Betriebsystem ist Windows (Def. in Zeile 71) Pfad = sTmpPath ExplorerPath = "C:\WINDOWS\explorer.exe" Explorer = CATIA.SystemService.ExecuteProcessus(ExplorerPath & " " & Pfad) Else 'ExplorerPath = "C:\WINDOWS\explorer.exe" Pfad fuer UNIX Exploerer eingeben 'Explorer = CATIA.SystemService.ExecuteProcessus (ExplorerPath & " " & Pfad) End If End If End Sub
ACHTUNG: Dieser Code ist nicht optimiert. Es gibt noch viele möglichkeiten das Teil ein bisschen kompatiblier zu machen (Ich sag nur die Zeile mit dem GetItem... ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Manu_b Mitglied PDM/CAx Manager
Beiträge: 81 Registriert: 31.07.2006 CATIA V4 Version 2.5 (UNIX) CATIA V5 R18 SP2 HF54 (UNIX) CATIA V5 R18 SP2 HF54 (WINDOWS XP) ENOVIA VPM<P>UNIX Workstation CELSIUS H270 Laptop Intel Core2Duo 4GB RAM
|
erstellt am: 12. Jun. 2008 09:51 <-- editieren / zitieren --> Unities abgeben:
Hallo Daniel, ich bin begeistert. Nach geringen Modifikationen macht das Makro genau das, was wir benötigen..Kann man nicht auch 100 Unities vergeben Folgende Zeilen habe ich angepasst: - Dim Name As String, produziert bei mir eine Fehlermeldung (Anweisungsende erwartet), diese Zeile habe ich auskommentiert - CATIA.ActiveWindow.ActiveViewer.Reframe auch diese Zeile habe ich auskommentiert, weil er das gesamte Produkt damit weit weg zoomt, und wir dann die anmerkungen etc. nicht mehr lesen können. nun bekommen wir genau die selbe Ansicht wie in der Annotated View definiert - du hast recht, unter getitem muss logischerweise der Name des geöffneten Produkts drin stehen. Das kann man ja händisch austauschen Bei der Frage "Wollen Sie den Ordner öffnen" erhalte ich eine Fehlermeldung (Ordner nicht vorhanden), trotzdem werden die Dateien ins richtige Verzeichnis abgelegt (bei mir C:\Documents and Settings\g301302\CATIA_V5_DMU\CATTemp_B18). Woher nimmt das Makro eigentlich die Info des Speicherorts (Environment in den Optionseinstellungen??) Vielen Dank!!! Gruß Manuel
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: 12. Jun. 2008 10:57 <-- editieren / zitieren --> Unities abgeben: Nur für Manu_b
Hallo Manuel, also ich hab das Script noch kurz optimiert. Man muss jetzt keinen Namen eingeben, es funktioniert bei jedem Produkt das Annotated Views besitzt. Sollte jetzt auch schon alles auskommentiert sein, was du nicht brauchst bzw. in CATVba zu Fehlern führt. CATIA.ActiveWindow.ActiveViewer.Reframe hab ich rausgenommen. Das mit dem öffnen des Pfades im Explorer sollte eigentlich keine Probleme machen. Ev. liegt dein Explorer nicht an der im Script angegebenen Stelle "C:\WINDOWS\explorer.exe" Code:
Set oFileSys = CATIA.FileSystem sTmpPathRAW = CATIA.SystemService.Environ("CATTemp")
Das sind die beiden Zeilen die den temporären Pfad liefern. Über Klasse Filesystem kannst du zwar nicht auf das ganze Environment zugreifen, aber es beinhaltet die Objekte "temporaryDirectory". Somit kann man das schön hernehmen zum Zwischenspeichern von Daten während eines Makrolaufes etc. Du kannst natürlich auch noch ein eignes Directory einbinden, sonst wird dir wahrscheinlich dein temp-Ordner aus allen Nähten platzen (wenn man´s nicht so genau nimmt mit Daten sofort löschen, nur ausschneiden und einfügen, etc. ) Also hier jetzt mal der aktuelle Code (läuft aus CATVba, CATScript (auskommentierten Zeilen wieder kommentieren) und aus Microsoft VisualBasic) Code:
Sub CATMain()'**********************************Abfrage Betriebsystem********************************** os = UCase(Left(CATIA.SystemConfiguration.OperatingSystem, 3)) If (os = "WIN") Or (os = "INT") Then operatingOS = True Else operatingOS = False End If '**********************************Definition Trennzeichen (Windows / UNIX)********************************** If operatingOS = True Then delimiter = "\" Else delimiter = "/" End If '**********************************Erstellen des temporaeren Speicherpfads********************************** 'Dim sTmpPathRAW As String 'Auskommentiert wg. CATVBA Set oFileSys = CATIA.FileSystem sTmpPathRAW = CATIA.SystemService.Environ("CATTemp") sTmpPath = sTmpPathRAW & delimiter If CATIA.FileSystem.FolderExists(sTmpPathRAW) = False Then Do sTmpPath = InputBox("Der temporaere Pfad des Environments wurde nicht gefunden" + Chr(10) + "Bitte geben Sie einen alternativen temporaeren Pfad an", "Fehler temporaerer Pfad", "C:\Temp\") Loop Until sTmpPath <> "" End If '**********************************Views zugänglich machen********************************** 'Dim Name As String 'Auskommentiert wg. CATVBA Set oProduct = CATIA.ActiveDocument Set navWB = oProduct.GetWorkbench("NavigatorWorkbench") Set RefObject = oProduct.Product Set oViewCols = RefObject.GetTechnologicalObject("AnnotatedViews") '**********************************Namen der Bilder********************************** ProductNameRAW = oProduct.Name ProductNameSEMI = Split(ProductNameRAW, ".CAT") ProductNameFIN = ProductNameSEMI(0) '**********************************View Schleife mit Screenshot********************************** For i = 1 To oViewCols.Count Set oView = oViewCols.Item(i) navWB.View oView Set specsAndGeomWindow1 = CATIA.ActiveWindow Set viewer3D1 = specsAndGeomWindow1.ActiveViewer CATIA.ActiveWindow.ActiveViewer.Activate Name = sTmpPath & ProductNameFIN & "_Bild_" & i & "_" & Date & ".jpeg" CATIA.ActiveWindow.ActiveViewer.CaptureToFile 5, Name Next Set specsAndGeomWindow1 = CATIA.ActiveWindow '**********************************Ausgabe des Speicherortes********************************** Ml0 = "Das Makro wurde erfolgreich beendet" Ml1 = "Die Screenshots wurden unter folgendem Pfad gespeichert:" Ml_ZU_1 = "==> " Ml_ZU_2 = " <==" Ml4 = "Wollen Sie in den Pfad nun oeffnen?" Titel = "Speicherdaten" Skin = vbInformation + vbYesNo Abfrage = MsgBox(Ml0 + Chr(10) + Chr(10) + Ml1 + Chr(10) + Ml_ZU_1 + sTmpPath + Ml_ZU_2 + Chr(10) + Chr(10) + Ml4, Skin, Titel) If Abfrage = vbYes Then If operatingOS = True Then 'operatingOS = true ==> Das Betriebsystem ist Windows (Def. in Zeile 71) Pfad = sTmpPath ExplorerPath = "C:\WINDOWS\explorer.exe" Explorer = CATIA.SystemService.ExecuteProcessus(ExplorerPath & " " & Pfad) Else 'ExplorerPath = "C:\WINDOWS\explorer.exe" Pfad fuer UNIX Exploerer eingeben 'Explorer = CATIA.SystemService.ExecuteProcessus (ExplorerPath & " " & Pfad) End If End If End Sub
------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Manu_b Mitglied PDM/CAx Manager
Beiträge: 81 Registriert: 31.07.2006 CATIA V4 Version 2.5 (UNIX) CATIA V5 R18 SP2 HF54 (UNIX) CATIA V5 R18 SP2 HF54 (WINDOWS XP) ENOVIA VPM<P>UNIX Workstation CELSIUS H270 Laptop Intel Core2Duo 4GB RAM
|
erstellt am: 12. Jun. 2008 11:51 <-- editieren / zitieren --> Unities abgeben:
Danke schön nochmal. Der neue Code läuft so korrekt ab, allerdings bekomm ich immer noch die Fehlermeldung beim öffnen, obwolh unter C:\Windows\ die Datei explorer.exe liegt. Jetzt würde ich noch gerne den Hintergrund auf weiß setzen, und Compass und Strukturbaum ausblenden. Codes dafür vielleicht so in der Art? '*****************weiße Hintergrundfarbe und Kompass aus********************************** Set viewerXD1 = specsAndGeomWindow1.ActiveViewer specsAndGeomWindow1.Layout = catWindowGeomOnly viewerXD1.GetBackgroundColor Color If isType(objDocToPic, "Part;Product") = True Then RenderingModeBefore = viewerXD1.RenderingMode viewerXD1.RenderingMode = catRenderShadingWithEdges viewerXD1.PutBackgroundColor Array(1, 1, 1) Catia.StartCommand "CompassDisplayOff" End If ***************************** Dieser Aussschnitt müsste ja dann logischerweise vor "Views zugänglich machen", oder? Du tust mir gerade einen riesigen Gefallen - hast du schon nen Job ;-) ? Die Firma mit dem magenta-T verdient mit dem, was du gerade machst, eine Menge Geld bei uns.... Gruß Manuel 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: 12. Jun. 2008 13:55 <-- editieren / zitieren --> Unities abgeben: Nur für Manu_b
Hallo Manuel, so jetzt sind noch ein paar kleiner Bugs gefixt. Ich hoffe jetzt ist das Makro auch noch anwenderfrendlich. Sobald ein flasches Dokument (z.B. eine Drawing etc.) offen ist bricht das Makro ab. Falls sich keine Annotation Views im Produkt oder Part befinden bricht das Makro ab. Damit kann man nicht mehr viel falsch machen als USER Des weiteren wird nun der Hintergrund auf weiß geändert sowie der Kompass und der Spezifikationsbaum ausgeblendet für die Screenshots. Nachdem diese gemacht worden sind, wird der Kompass und der Baum wieder eingeblendet. Des weiteren wird die Hinergrundfarbe wieder auf das ursprüngliche blau gesetzt. (das muss man halt ev. anpassen wenn man es anders haben möchte ) Viel Spass damit und über Feedback bin ich immer dankbar. PS: Lässt euch nicht zuviel dafür aus der Tasche ziehen. Mit ein bisschen rumspielen gehts auch und ist wesentlich billiger wie sich einen Softwaredantler ins Haus zu holen ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Manu_b Mitglied PDM/CAx Manager
Beiträge: 81 Registriert: 31.07.2006 CATIA V4 Version 2.5 (UNIX) CATIA V5 R18 SP2 HF54 (UNIX) CATIA V5 R18 SP2 HF54 (WINDOWS XP) ENOVIA VPM<P>UNIX Workstation CELSIUS H270 Laptop Intel Core2Duo 4GB RAM
|
erstellt am: 13. Jun. 2008 07:52 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen Daniel, Makro getestet, läuft problemlos, und auch "falsche" Produkte werden abgefangen. Ich habe nur noch die Zeile Catia.StartCommand "CompassDisplayOff" eingefügt. Die stand noch nicht drin... Nun hätt ich noch eine kleine Frage: Wir benennen unsere Ansichten nach einer bestimmten Systematik (z.B. RH_1, RH_2, RH_3, LH_1, LH2 usw...). Ist es möglich die Benennung der Ansichten in den Dateinamen zu übernehmen? Die weiteren Angaben wie Produktname, Bezeichnung wären dann nicht mehr notwendig. Und da eine View auch immer nur einen Namen haben kann, sind Doppelbezeichnungen ausgeschlossen...
Danke schon mal! Grüße nach Ingolstadt Manuel
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: 13. Jun. 2008 08:10 <-- editieren / zitieren --> Unities abgeben: Nur für Manu_b
Hallo Manuel, ich denke die Zeile Code: Catia.StartCommand "CompassDisplayOff"
braucht man gar nicht (zu mindestens in V5R18Sp2 nicht mehr). Mit der Zeile Code: myWindow.Layout = catWindowGeomOnly
sollte auch der Kompass verschwinden, da der Viewer nur noch die Geometrie anzeigt. Aber trotzdem braucht man die Zeile um ihn wider sichtbar zu machen, da das in der Zeile
Code: myWindow.Layout = catWindowSpecsAndGeom
nicht passiert ;) .Mir ist gestern nach dem Deutschlandspiel :( noch eingefallen das man abfragen sollte ob die Lizenz (DMN) auch geladen ist. Sonst produziert das Script einen Fehler in der Zeile
Code: Set navWB = oProduct.GetWorkbench("NavigatorWorkbench")
.Zu den Views hätte ich aber noch eine Frage. Ich denke ja ihr lasst das Makro über mehrere Produkte drüber oder? Ich denke ja in jedem der Produkte gibt es diese Namen für die Views RH_1, RH_2, RH_3, LH_1, LH2? (heißt das rechts hinten 1, rechts hinten 2...)? Wenn nun ein Anwender auf die Idee kommt ein Produkt zu öffnen und das Makro zu starten, dann werden die Bilder gemacht und in den Temp-Ordner verschoben. Wenn er nun direkt in einem zweiten Produkt das Makro startet, werden die Bilder des ersten Produkts überschrieben, da sie ja dann gleich heißen, wenn der Dateiname nur der Name des Bildes ist. Deswegen mein Vorschlag: Einfach im temp-Ordner einen Ordner anlegen lassen (vom Script). Dieser hat entweder den Dateinamen + Datum, oder die Produkt-Nomenklatur + Datum. In diesen Ordner werden dann die Views mit ihren Namen gespeichert. So weiß jeder von welchen Produkt, welches Bild, an welchen Datum entstanden ist Ich meld mich nachher nochmal ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Manu_b Mitglied PDM/CAx Manager
Beiträge: 81 Registriert: 31.07.2006 CATIA V4 Version 2.5 (UNIX) CATIA V5 R18 SP2 HF54 (UNIX) CATIA V5 R18 SP2 HF54 (WINDOWS XP) ENOVIA VPM<P>UNIX Workstation CELSIUS H270 Laptop Intel Core2Duo 4GB RAM
|
erstellt am: 13. Jun. 2008 08:32 <-- editieren / zitieren --> Unities abgeben:
Hallo Daniel, also,ich hab das jetzt nochmal getestet. Wir haben zwar Sp2 mit Hotfix 9, aber die Zeile Compassoff benötigen wir trotzdem. Du hast recht, die Bezeichnung RH/LH bedeuten rechte Seite, linke Seite. Die Idee mit dem Ordner find ich gut, aber es würde reichen, wenn das Datum drin steht. Da wir mit VPM arbeiten, und die Screenshots im Haupt-Baum (selber Rootkontext) erstellt werden, heißt das Produkt also immer gleich. Die Gefahr des Überschreibens besteht also weiterhin, deswegen müssen die User nach dem Erstellen der Bilder eine Kopie der Ordner in ein anderes Laufwerk ablegen. Oder ist es möglich, auch die Uhrzeit in den Dateinamen einzufügen? Ich hab jetzt schon mal versucht mit "time" aber damit wird gar kein Bild mehr erstellt. Damit wäre die Gefahr des Überschreibens wird gebannt.... Dürfte ich dich bitten, dies noch mal in den Code einzufügen? DANKE!!!!!!! Grüße Manuel 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: 13. Jun. 2008 10:39 <-- editieren / zitieren --> Unities abgeben: Nur für Manu_b
Zitat:
also,ich hab das jetzt nochmal getestet. Wir haben zwar Sp2 mit Hotfix 9, aber die Zeile Compassoff benötigen wir trotzdem.Du hast recht, die Bezeichnung RH/LH bedeuten rechte Seite, linke Seite. Die Idee mit dem Ordner find ich gut, aber es würde reichen, wenn das Datum drin steht. Da wir mit VPM arbeiten, und die Screenshots im Haupt-Baum (selber Rootkontext) erstellt werden, heißt das Produkt also immer gleich. Die Gefahr des Überschreibens besteht also weiterhin, deswegen müssen die User nach dem Erstellen der Bilder eine Kopie der Ordner in ein anderes Laufwerk ablegen. Oder ist es möglich, auch die Uhrzeit in den Dateinamen einzufügen? Ich hab jetzt schon mal versucht mit "time" aber damit wird gar kein Bild mehr erstellt. Damit wäre die Gefahr des Überschreibens wird gebannt.... Dürfte ich dich bitten, dies noch mal in den Code einzufügen? DANKE!!!!!!!
Hallo Manuel,
jo das mit dem Kompass habe ich auch festgestellt wo ich´s mir heute nochmal angeschaut habe. Ich hätte gestern schwören können der Kompass wäre weg gewesen. Naja so kann man sich irren, der Bug ist auf jeden Fall gefixt. Zum neuen Script: Das legt dir jetzt in deinen temp-Ordner einen neuen Ordner an mit dem Namen Screenshots_tt.mm.jjjj_xxh-xxm-xxs. Sprich der Ordner enthält das Datum und die Uhrzeit an dem er erstellt wurde. Innerhalb des Ordners lege ich dann die Dateien an. Im Moment bekommen die Dateien auch nochmal eine Zeit in den Dateinamen. Aber das kannst du wenn du willst auch auskommentieren (Zeile Name = oFilepath & ViewName & "_" & aktuelleZeit & ".jpeg": Da muss dann das aktuelleZeit raus). Überschreiben kann er da nichts mehr (solange es keine doppelt benannten Views bei euch gibt ) Da wo so viel auskommentiert ist, das wäre das System falls man es mit Dateinamen (sonstiger eindeutiger Kennzeichnung des Files) und Datum und ner zusätzlichen Überschreibanfrage machen will (funktioniert auch hervorragend!). Bei dem jetzigen System kann man halt nicht mehr erkennen zu welchen Produkt die Bilder eigentlich mal gehört haben und das könnte ein wenig für Verwirrung sorgen. Ich denke im Großen und Ganzen waren das die restlichen Punkte PS: Das mit dem Time reinschreiben funktioniert aus folgendem Grund nicht. Die Funktion Time gibt dir die Systemzeit in folgendem Format zurück (xx:xx:xx). Natürlich kann man beim Speichern (bzw. hier capture und export in Datei) keine Doppelpunkte im Dateinamen verwenden. Deswegen kann und speichert er nichts Deswegen musst du die Time-Funktion wiederrum in Stunde, Minute und Sekunde "splitten" und dann kannst dir ein eigenes Windows-konformes Trennzeichen raussuchen
------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Manu_b Mitglied PDM/CAx Manager
Beiträge: 81 Registriert: 31.07.2006 CATIA V4 Version 2.5 (UNIX) CATIA V5 R18 SP2 HF54 (UNIX) CATIA V5 R18 SP2 HF54 (WINDOWS XP) ENOVIA VPM<P>UNIX Workstation CELSIUS H270 Laptop Intel Core2Duo 4GB RAM
|
erstellt am: 13. Jun. 2008 16:17 <-- editieren / zitieren --> Unities abgeben:
|
mvo Mitglied Konstrukteur
Beiträge: 94 Registriert: 22.10.2001 CATIA V5R21 SP2 WIN 7 64bit
|
erstellt am: 24. Mrz. 2011 10:24 <-- editieren / zitieren --> Unities abgeben: Nur für Manu_b
Hallo zusammen, gibt es dies Makro auch für CATIA unter HP-UX/ UNIX? Ich bekomme logischerweise eine Fehlermeldung bzgl. des Dateipfades... Gruß, Marco [Diese Nachricht wurde von mvo am 24. Mrz. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lusilnie Mitglied
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 29. Mrz. 2011 00:01 <-- editieren / zitieren --> Unities abgeben: Nur für Manu_b
Hallo mvo, dumme Frage: Wieso bekommst Du "logischerweise eine Fehlermeldung bzgl. des Dateipfades"? Nach einem groben Überfliegen des Codes bin ich der Auffassung, dass er auch für UNIX-Systeme funktionieren sollte. Wie ist also konkret Deine Fehlermeldung? Vielleicht finden wir hier dann ja das Problem... mfg, Lusilnie
PS: Mehr oder zu viele Angaben sind immer besser als zu wenige.
------------------ 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 |
mvo Mitglied Konstrukteur
Beiträge: 94 Registriert: 22.10.2001 CATIA V5R21 SP2 WIN 7 64bit
|
erstellt am: 06. Jun. 2011 15:56 <-- editieren / zitieren --> Unities abgeben: Nur für Manu_b
|
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 06. Jun. 2011 16:40 <-- editieren / zitieren --> Unities abgeben: Nur für Manu_b
|
mvo Mitglied Konstrukteur
Beiträge: 94 Registriert: 22.10.2001 CATIA V5R21 SP2 WIN 7 64bit
|
erstellt am: 07. Jun. 2011 11:27 <-- editieren / zitieren --> Unities abgeben: Nur für Manu_b
Super, danke für den Hinweis! Habe es jetzt hinbekommen. Noch eine kleine Frage: Das Makro gibt immer einen festen Pfad vor (z.B. CATTemp). Ist es auch möglich, einen variablen Pfad anzugeben? Z.b. /tmp/<User ID>? Danke und Gruß, Marco Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Elijamah Mitglied
Beiträge: 6 Registriert: 13.11.2012
|
erstellt am: 14. Nov. 2012 08:39 <-- editieren / zitieren --> Unities abgeben: Nur für Manu_b
Klasse Makro, vielen Dank schon einaml dafür. Ich habe nur folgendes Problem: Wenn ich von View zu View wechsel, dann fliegen die verscheidenen Ansichten ein (also wie Reframe). Problem ist dass der Screenshot während dem einfliegen passiert. Kann man das einfliegen ausstellen, oder kann ich nach jedem Viewwechsel/vor jedem neuen Screenshot eine Art Zeitpuffer von 2-3 Sekunden einbauen? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DasDon Mitglied Konstruktuer
Beiträge: 169 Registriert: 25.07.2011 R18 SP2. WIN
|
erstellt am: 14. Nov. 2012 09:24 <-- editieren / zitieren --> Unities abgeben: Nur für Manu_b
|
Elijamah Mitglied
Beiträge: 6 Registriert: 13.11.2012
|
erstellt am: 14. Nov. 2012 13:17 <-- editieren / zitieren --> Unities abgeben: Nur für Manu_b
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|