Moin,
ich habe folgendes macro im forum gefunden und brauche eine erweiterung:
Das bild wird hierbei nur aus i also 1.jpg 2.jpg ... usw. generiert.
Wie kann der aktuelle name der annotated view verwendet werden.
D.h. wenn die erste annotated view z.B. abcde.view heisst soll das resultierende bild
abcde.jpg sein.
'Diese nachfolgende zeile habe ich geändert, anstelle von i soll der Annotated view name stehen
Name = "/home/user1/" & i & ".jpeg"
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
'Diese nachfolgende zeile habe ich geändert, anstelle von i soll der Annotated view name stehen
Name = "/home/user1/" & i & ".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
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP