997x
004927
4. Februar 2021

Frage

Wie kann ich mit Hilfe der COM-Schnittstelle eine Temperaturlast auf eine Fläche aufbringen?


Antwort:

Eine Temperaturlast ist ein Flächenlasttyp und wird daher wie alle anderen Flächenlasten aufgebracht. Dazu muss zunächst die Schnittstelle zum Modell, dann zu den Lasten und dann zum speziellen Lastfall geholt werden:

Sub surface_temp_load_test()

'   get interface from the opened model and lock the licence/program
Dim iModel As RFEM5.IModel3
Set iModel = GetObject(, "RFEM5.Model")
iModel.GetApplication.LockLicense

On Error GoTo e

Dim iModelData As RFEM5.IModelData2
Set iModelData = iModel.GetModelData

Dim iLoa As RFEM5.iLoads
Set iLoa = iModel.GetLoads

Dim iLc As RFEM5.ILoadCase
Set iLc = iLoa.GetLoadCase(1, AtNo)

Dim surfLoad As RFEM5.SurfaceLoad

surfLoad.no = 1
surfLoad.Type = TemperatureType
surfLoad.Distribution = UniformType
surfLoad.SurfaceList = "1"
surfLoad.Magnitude1 = 10
surfLoad.Magnitude4 = 40

iLc.PrepareModification
iLc.SetSurfaceLoad surfLoad
iLc.FinishModification

e:  If Err.Number <> 0 Then MsgBox Err.description, , Err.Source

Set iModelData = Nothing
iModel.GetApplication.UnlockLicense
Set iModel = Nothing

End Sub

Für eine konstante Temperaturlast werden die Parameter Magnitude1 und Magnitude4 verwendet. Dabei ist Tc Magnitude1 und dT Magnitude4. Wenn eine veränderliche Last angelegt wird, werden für die weiteren Eckpunkte für Tc dann Magnitude2 und Magnitude3 verwendet und bei dT analog Magnitude5 und Magnitude6.