Die Verdrehung eines Knotenlagers wird mit Hilfe eines benutzerdefinierten Koordinatensystem durchgeführt. Im folgenden Beispiel wird ein Knotenlager um 45° um die z-Achse verdreht. Es ist dabei nicht erforderlich, über Knoten ein neues Koordinatensystem zu definieren. In diesem Fall genügt die Verwendung der Option RotatedSystemType, welches über die drei Verdrehungen um x-, y- und z-Achse eine räumliche Drehung des Lagers ermöglicht. Die Eingabe der Verdrehung erfolgt in Radiant:
Sub test_nodal_support()
Dim iApp As RFEM5.ApplicationSet iApp = GetObject(, "RFEM5.Application")
iApp.LockLicense
Dim iMod As RFEM5.IModel3Set iMod = iApp.GetActiveModel
On Error GoTo e
' get interface of modeldataDim iModData As RFEM5.IModelData2Set iModData = iMod.GetModelData
' get interface of nodal supportDim iNs As RFEM5.INodalSupportSet iNs = iModData.GetNodalSupport(1, AtNo)
' get nodal support dataDim ns As RFEM5.NodalSupportns = iNs.GetData
' modify datans.ReferenceSystem = UserDefinedSystemTypens.UserDefinedReferenceSystem.Axis1 = AxisXns.UserDefinedReferenceSystem.Axis2 = AxisYns.UserDefinedReferenceSystem.Type = RotatedSystemTypens.UserDefinedReferenceSystem.RotationAngles.X = 0ns.UserDefinedReferenceSystem.RotationAngles.Y = 0ns.UserDefinedReferenceSystem.RotationAngles.Z = 45 * 3.14159265359 / 180
' set nodal support dataiModData.PrepareModificationiNs.SetData nsiModData.FinishModification
e:
If Err.Number <> 0 Then MsgBox Err.description, vbCritical, Err.Source
iMod.GetApplication.UnlockLicenseSet iMod = Nothing
End Sub
Das Programm nimmt das vorhandene Knotenlager eins aus dem aktuell geöffneten Modell und modifiziert es. Da das benutzerdefinierte Koordinatensystem kein direkter Bestandteil des Interfaces INodalSupport vom Knotenlager ist, kann die Verdrehung selbstverständlich auch beim Anlegen eines Knotenlagers übergeben werden.