1024x
004499
10.07.2020

RSTAB/RFEM en arrière-plan via l'interface COM

Comment ouvrir et fermer RFEM/RSTAB en arrière-plan via l'interface COM ?


Réponse:

En initialisant une variable de type Application (interface) avec « new », RFEM/RSTAB est lancé en arrière-plan. Avec cette variable, vous pouvez également créer un nouveau modèle à l'aide de la méthode « CreateModel » ou fermer le logiciel à l'aide de la commande « Close ».

L'exemple suivant montre comment démarrer RSTAB, créer un modèle avec un nœud dans le logiciel et fermer le logiciel :

Sub RSTAB_open_close()

Dim filename As String
filename = Application.ActiveSheet.Cells(7, 3)

'   start rfem
Dim iApp As RSTAB8.Application
Set iApp = New RSTAB8.Application

iApp.LockLicense
iApp.Show

On Error GoTo E

    '   create model
    Dim iMod As RSTAB8.IModel2
    Set iMod = iApp.CreateModel(filename)
    
    '   add data to model
    Dim nd As RSTAB8.Node
    nd.no = 10
    nd.X = 1
    nd.Y = 2
    nd.Z = 3
    
    Dim iModdata As RSTAB8.iModelData
    Set iModdata = iMod.GetModelData
    
    iModdata.PrepareModification
    iModdata.SetNode nd
    iModdata.FinishModification
    
    iMod.Save filename


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

La commande « iApp.Show » est facultative. Cela permet d'afficher le logiciel normalement, pas en arrière-plan.

Sous Téléchargements, vous trouverez une macro Excel avec les sous-programmes pour RFEM et RSTAB.

Veuillez noter que le dossier dans lequel le fichier est créé doit exister.


Auteur

M. Günthel fournit une assistance technique aux clients de Dlubal Software.

Téléchargements


;