Artykuł został przetłumaczony przez Google Translator

Podgląd oryginalnego tekstu

Jak mogę utworzyć przekrój za pomocą interfejsu COM?

Odpowiedź

Zasadniczo przekrój jest elementem, takim jak pręt, i jest tworzony w ten sam sposób. Najpierw wymagany jest interfejs do obiektów. W przypadku pręta byłby to IModelData, a dla przekrojów byłby to przekrój IS. Ten interfejs znajduje się w iModel3:

Sub test_section ()
'uzyskają interfejs z otwartego modelu i zablokują licencję/program
Dim iModel As RFEM5.IModel3
    Set iModel = GetObject(, "RFEM5.Model")
    iModel.GetApplication.LockLicense
    
W przypadku błędu przejść do E
    
Dim iSecs As RFEM5.ISections
Ustaw iSecs = iModel.GetSections ()

Wszystkie utworzone wcześniej sekcje są najpierw usuwane, a następnie tworzone są dwie nowe sekcje.
Pierwszy przekrój powinien być przekrojem pełnym, z widocznym polem przekroju (patrz Rysunek 01). Dane są wprowadzane w podobny sposób, jak w programie RFEM. Jako typ zostaje wybrana opcja „SectionOnSectionalArea“, punkty narożne przekroju są ustawione za pomocą „EdgePoint”, a „Wektor“ określa kierunek przekroju.

'najpierw usunąć wszystkie sekcje
iSecs.PrepareModification
iSecs.DeleteObjects („Wszystkie”)
iSecs.FinishModification
    
'ustawić przekrój na bryle
Dim sec As RFEM5
sEdgePointA.X = 2
sEdgePointA.Y = 5
secgeEdgePointA.Z = 0
sek.EdgePointB.X = 2
sek.EdgePointB.Y = 8
secEEgegePointB.Z = 0
    
sek. nr = 1
sec.Name = "przekrój bryłowy"
sec.Plane = GlobalPlaneInPositiveX
sec.ShowValuesInIsolines = False
sec.Type = SectionOnSolidSectionLine
sec.ObjectList = "1"
    
iSecs.PrepareModification
iSecs.SetSection ust
iSecs.FinishModification

Jak już wiadomo z innych elementów, nowa sekcja zostaje ostatecznie przeniesiona do bloku Prepare-/FinishModification. Jako drugi przekrój należy utworzyć przekrój powierzchni (patrz Rysunek 02). W tym celu konieczne jest zastosowanie typu „SectionViaSurfacePlane”. Oprócz wektora kierunku przekroju należy wybrać płaszczyznę wyświetlania wyników dla przekroju powierzchni. W poniższym przykładzie płaszczyzna xy jest wybierana poprzez ustawienie „GlobalPlaneInPositiveX.”

'ustawić przekrój na powierzchni
sEdgePointA.X = 2
sEdgePointA.Y = 0
secgeEdgePointA.Z = 0
sek.EdgePointB.X = 2
sec.EdgePointB.Y = 3
secEEgegePointB.Z = 0
    
sek. nr = 2
sec.Name = "przekrój powierzchni"
sec.Plane = GlobalPlaneInPositiveX
    
sec.ShowValuesInIsolines = True
sec.Type = SectionViaSurfacePlane
sec.ObjectList = "1"
    
s. wektor. X = 0
sek. wektor.Y = 0
sek. wektor.Z = 1
    
iSecs.PrepareModification
iSecs.SetSection ust
iSecs.FinishModification

Wyniki przekroju można też pobrać za pomocą osobnej metody „GetResultsInSection” interfejsu „IResults2“. Poniżej uzyskuje się siły tnące na przekroju powierzchni. Rozkład sił wewnętrznych jest ustawiany na „Ciągły w powierzchniach” za pomocą funkcji „Ciągły rozkład sił w obiektach”:

„uzyskać wyniki
    Dim iCalc As ICalculation2
    Set iCalc = iModel.GetCalculation
    
Dim iRes As IResults2
Ustawić iRes = iCalc.GetResultsInFeNodes (LoadCaseType, 1)
    
Dim secRes () As RFEM5.SectionResult
secRes = iRes.GetResultsInSection (2, AtNo,
ShearForceVy, ContinuousDistributionWithinObjects, False)

W sekcji Pobrane znajduje się makro Excel i plik testowy do zrozumienia programu.

Słowa kluczowe

Przekrój COM ISekcja

Do pobrania

Kontakt

Kontakt do Dlubal

Znaleźliście Państwo odpowiedz na swoje pytanie?
Jeśli nie, mogą Państwo skontaktować się z nami bezpłatnie drogą mailową, poprzez czat lub forum lub wysłać zapytanie za pomocą formularza online.

+48 (32) 782 46 26

+48 730 358 225

info@dlubal.pl

RFEM Program główny
RFEM 5.xx

Program główny

Oprogramowanie do obliczeń płaskich i przestrzennych układów konstrukcyjnych, obejmujących płyty, ściany, powłoki, pręty (belki), bryły i elementy kontaktowe, z wykorzystaniem Metody Elementów Skończonych (MES)

Cena pierwszej licencji
3 540,00 USD
RFEM Inne
RF-COM 5.xx

Moduł dodatkowy

Programowalny interfejs (API) w oparciu o technologię COM

Cena pierwszej licencji
580,00 USD