API - Réduction inertie barres BA

API - Réduction inertie barres BA

maxime.rondy
Contributor Contributor
696 Visites
2 Réponses
Message 1 sur 3

API - Réduction inertie barres BA

maxime.rondy
Contributor
Contributor

Bonjour,

 

Je cherche à automatiser (API VBA) la modification des paramètres des sections des barres BA.

Mon objectif est de pouvoir modifier à la volée les coefficients de réduction d'inertie des barres BA.

 

L'affectation des coefficients de réduction se fait correctement, pour autant, le logiciel ne corrige pas les inerties (il ne tient pas compte des ces coefficients).

Comment puis-je forcer la bonne prise en compte des paramètres ?

 

Pour cela, j'ai créer le morceau de code VBA suivant :

Sub BAR_PARAM()

    'Déclaration des variables RSA
    Dim robapp As IRobotApplication
    Dim lab_serv As IRobotLabelServer
    Dim sec As IRobotLabel
    Dim data As IRobotBarSectionData
    
    'Déclaration des variables
    Dim i As Long
    Dim sec_name As String, sec_mat As String
    Dim sec_coef_Ix As Double, sec_coef_Iy As Double, sec_coef_Iz As Double

    'Initialisation RSA
    Set robapp = New RobotApplication
    Set lab_serv = robapp.Project.Structure.Labels
    
    'Boucle
    For i = 1 To 100
        sec_name = Cells(1 + i, 1)
        If sec_name <> "" Then
            sec_mat = Cells(1 + i, 11)
            sec_coef_Ix = Cells(1 + i, 12)
            sec_coef_Iy = Cells(1 + i, 13)
            sec_coef_Iz = Cells(1 + i, 14)
            Set sec = lab_serv.Get(I_LT_BAR_SECTION, sec_name)
            Set data = sec.data
            If data.IsConcrete = True Then
                data.MaterialName = sec_mat
                data.concrete.SetReduction True, sec_coef_Ix, sec_coef_Iy, sec_coef_Iz
                lab_serv.Store sec
            End If
        End If
    Next i
    
    'Finalisation
    Set data = Nothing
    Set sec = Nothing
    Set lab_serv = Nothing
    Set robapp = Nothing
    
End Sub

Ci-dessous, les paramètres et caractéristiques obtenus :Paramètres et caractéristiqueParamètres et caractéristique

Merci par avance.

Cordialement,

 

Maxime Rondy

0 J'aime
Solutions acceptées (1)
697 Visites
2 Réponses
Replies (2)
Message 2 sur 3

Guillaume.Chazal
Autodesk Support
Autodesk Support
Solution acceptée

Bonjour,

Je pense qu’il manque une instruction après l’assignation des coefficients de réduction.

Après la ligne :

 data.concrete.SetReduction True, sec_coef_Ix, sec_coef_Iy, sec_coef_Iz

Ajoutez:

data.Concrete.CalcGeometry

J’ai testé de mon côté, cela semble fonctionner.

 

Si la réponse vous convient et que celle-ci a résolu votre soucis, merci de cliquer sur le bouton "Accepter la solution".
Cela permettra aux autres utilisateurs de trouver des solutions plus rapidement.
Merci

Cordialement



Guillaume Chazal
Message 3 sur 3

maxime.rondy
Contributor
Contributor

Bonjour,

 

Réponse rapide et qui solutionne parfaitement mon problème.

Merci beaucoup.

 

Cordialement,

 

Maxime Rondy

0 J'aime