1721x
001477
14.9.2017

Rozhraní COM ve VBA | 4.2 Optimalizace rámu

Průběh optimalizace

Cílem je převést k posouzení v modulu RF-STEEL EC3 pouze pruty určitého průřezu. V následujícím příkladu se mají optimalizovat všechny pruty s průřezem „IPE 300“. Předpokládá se přitom, že známe čísla prutů.

Při optimalizaci v modulu RF-STEEL EC3 se vychází z vnitřních sil již spočítaných v programu RFEM. To znamená, že tuhosti, které se úpravou průřezů v modulu změní, se zpočátku nezohlední. Výhodou je, že optimalizace tak může proběhnout bez přepočítání konstrukce poměrně rychle. Nevýhodou je, že v důsledku změny tuhosti může dojít k redistribuci, která může mít značný vliv na vnitřní síly. Optimalizovaný průřez proto může být přetížen.

Má-li být optimalizace efektivní, je vhodné optimalizovat v modulu vždy jen několik málo průřezů a po následném převedení nových průřezů do programu RFEM znovu výsledek v modulu ověřit.

Aktivování optimalizace v modulu RF-STEEL EC3

Optimalizaci průřezu v modulu je třeba aktivovat u jednotlivých průřezů. Na rozdíl od ručního ovládání programu tu nelze stanovit, jak se má optimalizace provést, pouze zda se má provést. Pro aktivaci této volby je třeba nejdříve vyhledat průřezy podle označení. Průřezy lze hledat samozřejmě také podle čísla. V případě shody se příslušný průřez upraví a znovu převede do modulu. Pak se smyčka přeruší, protože v našem případě se vyšetřuje pouze jeden průřez:

  Nastavit optimalizaci u požadovaného průřezu

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

' Provést výpočet
iStec3Case.moCalculate

Po aktivování optimalizace se pak zahájí výpočet případu v modulu.

Převedení průřezu do programu RFEM

Průřez se převádí na základě svého čísla. K tomu se vyvolá rozhraní průřezu RFEM a zadá se nový TextID, respektive nový identifikátor průřezu. RFEM rozpozná identifikátor a po předání vyvolá příslušný průřez z databáze.

' Předat průřez do programu RFEM
' Vyvolat nové označení průřezu z modulu RF-STEEL EC3
iStec3_cs = iStec3Case.moGetCrossSection(crsc_ec3_idx, AT_INDEX)

' Vyvolat rozhraní a data průřezu z programu RFEM
Dim iCrsc As RFEM5.ICrossSection
Set iCrsc = iModelData.GetCrossSection(crsc_no, AtNo)
Dim crsc As RFEM5.CrossSection
crsc = iCrsc.GetData

' Změnit průřez na nový průřez z modulu RF-STEEL EC3
crsc.Description = ""
crsc.TextID = iStec3_cs.Description

' Předat data průřezu
iModelData.PrepareModification
iCrsc.SetData crsc
iModelData.FinishModification

Shrnutí

Zvláště u opakujících se konstrukcí přináší možnost optimalizace v modulu RF-/STEEL EC3 značné ulehčení práce. Konstrukci s optimalizovanými průřezy je důležité prověřit novým výpočtem v programu RFEM. COM rozhraní umožňuje iterační proces snadno provést. Tímto způsobem automatizovaná optimalizace znatelně zjednodušuje a urychluje pracovní postupy.


Autor

Ing. Günthel zajišťuje technickou podporu zákazníkům.

Odkazy
Stahování