- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Melden
Guten Morgen liebe Gemeinde, 🙂
ich bräuchte einmal Hilfe von jemanden der sich richtig mit Ilogic auskennt. Sollte jemand eine alternative Methode kennen bin ich für jeden Ansatz dankbar. 😋
!Bitte Ergänzung unten beachten!
Beispielcode
Sub Main()
' Pfad für Protokoll
Dim logFile As String
logFile = "D:\Z_Skripte\DateiExport\SurfaceFaces_Color_Protokoll.txt"
' Aktives Bauteil
Dim oPartDoc As PartDocument
oPartDoc = ThisApplication.ActiveDocument
Dim oPartDef As PartComponentDefinition
oPartDef = oPartDoc.ComponentDefinition
' Gewünschte Appearance
Dim appearanceName As String
appearanceName = "Rot" ' <-- hier anpassen
' Appearance als Asset holen
Dim oAsset As Asset
oAsset = oPartDoc.Assets.Item(appearanceName)
' Protokoll vorbereiten
Dim logText As String
logText = "Protokoll der gefärbten Flächen: " & vbCrLf & vbCrLf
Dim oBody As SurfaceBody
Dim oFace As Face
Dim faceCount As Integer
faceCount = 0
' Surface Bodies durchlaufen
For Each oBody In oPartDef.SurfaceBodies
logText = logText & "Surface Body: " & oBody.Name & vbCrLf
For Each oFace In oBody.Faces
oFace.Appearance = oAsset
faceCount = faceCount + 1
logText = logText & " Face: " & oFace.InternalName & " gefärbt." & vbCrLf
Next
logText = logText & vbCrLf
Next
logText = logText & "Gesamtzahl gefärbter Flächen: " & faceCount & vbCrLf
' Protokoll speichern
System.IO.File.WriteAllText(logFile, logText)
MessageBox.Show("Färben abgeschlossen: " & faceCount & " Flächen." & vbCrLf & _
"Protokoll: " & logFile)
End Sub
---------------------------------------------------------------------------------------------------
Sub Main()
' Pfad für Protokoll
Dim logFile As String
logFile = "D:\Z_Skripte\DateiExport\SurfaceFaces_Color_Protokoll.txt"
' Aktives Bauteil
Dim oPartDoc As PartDocument
oPartDoc = ThisApplication.ActiveDocument
Dim oPartDef As PartComponentDefinition
oPartDef = oPartDoc.ComponentDefinition
' Appearance wählen
Dim appearanceName As String
appearanceName = "Rot" ' <-- hier den gewünschten Namen ändern
Dim oAppearance As Appearance
oAppearance = oPartDoc.Appearances.Item(appearanceName)
' Protokoll vorbereiten
Dim logText As String
logText = "Protokoll der gefärbten Flächen: " & vbCrLf & vbCrLf
' Surface Bodies durchlaufen
Dim oBody As SurfaceBody
Dim oFace As Face
Dim faceCount As Integer
faceCount = 0
For Each oBody In oPartDef.SurfaceBodies
logText = logText & "Surface Body: " & oBody.Name & vbCrLf
For Each oFace In oBody.Faces
oFace.Appearance = oAppearance
faceCount = faceCount + 1
logText = logText & " Face: " & oFace.Name & " gefärbt." & vbCrLf
Next
logText = logText & vbCrLf
Next
logText = logText & "Gesamtzahl gefärbter Flächen: " & faceCount & vbCrLf
' Protokoll speichern
System.IO.File.WriteAllText(logFile, logText)
MessageBox.Show("Färben abgeschlossen. Gesamt: " & faceCount & " Flächen." & vbCrLf & _
"Protokoll gespeichert unter: " & logFile)
End Sub
Würde mich freuen wenn jemand einen Ansatz hat.
Grüße und schönen Tag....
Anlagenplanung and Design
INTEC Engineering GmbH
76646 Bruchsal
Gelöst! Gehe zur Lösung