0x
004715
10.09.2020

Sélection d'objets via l'interface COM

Comment puis-je sélectionner des objets via l'interface COM ?


Réponse:

La fonction « SelectObjects » de l'interface IModelData (ou IModeldata2, etc.) permet de sélectionner les objets. Cette fonction a besoin du type d'objet et du/des numéro(s) d'objet sous forme de chaîne de caractères. Voici un court exemple :

Sub select_objects()

Dim model As RFEM5.model
Set model = GetObject(, "RFEM5.Model")
model.GetApplication.LockLicense

On Error GoTo e
    
    Dim iModdata As IModelData2
    Set iModdata = model.GetModelData
    
    '   enable Selections
    iModdata.EnableSelections True
    
    '   select nodes 2-3 and lines 1 and 3
    iModdata.SelectObjects ModelObjectType.NodeObject, "2-3"
    iModdata.SelectObjects ModelObjectType.LineObject, "1,3"
    
    '   deselect nodes and lines
    iModdata.SelectObjects ModelObjectType.NodeObject, ""
    iModdata.SelectObjects ModelObjectType.LineObject, ""
    
    
e:  If Err.Number <> 0 Then MsgBox Err.Description, , Err.Source

model.GetApplication.UnlockLicense
Set iModdata = Nothing
Set model = Nothing

End Sub

Les sélections sont activées dans la partie supérieure, puis les nœuds 2 à 3 ainsi que les lignes 1 et 3 sont sélectionnés. Les lignes et les nœuds sont ensuite désélectionnés à l'aide d'une chaîne vide.

Si vous souhaitez lire ou modifier les objets sélectionnés, vous devez utiliser la fonction « IModelData.EnableSelections » (également disponible dans le code ci-dessus). Si la fonction est appelée avec « True », seuls les nœuds sélectionnés sont lus avec la fonction « IModelData.GetNodes() », par exemple.


Auteur

Thomas traite au sein du Customer Support les demandes techniques relatives au logiciel. Il se familiarise de manière fiable avec différents sujets et développe des solutions adaptées.

Téléchargements


;