Základy
Prut v RFEMu se skládá z několika prvků, které jsou více či méně na sobě závislé. Pokud některý z těchto prvků chybí, nelze prut vytvořit. Je třeba respektovat následující strukturu.
Aby bylo možné vytvořit tento typ prvku, je třeba získat rozhraní pro statická data:
'Získat rozhraní pro data modelu.
Dim iModelData As iModelData Set iModelData = iModel.GetModelData ()
Toto rozhraní umožňuje konečný přenos dat do programu RFEM.
Editační režim
Jakmile je třeba upravit nebo vytvořit data v programu RFEM, je třeba přepnout do režimu úprav. Například v tomto režimu nelze provádět žádné výpočty a přenesená data jsou k dispozici až po ukončení režimu. Metodu PrepareModification () je třeba přepnout do režimu úprav a ukončit režim FinishModification ():
'Převzít prvky do režimu úprav.iModelData.PrepareModification'...iModelData.FinishModification
Vytvoření prvku
Cílem je vytvořit prut s průřezem IPE 100 a konstrukční ocelí S235 z bodu P0 (0,0,0) do bodu P1 (1,0,0). Nejdříve je třeba vytvořit uzly. V následujícím příkladu je použito pole, protože představuje největší flexibilitu při dalších úpravách programu:
'Vytvořit uzly.Dim nodeList (0 Komu 1)As RFEM5.NodenodeList (0) .RefObjectNo = 0nodeList (0) .No = 1nodeList (0) .X = 0 #nodeList (0) .Y = 0 #nodeList (0) .Z = 0 #
nodeList (1) .RefObjectNo = 0nodeList (1) .No = 2nodeList (1) .X = 1 #nodeList (1) .Y = 0 #nodeList (1) .Z = 0 #
iModelData.PrepareModificationiModelData.SetNodes nodeListiModelData.FinishModification
Jak jsme již zmínili výše, pole včetně dat z uzlů se přenáší metodami PrepareModification () a FinishModification (). Pro číslování je důležitá tato skutečnost: Pokud se má přenést nový prvek, který již obsahuje referenční čísla, stávající prvky se nepřepíšou, ale prvek se přidá na konec seznamu. Pokud zadáme nulu, prvek se automaticky nastaví na další volné místo.
Proces vytváření linií je obdobný, samozřejmě s menším rozdílem v odkazu na uzly. Seznam uzlů se přenáší jako řetězec přesně jako v programu RFEM:
'Vytvořit linie.Dim lineList (0 Komu 0) As RFEM5.LinelineList (0) .nodeList = "1,2"lineList (0) .Type = LineType.PolylineType
'Převzít prvky do režimu úprav.iModelData.PrepareModificationiModelData.SetLines lineListiModelData.FinishModification
Úprava prvků
Pro vytvoření průřezu je třeba nejdříve vytvořit materiál. V novém modelu RFEM se vždy použijí materiály z dříve vytvořeného modelu. Aby bylo zajištěno použití příslušného materiálu, je třeba všechny stávající materiály smazat nebo změnit. Smazání všech existujících materiálů a vytvoření nového materiálu je v tomto případě nejjednodušší. Na rozdíl od vytváření nových prvků je třeba v případě smazání nebo změny aktivovat rozhraní jednotlivých prvků. Jedná se o následující kroky:
'Zjistit počet existujících materiálů.Dim num Jako celé číslonum = iModelData.GetMaterialCount
'Smyčka přes stávající materiály.iModelData.PrepareModificationDim iJako celé čísloFor i = 0Komu num - 1'Dostaňte rozhraní k materiálu. Dim iMat As RFEM5.IMaterial Set iMat = iModelData.GetMaterial (i, AtIndex)'Smazat materiál. iMat.DeleteNext iiModelData.FinishModification
Rozhraní materiálu lze získat buď pomocí příslušného čísla materiálu (AtNo), nebo pomocí indexu v seznamu všech materiálů. Na rozdíl od čísla materiálu začíná index na nule a nemá žádné mezery.
Dokončení prutu
Po smazání všech materiálů můžete vytvořit nový materiál. Stejně jako v programu RFEM je i zde možné přenášet materiál pomocí názvu přímo z databáze materiálů. Za tímto účelem se pomocí vlastnosti TextID zadá příslušný řetězec (více viz RF -COM 5.chm v SDK):
'Vytvořit nový materiál z databáze materiálů.Dim rohože (0 Komu 0) As RFEM5.Materiálmats (0) .TextID = "NameID | Steel S 235 @ TypeID | STEEL @ StandardID | DIN EN 1993-1-1-10"mats (0) .No = 1
'Převzít prvky do režimu úprav.iModelData.PrepareModificationPodložky iModelData.SetMaterialsiModelData.FinishModificationPrůřez se vytvoří stejným způsobem jako materiál. Dále se uvede číslo materiálu:'Vytvořit nový průřez z databáze.Dim crs (0 Komu 0) As RFEM5.CrossSectioncrs (0) .TextID = "IPE 100"crs (0) .MaterialNo = 1crs (0) .No = 1
'Převzít prvky do režimu úprav.iModelData.PrepareModificationiModelData.SetCrossSection crsiModelData.FinishModificationProtože byly vytvořeny všechny prvky prutu, lze prut převést nyní:'Vytvořit nový prut.Dim mems (0 Komu 0) As RFEM5.Membermems (0) .LineNo = 1mems (0) .StCartCrossSectionNo = 1mems (0) .No = 1
'Převzít prvky do režimu úprav.iModelData.PrepareModificationiModelData.SetMembers memsiModelData.FinishModification
Stejně jako v programu RFEM i zde stačí zadat průřez na začátku prutu. Vytvoření kloubu na konci prutu není nutné, protože se automaticky předpokládá, že je tuhý.
Optimalizace
Režim úpravy byl dosud načten pro každý prvek zvlášť. Chcete-li zvýšit rychlost zpracování dat, můžete převést všechny prvky do jednoho režimu úprav, Výjimku tvoří mazání materiálů a vytváření nových materiálů. V takovém případě je nutné použít dva oddělené bloky, protože v jednom bloku nelze mazat a vytvářet prvky:
'Smazat prvky v režimu úprav.iModelData.PrepareModificationDim iJako celé čísloFor i = 0Komu num - 1 'Dostaňte rozhraní k materiálu. Dim iMat As RFEM5.IMaterial Set iMat = iModelData.GetMaterial (i, AtIndex) 'Smazat materiál. iMat.DeleteNext iiModelData.FinishModification
'Převzít prvky do režimu úprav.iModelData.PrepareModification
iModelData.SetNodes nodeListiModelData.SetLines lineListPodložky iModelData.SetMaterialsiModelData.SetCrossSection crsiModelData.SetMembers mems
iModelData.FinishModification
Shrnutí a výhled
Postupy vysvětlené v tomto článku tvoří základ pro všechny konstrukční prvky, které lze přenášet pomocí COM. Výjimkou jsou nelineární pruty nebo uzlové podpory, které zahrnují další vnoření. Tyto prvky budou vysvětleny v následujících článcích této řady.