Вопрос:
Как можно с помощью интерфейса 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.