994x
004927
2021-02-04

Вопрос

Как можно с помощью интерфейса COM применить к поверхности температурную нагрузку?


Ответ:

Поскольку температурная нагрузка является одним из типов нагрузки на поверхность, она применяется так же, как и все остальные нагрузки на поверхность. То есть, сначала нужно получить интерфейс к модели, затем к нагрузкам и наконец к специальному загружению:

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

Для постоянной температурной нагрузки используются параметры «Magnitude1» и «Magnitude4», где Tc - это Magnitude1, а dT - Magnitude4. В случае переменных нагрузок потом используются для остальных угловых точек Tc параметры Magnitude2 и Magnitude3, а для dT - Magnitude5 и Magnitude6.