[EN] FAQ 004688 | Wie kann ich über die COM-Schnittstelle die FE-Netz Einstellungen ändern?

Erfahren Sie bequem, wie mit Dlubal-Programmen gearbeitet wird.

  • Dlubal Software | Videos

Video

Erste Schritte mit RFEM

Erste Schritte

Wir geben Ihnen Hinweise und Tipps, die Ihnen den Einstieg in das Basisprogramm RFEM erleichtern.

1. September 2020

001807

Thomas Günthel

Please accept marketing-cookies to watch this video.

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 data
Dim iModel As RFEM5.model
Set 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.UnlockLicense
End 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

Kontakt zu Dlubal

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.

+49 9673 9203 0

info@dlubal.com