1024x
001571
2020-07-20

[EN] KB 001639 | Transformacja żebra na model powłokowy oraz belkę wynikową za pomocą języka programowania VBA

Temat:
Transformacja żebra na model powłokowy oraz belkę wynikową za pomocą języka programowania VBA

Uwagi:
Jeżeli żebro w stropie jest elementem konstrukcji obliczanej nieliniowo lub jest sztywno zamocowane w ścianach dochodzących, do jego modelowania należy użyć powierzchni zamiast pręta. Aby żebro nadal mogło być zaprojektowane jako element prętowy, należy zdefiniować belkę wynikową o prawidłowym mimośrodzie, która pozwala odczytać siły wewnętrzne w powłoce jako siły wewnętrzne dla równoważnego pręta.

Opis:
Ponieważ modelowanie żebra za pomocą powierzchni oraz belki wynikowej jest znacznie bardziej skomplikowane niż tworzenie pręta typu „żebro”, poniżej przedstawiono program w EXCEL-VBA, który pozwala przekształcić żebro zamodelowane prętem na model powłokowy i stosowną belkę wynikową.

Aby przekształcić żebro w model powłokowy, należy wykonać następujące kroki:

1.
Odczytać parametry żebra (przekrój, orientację itd.)
Drugi
Tworzenie powierzchni żebra
3.
utworzyć belkę wynikową
4.
Usunąć żebro

Poniżej, w opisie procedury krok po kroku, zaprezentujemy fragmenty kodu źródłowego. Pełny kod można pobrać na końcu tego artykułu.

Odczytanie parametrów żebra

Użytkownik może wskazać żebro, które ma zostać przekształcone na powłokę, wybierając je z poziomu interfejsu programu. W tym celu konieczna jest praca z funkcją EnableSelections. Dopóki EnableSelections jest aktywowane za pomocą wartości true, tylko elementy wybrane przez użytkownika są odczytywane z programu RFEM. Wynik odczytania danych wybranego pręta wygląda następująco.

'pozyskaj interfejs aktywnego modelu
Set iMod = iApp.GetActiveModel

'pozyskaj interfejs danych (konstrukcyjnych) z modelu
Dim iModData As RFEM5.IModelData2
Set iModData = iMod.GetModelData

'pozyskaj wybrany pręt
iModData.EnableSelections True

Dim mems () As RFEM5.Member
Dim selMem As RFEM5.Member
mems = iModData.GetMembers
selMem = mems (0)

iModData.EnableSelections False

Do modelowania żebra jako powłoki wymagane są następujące parametry:

Przekrój żebra, numery powierzchni do której zostało przypisane oraz szerokości współpracujące
Orientacja żebra
Materiał, z którego wykonano żebro

W programie RFEM żebro jest typem pręta. Jeżeli programowanie odbywa się za pomocą interfejsu COM, dane dotyczące żebra należy pozyskać za pomocą dwóch różnych interfejsów (komend). Z jednej strony istnieje komenda dla pręta, z drugiej strony istnieje komenda dla żebra. Interfejs z żebrem można pozyskać poprzez komendę IModelData.GetRib. GetRib czeka na podanie numeru żebra zawartego w danych o pręcie poprzez Member.RibNo.

'pozyskaj parametry żebra
'#####################
Dim iRb As RFEM5.IRib
Set iRb = iModData.GetRib(selMem.RibNo, AtNo)

Dim selRb As RFEM5.Rib
selRb = iRb.GetData

Dim rbCrsc As RFEM5.RibCrossSection
rbCrsc = iRb.GetRibCrossSection

Interfejs z żebrem oferuje dwa różne elementy: ogólne dane żebra, dostępne za pomocą struktury Rib oraz dane o przekroju żebra za pomocą RibCrossSection. Struktura Rib zawiera numer powierzchni do której przypisano żebro, położenie żebra oraz szerokości efektywne. RibCrossSection zawiera opis i wymiary przekroju jaki przypisano do żebra. Jest to również przekrój wykorzystywany przez RF-CONCRETE Members (ITCU).

Dodatkowo wymagana jest informacja o orientacji, dostępna w odniesieniu do lokalnego układ współrzędnych pręta. Do układu osi można uzyskać dostęp poprzez interfejs pręta. Funkcja IMemer.GetLocalCoordinateSystem zwraca dane ze struktury CoordinateSystem.

Dim cosy As RFEM5.CoordinateSystem
cosy = iModData.GetMember (selMem.no, AtNo) .GetLocalCoordinateSystem (0 #). GetData

GetLocalCoordinateSystem oczekuje na położenie x pręta, które tutaj zostało ustawione na 0,0 lub w punkcie początkowym. Oprócz wymienionych parametrów wymagany jest również materiał z którego wykonano pręt. Informację tą można pozyskać poprzez przekrój pręta.

Dim selCrsc As RFEM5.CrossSection
selCrsc = iModData.GetCrossSection (selMem.StartCrossSectionNo, AtNo) .GetData

Tworzenie powierzchni żebra

Poniższy program początkowo stworzono tylko dla prostych żeber umiejscowionych po dodatniej stronie powłoki z. Ponieważ żebro może znajdować się również w płaszczyznach ukośnych, powierzchnię należy utworzyć za pomocą kierunku pręta. Zmienna „cosy” dla lokalnego układu osi pręta obejmuje wektor kierunku lokalnej osi z - „cosy.AxisZ” - wraz z trzema współrzędnymi x, y i z. Wektor ten jest znormalizowany tak, że po pomnożeniu przez wysokość żebra, wskazuje on odległość i kierunek dolnej krawędzi żebra od powierzchni. W przypadku linii granicznych powierzchni żebra powłokowego, wektor ten jest mnożony przez wysokość żebra i dodawany do węzła początkowego oraz końcowego pręta tworzącego żebro. W rezultacie powstają dwa węzły końcowe dolnej linii granicznej powierzchni żebra. Należy pamiętać, że: wysokość żebra obejmuje również połowę grubości powierzchni z którą jest połączone. Dla uproszczenia stosowana jest tylko grubość jednej półki przekroju teowego żebra (-y w lokalnym układzie osi pręta) - zmienna UpperLeftFlangeThickness. Po zwolnieniu węzłów można wygenerować granicę...