2.5k Aufrufe
Gefragt in Anwendungen(Java,C++...) von
Hallo,

ich bin totaler Anfänger und suche schon ne ganze Weile nach dem passenden Code um in einem komplexen CATIA V5 R18 Model alle Messwerte aus einem Part zu aktualisieren.
Mein Problem, ich geb über mein Makro verschiedene Konfigurationen von verschiedenen Konstruktions Tabellen vor, aktualisiere dann jedes mal mein Produkt bevor ich dann jedesmal die Messwerte in eine Excelltabelle schreib. Es tut alles, nur die Messwerte werden nicht mit aktualisiert.
jetzt hab ich schon verschiedenes ausprobiert.

Variante 1: über ausfiltern der Messwerte und den Befehl "CATIA.StartCommand "Lokale Aktualisierung"" funktioniert, dauert aber bei fast 300 Messwerten ewig

Set Document1 = CATIA.ActiveDocument
Set selection1 = Document1.selection
Set parameters1 = Document1.Product.parameters
For i = 1 To parameters1.Count
If parameters1.Item(i).UserAccessMode = 0 Then ' Prüfen ob Messung
If Right(parameters1.Item(i).ValueAsString, 2) = "mm" Then
selection1.Clear
selection1.Add parameters1.Item(i)
CATIA.StartCommand "Lokale Aktualisierung"
selection1.Clear
End If
End If
Next i

Dann hab ichs über FindObject versucht mit part.UpdateObject in der Hoffnung, dass der Befehl schneller geht. Hab vieles ausprobiert, bekomms aber nicht zum laufen.

Set parameters1 = Document1.Product.Parameters
For i = 1 To parameters1.Count
If parameters1.Item(i).UserAccessMode = 0 Then ' Prüfen ob Messung
If Right(parameters1.Item(i).ValueAsString, 2) = "mm" Then
selection1.Clear
selection1.Add parameters1.Item(i)
Set param = parameters1.Item(i).Value
Set part1 = Selection.FindObject("CATPart")

part1.UpdateObject param
selection1.Clear
End If
End If
Next i
Kann mir irgendjemand helfen?

vielen Dank schon mal,
Sarah

Deine Antwort

Dein angezeigter Name (optional):
Datenschutz: Deine Email-Adresse benutzen wir ausschließlich, um dir Benachrichtigungen zu schicken. Es gilt unsere Datenschutzerklärung.
Anti-Spam-Captcha:
Bitte logge dich ein oder melde dich neu an, um das Anti-Spam-Captcha zu vermeiden.
...