433x
003570
2019-09-10

Question

Is it possible to create nodal releases via the COM interface?


Answer:

Yes, it is possible to create the nodal releases via the COM interface. Here is an example:

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


Please note that the local axis system may not refer to the same elements as the ones that are released.