443x
003570
10.09.2019

Question

Est-il possible de créer des libérations nodales via l'interface COM ?


Réponse:

Oui, il est possible de créer des libérations nodales via l'interface COM. Voici un exemple :

Sub nodal_release()

    Dim iApp As RFEM5.Application
    Dim iModel As RFEM5.model
    
    On Error GoTo e
    
        Set iApp = GetObject(, "RFEM5.Application")
        iApp.LockLicense
        
        test = iApp.GetModelCount
        Set iModel = iApp.GetModel(0)
        
        Dim iModeldata As RFEM5.iModeldata
        Set iModeldata = iModel.GetModelData
        
        
        '   for setting a nodal release a member hinge is needed
        '   the object for the axis system could not be the same with the released one
        Dim nodRel As NodalRelease
        nodRel.Location = OriginalLocationType
        nodRel.AxisSystem = LocalFromLine
        nodRel.AxisSystemFromObjectNo = 2
        nodRel.Comment = "test nodal release"
        nodRel.MemberHingeNo = 1
        nodRel.NodeNo = 1
        nodRel.ReleasedMembers = 1
        
        iModeldata.PrepareModification
        iModeldata.SetNodalRelease nodRel
        iModeldata.FinishModification
        
        
e:      If Err.Number <> 0 Then MsgBox Err.description, , Err.Source
    
    iApp.UnlockLicense


End Sub


Veuillez noter que le système d'axes local ne peut pas faire référence aux mêmes éléments que ceux qui sont libérés.