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.