408x
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.