941x
004499
2020-07-10

Pregunta

¿Cómo puedo abrir y cerrar RFEM/RSTAB en segundo plano a través de la interfaz COM?


Respuesta:

Al inicializar una variable del tipo Aplicación (interfaz) con "nuevo", se inicia RFEM/RSTAB en segundo plano. Con esta variable, también puede crear un nuevo modelo usando el método "CreateModel", o cerrar el programa usando el comando "Cerrar".

El siguiente ejemplo muestra cómo iniciar RSTAB, crear un modelo con un nudo en el programa y cerrar el programa:


Sub RSTAB_open_close ()

Atenuar nombre de archivo como cadena
filename = Application.ActiveSheet.Cells (7, 3)

' iniciar rfem
Atenuar iApp como RSTAB8.
Establecer iApp = New RSTAB8.Application

iApp.LockLicense
iApp.Show

En caso de error, vaya a E

' crear modelo
Dim iMod como RSTAB8.IModel2
Establecer iMod = iApp.CreateModel (nombre de archivo)
    
' agregar datos al modelo
Dim nd As RSTAB8.Node
nd.no = 10
nd.X = 1
nd.Y = 2
nd.Z = 3
    
Atenuar iModdata como RSTAB8.iModelData
Establecer iModdata = iMod.GetModelData
    
iModdata.PrepareModification
iModdata.SetNode nd
iModdata.FinishModification
    
iMod.Save nombre de archivo


E: If Err.Number <> 0 Then MsgBox Err.description`` Err.Source
    
Establecer iModdata = Nothing
Establecer iMod = Nada
iApp.UnlockLicense
iApp.Close
Establecer iApp = Nada
    
End Sub


El comando "iApp.Show" es opcional. Esto permite mostrar el programa normalmente, no en segundo plano.

En Descargas, puede encontrar una macro de Excel con las subrutinas para RFEM y RSTAB.

Tenga en cuenta que la carpeta donde se crea el archivo debe existir.