Wir geben Ihnen Hinweise und Tipps, die Ihnen den Einstieg in das Basisprogramm RFEM erleichtern.
[EN] FAQ 004688 | Wie kann ich über die COM-Schnittstelle die FE-Netz Einstellungen ändern?
Video
Erste Schritte mit RFEM
Frage
Wie kann ich über die COM-Schnittstelle die FE-Netz Einstellungen ändern?Antwort
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.
Schlüsselwörter
Dlubal FAQ COM FE-Netz Netz Mesh Häufig gestellte Frage FAQ zu Dlubal Frage und Antwort zu Dlubal
Links
Schreiben Sie einen Kommentar...
Schreiben Sie einen Kommentar...
- Aufrufe 174x
- Aktualisiert 6. November 2020
Kontakt
Haben Sie Fragen zu unseren Produkten oder brauchen Sie einen Rat zur Auswahl der Produkte zur Bearbeitung Ihrer Projekte? Kontaktieren Sie uns über unseren kostenlosen E-Mail-, Chat- bzw. Forum-Support oder nutzen Sie die häufig gestellten Fragen (FAQs) rund um die Uhr.