Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  automatisiertes Erstellen von Screenshots anhand Annotated Views

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  automatisiertes Erstellen von Screenshots anhand Annotated Views (5942 mal gelesen)
Manu_b
Mitglied
PDM/CAx Manager


Sehen Sie sich das Profil von Manu_b an!   Senden Sie eine Private Message an Manu_b  Schreiben Sie einen Gästebucheintrag für Manu_b

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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


Sehen Sie sich das Profil von denyo_1 an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Manu_b 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von Manu_b an!   Senden Sie eine Private Message an Manu_b  Schreiben Sie einen Gästebucheintrag für Manu_b

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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


Sehen Sie sich das Profil von denyo_1 an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Manu_b 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von Manu_b an!   Senden Sie eine Private Message an Manu_b  Schreiben Sie einen Gästebucheintrag für Manu_b

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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


Sehen Sie sich das Profil von denyo_1 an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Manu_b 10 Unities + Antwort hilfreich


Screenshots_von_Annotations_V01.zip

 
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


Sehen Sie sich das Profil von Manu_b an!   Senden Sie eine Private Message an Manu_b  Schreiben Sie einen Gästebucheintrag für Manu_b

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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


Sehen Sie sich das Profil von denyo_1 an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Manu_b 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von Manu_b an!   Senden Sie eine Private Message an Manu_b  Schreiben Sie einen Gästebucheintrag für Manu_b

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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


Sehen Sie sich das Profil von denyo_1 an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Manu_b 10 Unities + Antwort hilfreich


Screenshots_von_Annotations_V02.zip

 
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


Sehen Sie sich das Profil von Manu_b an!   Senden Sie eine Private Message an Manu_b  Schreiben Sie einen Gästebucheintrag für Manu_b

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Alles tipp topp, so läufts super :-)


Vielen, vielen Dank!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

mvo
Mitglied
Konstrukteur


Sehen Sie sich das Profil von mvo an!   Senden Sie eine Private Message an mvo  Schreiben Sie einen Gästebucheintrag für mvo

Beiträge: 94
Registriert: 22.10.2001

CATIA V5R21 SP2
WIN 7 64bit

erstellt am: 24. Mrz. 2011 10:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Manu_b 10 Unities + Antwort hilfreich

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



Sehen Sie sich das Profil von Lusilnie an!   Senden Sie eine Private Message an Lusilnie  Schreiben Sie einen Gästebucheintrag für Lusilnie

Beiträge: 1486
Registriert: 13.07.2005

erstellt am: 29. Mrz. 2011 00:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Manu_b 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von mvo an!   Senden Sie eine Private Message an mvo  Schreiben Sie einen Gästebucheintrag für mvo

Beiträge: 94
Registriert: 22.10.2001

CATIA V5R21 SP2
WIN 7 64bit

erstellt am: 06. Jun. 2011 15:56    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Manu_b 10 Unities + Antwort hilfreich


error_01.png


error_line.png

 
Hallo Lusilnie,

im Anhang die Fehlermeldung.

Gruß,
Marco

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 06. Jun. 2011 16:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Manu_b 10 Unities + Antwort hilfreich

Servus
Lass dir mal den Pfad ausgeben, stimmt dieser?
Hast du Zugriff auf das entsprechende Verzeichnis?

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

mvo
Mitglied
Konstrukteur


Sehen Sie sich das Profil von mvo an!   Senden Sie eine Private Message an mvo  Schreiben Sie einen Gästebucheintrag für mvo

Beiträge: 94
Registriert: 22.10.2001

CATIA V5R21 SP2
WIN 7 64bit

erstellt am: 07. Jun. 2011 11:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Manu_b 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von Elijamah an!   Senden Sie eine Private Message an Elijamah  Schreiben Sie einen Gästebucheintrag für Elijamah

Beiträge: 6
Registriert: 13.11.2012

erstellt am: 14. Nov. 2012 08:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Manu_b 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von DasDon an!   Senden Sie eine Private Message an DasDon  Schreiben Sie einen Gästebucheintrag für DasDon

Beiträge: 169
Registriert: 25.07.2011

R18 SP2. WIN

erstellt am: 14. Nov. 2012 09:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Manu_b 10 Unities + Antwort hilfreich

moin,

evtl Tools->Options->General->Display->Navigation->Navigation->Annimation during viewpoint modification deaktivieren.
Gruß,
DasDon

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Elijamah
Mitglied


Sehen Sie sich das Profil von Elijamah an!   Senden Sie eine Private Message an Elijamah  Schreiben Sie einen Gästebucheintrag für Elijamah

Beiträge: 6
Registriert: 13.11.2012

erstellt am: 14. Nov. 2012 13:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Manu_b 10 Unities + Antwort hilfreich

Perfekt. Danke, dass war das Problem!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz