Die allgemeinen FE-Netzeinstellungen können mit Hilfe des Interfaces IFeMeshSettings modifziert werden. Dieses Interface ist unter IModel > IModelData > ICalculation lokalisiert. Welche Elemente verändert/ausgelesen werden können, ist in Abbildung 01 dargestellt.
Hier noch ein Codebeispiel, bei dem die angestrebte Länge der FE-Elemente auf 100mm gesetzt wird. Zudem wird noch die Teilung der Stäbe mit der gleichen Elementgröße aktiviert und die Mindestteilung auf 3 Elemente festgelegt:
Sub mesh_params()
Dim iApp As RFEM5.Application
' get interface for model dataDim iModel As RFEM5.modelSet iModel = GetObject(, "RFEM5.Model")
On Error GoTo e
If Not iModel Is Nothing Then ' get interface for application and lock licence Set iApp = iModel.GetApplication() iApp.LockLicense ' get interface for model dat Dim iModdata As RFEM5.IModelData2 Set iModdata = iModel.GetModelData ' get interface for calculation Dim iCalc As RFEM5.ICalculation2 Set iCalc = iModel.GetCalculation() ' get interface for mesh settings Dim iMeshSet As RFEM5.IFeMeshSettings Set iMeshSet = iCalc.GetFeMeshSettings ' get general mesh settings Dim meshGen As RFEM5.FeMeshGeneralSettings meshGen = iMeshSet.GetGeneral meshGen.ElementLength = 0.1 ' set new general mesh settings iModdata.PrepareModification iMeshSet.SetGeneral meshGen iModdata.FinishModification ' get mesh member settings Dim meshMem As RFEM5.FeMeshMembersSettings meshMem = iMeshSet.GetMembers meshMem.DivideStraightMembers = True meshMem.ElementLength = 0.1 meshMem.MinStraightMemberDivisions = 3 ' set new mesh member settings iModdata.PrepareModification iMeshSet.SetMembers meshMem iModdata.FinishModification iApp.UnlockLicenseEnd If
e: If Err.Number <> 0 Then MsgBox Err.description, , Err.Source End If iApp.UnlockLicense Set iApp = Nothing Set iModel = Nothing
End Sub
Die Subroutine wird zudem wieder mit einer Fehlerabfangroutine (On Error GoTo e) ergänzt und wie auch bei der Modifikation anderer Elemente ist wieder ein Prepare-/FinishModification-Block nötig. Hier wird der Block über das Interface IFeMeshSettings erzeugt.