Liebe Gemeinde,
ich plage mich gerade mit einem Problem beim Schreiben von User Attributen welches beim Wechsel von NX8.5 auf 9.0 aufgetaucht ist.
Der folgende (vereinfachte) code funktioniert unter 8.5:
... die Funktion bekommt the_Object als NXObject
Code:
Dim att As New NXObject.AttributeInformation
att.Category = "MyAttributes"
att.Title = "Example"
att.Type = NXObject.AttributeType.Real
att.RealValue = 15.7
att.Unit=Nothing
the_Object.SetUserAttribute(att, Update.Option.Now)
Beim Wechsel zu NX9.0 bekomme ich ein Internal Error: memory access violation
Habe inzwischen rausgefunden, daß es mit der Tatsache zu tun hat, daß ich eine dimensionsloses Attribut schriebe, also AttributeInformation.Unit auf Nothing gesetzt ist.
Das ganze läuft unter 9.0 plötzlich wenn ich die betreffende Zeile wie folgt abändere:
Code:
att.Unit=NXWorkPart.UnitCollection.FindObject("MilliMeter")
Das ist leider noch keine Lösung für mich. Wenn das Attribut nämlich shcon exisitert (aus einem alten Projekt welches unter NX8.5 erstellt wurde) und ich nur den Wert der Variablen ändern möchte, dann krieg ich eine Fehlermeldung weil ich die Einheit von "Dimensionslos" auf "mm" wechsle.
Hat vielleicht irgend jemand eine Idee ?
Romanoir
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP