Guten Morgen!
Habe nun eine alternative Möglichkeit gefunden die Messung umzusetzen. Mittels Skript erstelle ich einen Parameter vom Typ length und weisen ihn über eine erstellte Formel das Ergebnis einer Abstandsmessung zu. Die zu vermessenden Bodies werden über eine Selektion ausgewählt und in einer Schleife der Messung zugefügt.
Hier ist die Abstandsmessung zwischen Bodies zwar möglich, allerdings nimmt das automatisierte Erstellen und Löschen der Parameter und Formeln in der Schleife eine gewisse Zeit in Anspruch. Wäre schön wenn´s schneller gehen würde...
Hier mein Skript:
Sub CATMain()
Dim partDocument1 As PartDocument
Set partDocument1 = CATIA.ActiveDocument
Dim part1 As Part
Set part1 = partDocument1.Part
Dim bodies1 As Bodies
Set bodies1 = part1.Bodies
Dim body1 As Body
Set body1 = bodies1.Item("Koerper_1")
Dim body2 As Body
Dim koerperselektion As Selection
Set koerperselektion = partDocument1.Selection
koerperselektion.Clear
Dim parameters1 As Parameters
Set parameters1 = part1.Parameters
Dim relations1 As Relations
Set relations1 = part1.Relations
Dim length1 As Length
Dim Messformel As Formula
koerperselektion.Search "(CATPrtSearch.BodyFeature),all"
For I = 1 To koerperselektion.Count
Set body2 = koerperselektion.Item(I).Value
On Error Resume Next
If body2.InBooleanOperation = False Then
Set length1 = parameters1.CreateDimension("Messung" & I, "LENGTH", 0)
Set Messformel = relations1.CreateFormula("computedistance" & I, "Berechnet den Abstand zwischen Körpern", length1, "distance(" & body1.Name & " ," & body2.Name & " )")
If length1.Value = 0 Then
MsgBox ("Koerper_1 geschnitten von " & Koerper(I).Name)
End If
parameters1.Remove ("Messung" & I)
End If
Next
part1.Update
End Sub
[Diese Nachricht wurde von Steefle am 16. Jun. 2006 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP