996x
004927
2021-02-04

Pergunta

Como é que posso aplicar uma carga de temperatura a uma superfície utilizando a interface COM?


Resposta:

Uma carga de temperatura é um tipo de carga de superfície e, portanto, é aplicada como todas as outras cargas de superfície. Para fazer isso, é necessário primeiro obter a interface para o modelo, depois para as cargas e, finalmente, para o caso de carga especial:

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

Para uma carga de temperatura constante, são utilizados os parâmetros Magnitude1 e Magnitude4, admitindo que Tc é Magnitude1 e dT é Magnitude4. Se for aplicada uma carga variável, Magnitude2 e Magnitude3 são utilizados para os outros pontos de canto para Tc e, de forma idêntica, Magnitude5 e Magnitude6 para dT.