1720x
001477
14.09.2017

Interface COM en VBA | 4.2 Optimisation du portique

Processus d'optimisation

L'objectif est de transférer uniquement les barres d'une certaine section vers le calcul de RF-/STEEL EC3. Dans l'exemple suivant, toutes les barres de section « IPE 300 » doivent être optimisées. Les numéros de barre sont supposés connus.

L'optimisation dans RF-STEEL EC3 est effectuée à partir des efforts internes calculés précédemment dans RFEM. Cela signifie que les rigidités modifiées par les changements de section dans le module ne sont pas prises en compte. Cela présente l'avantage que l'optimisation est effectuée sans recalculer la structure. Ainsi, celle-ci peut être faite très rapidement. L'inconvénient est qu'en raison de la rigidité modifiée, une redistribution peut se produire, ce qui peut également entraîner des efforts internes considérablement modifiés. Ainsi, la section optimisée peut être surchargée.

Pour une optimisation efficace, il est utile de toujours optimiser seulement quelques sections dans le module, puis de transférer les nouvelles sections vers RFEM et de contrôler à nouveau le résultat dans le module.

Activation de l'optimisation dans RF-STEEL EC3

Pour optimiser une section dans le module, vous devez activer cette option pour chaque section. Contrairement au fonctionnement manuel du programme, il est impossible de sélectionner la manière dont l'optimisation est effectuée. Il est seulement possible de sélectionner si l'optimisation doit être effectuée. Pour activer cette option, les sections doivent être recherchées selon la description. Vous pouvez également rechercher le numéro de la section. Si une correspondance est trouvée, la section correspondante est modifiée et transférée vers le module. Ensuite, la boucle est interrompue car une seule section est examinée dans ce cas.

' Définir l'optimisation pour la section souhaitée

Dim iStec3_cs As STEEL_EC3.CROSS_SECTION
count = iStec3Case.moGetCrossSectionsCount
Dim crsc_ec3_idx As Long
crsc_ec3_idx = -1

For i = 0 To count - 1
 iStec3_cs = iStec3Case.moGetCrossSection(i, AT_INDEX)
 If InStr(LCase(iStec3_cs.Description), LCase(crsc_desc)) > 0 Then
  iStec3_cs.Optimization = True
  iStec3Case.moSetCrossSection i, AT_INDEX, iStec3_cs
  crsc_ec3_idx = i
  Exit For
 End If
Next i

' Définir l'optimisation pour la section souhaitée
iStec3Case.moCalculate

Une fois l'optimisation activée, le calcul du cas du module démarre.

Transfert d'une section vers RFEM

La section est transférée à l'aide du numéro de section. Pour cela, vous devez obtenir l'interface de la section RFEM, puis entrer un nouveau TextID ou un nouvel identifiant de section. RFEM reconnaît l'identifiant et obtient la section correspondante de la bibliothèque après le transfert.

' Transférer la section dans RFEM
' Obtenir une nouvelle description de la section depuis RF-STEEL EC3
iStec3_cs = iStec3Case.moGetCrossSection(crsc_ec3_idx, AT_INDEX)

' Obtenir l'interface de la section et les propriétés de RFEM
Dim iCrsc As RFEM5.ICrossSection
Set iCrsc = iModelData.GetCrossSection(crsc_no, AtNo)
Dim crsc As RFEM5.CrossSection
crsc = iCrsc.GetData

' Modification d'une section en section de RF-STEEL EC3
crsc.Description = ""
crsc.TextID = iStec3_cs.Description

' Transfert des propriétés de section
iModelData.PrepareModification
iCrsc.SetData crsc
iModelData.FinishModification

Résumé

Dans le cas de structures récurrentes en particulier, l'option d'optimisation de RF-/STEEL EC3 facilite le travail. Il est important de vérifier la structure avec les sections optimisées en la recalculant dans RFEM. Un processus itératif serait facilement réalisable à l'aide de l'interface COM. L'optimisation automatisée peut ainsi faciliter et accélérer considérablement le flux de travail.


Auteur

M. Günthel fournit une assistance technique aux clients de Dlubal Software.

Liens
Téléchargements