Hallo!
Hier ein paar Teile meines Makros. Zuerst die Variablen erzeugen:
Dim oDocuments As Documents
Dim oProductDocument As ProductDocument
Dim oProduct As Product
Dim Clashes1 As Clashes
Dim Clash_fix_versch As Clash
Dim oConflicts1 As Conflicts
Dim oConflict1 As Conflict
Dim FileNum As Integer
'Document,... zuweisen:
Set oDocuments = CATIA.Documents
Set oProductDocument = CATIA.ActiveDocument
Set oProduct = oProductDocument.Product
'Kollisionen im Product:
Set Clashes1 = oProduct.GetTechnologicalObject("Clashes")
'Kollisionsanalyse zuweisen mit Namen der VORHER
'definierten Kollisionsanalyse "Konflikt_1"
'(man kann natürlich auch eigene Kollisionen erzeugen,...)
Set Clash_fix_versch = Clashes1.Item(Konflikt_1)
'Kollisionen neu berechnen; evtl. vorher ein "oProduct.Update":
Clash_fix_versch.Compute
'Ergebnisse zuweisen:
Set oConflicts1 = Clash_fix_versch.Conflicts
'Kollisionen durchgehen, hier kann man natürlich auch die Ergebnisse
'direkt in Textdatei ausgeben:
For m = 1 To oConflicts1.Count
Set oConflict1 = oConflicts1.Item(m)
If oConflict1.Type = 0 Then
Value1 = oConflict1.Value
End If
Next m
'Dateien bearbeiten:
'für Windows-Systeme:
'Zugriff auf FileSystem-Objekt (Dateien bearbeiten: löschen, kopieren)
Set fs = CreateObject("Scripting.FileSystemObject")
'Datei öffnen und Ergebnisse hineinschreiben
FileNum = FreeFile()
Open "c:\Temp\ergebnis_konflikt.txt" For Output As FileNum
' "... For Append As FileNum", wenn man nur Ausgabe an bereits
' vorhandenen Dateiinhalt anhängt
Print #FileNum, "Wert" & Value1
Close #FileNum
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP