A rotação de um apoio de nó é definida por meio de um sistema de coordenadas definido pelo utilizador. No exemplo a seguir, um apoio de nó é rodado 45° sobre o eixo z. Não é necessário definir um novo sistema de coordenadas através de nós. Neste caso, é suficiente utilizar a opção RotatedSystemType, que permite uma rotação espacial do apoio através de três rotações em torno dos eixos x, y e z. A rotação é introduzida em radianos:
- código.vb#
Sub test_nodal_support()
Dim iApp As RFEM5.Application
Set iApp = GetObject(, "RFEM5.Application")
iApp.LockLicense
Dim iMod As RFEM5.IModel3
Set iMod = iApp.GetActiveModel
On Error GoTo e
' get interface of modeldata
Dim iModData As RFEM5.IModelData2
Set iModData = iMod.GetModelData
' get interface of nodal support
Dim iNs As RFEM5.INodalSupport
Set iNs = iModData.GetNodalSupport(1, AtNo)
' get nodal support data
Dim ns As RFEM5.NodalSupport
ns = iNs.GetData
' modify data
ns.ReferenceSystem = UserDefinedSystemType
ns.UserDefinedReferenceSystem.Axis1 = AxisX
ns.UserDefinedReferenceSystem.Axis2 = AxisY
ns.UserDefinedReferenceSystem.Type = RotatedSystemType
ns.UserDefinedReferenceSystem.RotationAngles.X = 0
ns.UserDefinedReferenceSystem.RotationAngles.Y = 0
ns.UserDefinedReferenceSystem.RotationAngles.Z = 45 * 3.14159265359 / 180
' set nodal support data
iModData.PrepareModification
iNs.SetData ns
iModData.FinishModification
e:
If Err.Number <> 0 Then MsgBox Err.description, vbCritical, Err.Source
iMod.GetApplication.UnlockLicense
Set iMod = Nothing
End Sub
#/code#
O programa retira o apoio de nó existente do modelo atualmente aberto e modifica-o. Uma vez que o sistema de coordenadas definido pelo utilizador não faz diretamente parte da interface INodalSupport do apoio de nó, a rotação também pode ser transferida ao criar um apoio de nó.