Häufig gestellte Fragen (FAQs)

Nach FAQ suchen




Kundenservice rund um die Uhr

Knowledge Base

Zusätzlich zum persönlichen Support (z. B. via Chat) finden Sie auf unserer Website rund um die Uhr Hilfe und Informationen.

Newsletter

Erhalten Sie regelmäßig Informationen über Neuigkeiten, praktische Tipps, geplante Events, Aktionen und Gutscheine.

  • Antwort

    Um nur bestimmte Lastfälle, Lastkombinationen oder Ergebniskombinationen zu berechnen, genau wie der Befehl "Zu berechnen..." (siehe Abbildung 01), kann die Methode CalculateBatch der Schnittstelle ICalculation verwendet werden. Bei der Übergabe erwartet die Methode ein Feld mit der Belastung vom Typ Loading. Loading beinhaltet dabei die Nummer der Belastung und den Typ (z. B. Lastkombination):

    Sub batch_test()
        
    '   get interface from the opened model and lock the licence/program
        Dim iModel As RFEM5.IModel3
        Set iModel = GetObject(, "RFEM5.Model")
        iModel.GetApplication.LockLicense
        

    On Error GoTo e
        
        '   get interface for calculation
        Dim iCalc As ICalculation2
        Set iCalc = iModel.GetCalculation
        
        '   create array with loading types
        Dim loadings(3) As Loading
        loadings(0).no = 1
        loadings(0).Type = LoadCaseType
        
        loadings(1).no = 4
        loadings(1).Type = LoadCaseType
        
        loadings(2).no = 4
        loadings(2).Type = LoadCombinationType
        
        '   calculate all loadings from the array at once
        iCalc.CalculateBatch loadings

    e:  If Err.Number <> 0 Then MsgBox Err.description, , Err.Source
        
        Set iModelData = Nothing
        iModel.GetApplication.UnlockLicense
        Set iModel = Nothing

    End Sub
  • Antwort

    Eine Imperfektion gilt als Belastung und wird über das Interface des Lastfalls übergeben. Mit der Voraussetzung, dass das Interface zum Modell bereits geholt wurde, wird nun das Interface zu den Lasten (ILoads) und danach das Interface zum Lastfall 1 (ILoadCase) geholt, insofern dieser bereits angelegt wurde:

            '   set loadcases
            Dim iLoads As iLoads
            Set iLoads = model.GetLoads
            
            '   get load case
            Dim iLc1 As ILoadCase
            Set iLc1 = iLoads.GetLoadCase(1, AtNo)
            
            '   define imperfection
            Dim imperf As Imperfection
            imperf.Comment = "test"
            imperf.Direction = LocalZType
            imperf.Inclination = 200
            imperf.no = 1
            imperf.ObjectList = 1
            imperf.Precamber = 300
            imperf.PrecamberActivity = ActivityAccording_EN_1993_1_1
            
            '   set imperfection
            iLc1.PrepareModification
            iLc1.SetImperfection imperf
            iLc1.FinishModification

    Die Daten der Imperfektion (Imperfection) werden danach zuerst ausgefüllt, hier für Stab 1, und dann innerhalb eines Prepare-/FinishModification Blocks des Lastfall Interfaces übergeben.

  • Antwort

    Um ein vorhandenes Element verändern zu können, muss das Interface zum entsprechenden Element geholt werden, hier am Beispiel eines Stabes:

        Dim iModel As RSTAB8.model
        Set iModel = GetObject(, "RSTAB8.Model")
        iModel.GetApplication.LockLicense
        
        Dim iModData As IModelData
        Set iModData = iModel.GetModelData
        
        Dim iMem As RSTAB8.IMember
        Set iMem = iModData.GetMember(1, AtNo)

    Über diesen Code wird das Interface zum Stab 1 geholt, welcher bereits angelegt sein muss. Danach können über die Methode .GetData() des Interfaces die Stabdaten geholt werden.

    Falls Daten modifiziert werden sollen (wie hier die Stabdrehung), können diese danach innerhalb eines Prepare-/FinishModification-Blocks mit der Methode .SetData() an das Programm übergeben werden:


        Dim mem As RSTAB8.Member
        mem = iMem.GetData
        
        mem.Rotation.Angle = 0.5
        mem.Rotation.Type = RSTAB8.Angle
       
        iModData.PrepareModification
        iMem.SetData mem
        iModData.FinishModification
  • Antwort

    Folgendes Code Beispiel zeigt das Holen von verschiedenen Berechnungsparametern über die COM-Schnittstelle. Es wird auch das Übergeben einer Einstellung für das Deaktivieren der Schubsteifigkeit gezeigt:

        '   get model interface
        Set iApp = iModel.GetApplication()
        iApp.LockLicense
        
        '   get calculation interface
        Dim iCalc As RFEM5.ICalculation2
        Set iCalc = iModel.GetCalculation
        
        '   get surface bending theory
        Dim calc_bend As RFEM5.BendingTheoryType
        calc_bend = iCalc.GetBendingTheory
        
        '   get settings for nonlinearities
        Dim calc_nl As RFEM5.CalculationNonlinearities
        calc_nl = iCalc.GetNonlinearities
        
        '   get precision and tolerance settings
        Dim calc_prec As RFEM5.PrecisionAndTolerance
        calc_prec = iCalc.GetPrecisionAndTolerance
        
        '   get calculation settings
        Dim calc_sets As RFEM5.CalculationSettings
        calc_sets = iCalc.GetSettings
        
        '   get calculation options
        Dim calc_opts As RFEM5.CalculationOptions
        calc_opts = iCalc.GetOptions
        
        '   set ShearStiffness to false
        calc_opts.ShearStiffness = False
        iCalc.SetOptions calc_opts

    Im Anhang finden Sie dazu ein EXCEL Makro zum Herunterladen.
  • Antwort

    Reibung stellt eine Nichtlinearität dar und kann daher nur über das Interface zum Stabendgelenk modifiziert werden.

    Dazu muss zuerst das Stabendgelenk angelegt werden, sofern nicht bereits vorhanden. Danach wird das Interface IMemberHinge zum Stabendgelenk und dann zur Nichtlinearität (hier IFriction) geholt. Über die Methoden GetData und SetData können dann die Daten (hier Friction) modifiziert werden:

    Sub SetMemberHingeFriction()

        Dim model As RFEM5.model
        Set model = GetObject(, "RFEM5.Model")
        model.GetApplication.LockLicense

        On Error GoTo e

        Dim data As IModelData
        Set data = model.GetModelData

        Dim hinge(0 To 0) As RFEM5.MemberHinge

        hinge(0).No = 1
        hinge(0).RotationalConstantX = 1
        hinge(0).RotationalConstantY = 2
        hinge(0).RotationalConstantZ = 3
        hinge(0).TranslationalConstantX = 4
        hinge(0).TranslationalConstantY = 5
        hinge(0).TranslationalConstantZ = 6
        hinge(0).Comment = "Member Hinge 1"
        
        hinge(0).TranslationalNonlinearityX = FrictionAType

        data.PrepareModification
        data.SetMemberHinges hinge
        data.FinishModification
        
        ' get interface for member hinge
        Dim imemhing As IMemberHinge
        Set imemhing = data.GetMemberHinge(1, AtNo)
        
        ' get interface for nonlinearity "friction"
        Dim iFric As IFriction
        Set iFric = imemhing.GetNonlinearity(AlongAxisX)
        
        ' get friction data
        Dim fric As Friction
        fric = iFric.GetData
        
        fric.Coefficient1 = 0.3
        
        ' set friction data
        data.PrepareModification
        iFric.SetData fric
        data.FinishModification
        
        
    e:  If Err.Number <> 0 Then MsgBox Err.Description, , Err.Source

        Set data = Nothing
        model.GetApplication.UnlockLicense
        Set model = Nothing

    End Sub


    Für den Fall Reibung Vy + Vz kann über Coeffcient2 der zweite Koeffizient eingestellt werden. Die Wegfeder im Reibung Dialog wird über die Wegfeder des Stabendgelenks gesteuert. Im konkreten Fall ist das für die x-Richtung TranslationalConstantX (siehe Abbilung 01).

  • Antwort

    Die asynchrone Berechnung wird verwendet, wenn ein selbst erstelltes Programm RFEM oder RSTAB nur aufrufen und parallel weiterarbeiten soll. Wenn die Berechnung dann fertig ist, wird dieses Ereignis über einen Delegaten übermittelt. Ein C# Beispiel in einem Visual Studio Projekt finden Sie im Downloadbereich unten.
  • Antwort

    Diese Überprüfung kann Programm-automatisch über

    • "IApplication.LockLicense()"
    • "bool isLicensed = IApplication.IsComLicensed()"
    • "IApplication.UnlockLicense()"

    abgefragt werden.

  • Antwort

    Für die Übergabe von mehreren Elementen müssen Sie in VBA zunächst ein Feld (array) anlegen:

    Dim nodes(0 to 2) as RFEM5.Node

    Danach können Sie das Feld (hier drei Elemente 0,1,2) mit der Methode IModelData.SetNodes() alle Knoten auf einmal übergeben.

    Diese Methoden gibt es beispielsweise auch für folgende Strukturelemente:

    IModelData.SetLines()
    IModelData.SetMembers()
    IModelData.SetSurfaces()
  • Antwort

    Grundsätzlich sind etwaige Änderungen zum COM Interface in unserem Updatebericht zu dem jeweiligen Modul benannt. Unter folgendem Link sind alle Updateberichte einsehbar. 

    Falls sich im COM Interface eine Änderung ergibt, sind diese dort aufgeführt. Insbesondere bei der Umstellung des älteren COM Interfaces von RSTAB6/RFEM3 zu RSTAB8/RFEM5 ist bedingt durch den Wechsel von tlbs im VBA zu einer durchgängigen Lösung mit dlls keine komplette Kompatibilität gewährleistet.

    Innerhalb des aktuellen COM Interfaces ist ein überschreiben der dlls aber meist ohne Probleme möglich. Zur zusätzlichen Sicherung ist es natürlich immer angeraten ein Backup der alten Dateien durchzuführen. 
  • Antwort

    Nein das ist nicht möglich. Das Protokoll kann nicht über das COM Interface aufgerufen oder verwaltet werden. Das einzige, was möglich ist, ist die Anzahl der erstellten Protokolle über eine Liste aufzurufen.

    Es ist möglich auf die Musterprotokolle zuzugreifen. In folgender FAQ wird das erläutert. Das ist dann aber nicht über das COM Interface von RFEM/RSTAB steuerbar, sondern eine allgemeine Windows Funktionalität.

1 - 10 von 18

Kontakt

Kontakt zu Dlubal

Haben Sie Ihre Frage und Antwort gefunden? Wenn nicht, kontaktieren Sie uns über unseren kostenlosen E-Mail-, Chat- bzw. Forum-Support oder reichen Sie Ihre Frage mittels des Online-Formulars ein.

+49 9673 9203 0

info@dlubal.com

Erste Schritte

Erste Schritte

Wir geben Ihnen Hinweise und Tipps, die Ihnen den Einstieg in das Basisprogramm RFEM und RSTAB erleichtern.

Windsimulation & Windlast-Generierung

Handbücher zu RWIND Simulation

Mit dem Einzelprogramm RWIND Simulation lassen sich mittels eines digitalen Windkanals Windströmungen um einfache oder komplexe Stukturen simulieren.

Die generierten Windlasten, die auf diese Objekte wirken, können in RFEM bzw. RSTAB importiert werden.

Eure Unterstützung ist mit Abstand die Beste

„Besten Dank für die wertvollen Infos. 

Kompliment an das Support-Team. Immer wieder beeindruckend, wie schnell und kompetent die Fragen beantwortet werden. Habe im Bereich Statik viele Software mit Supportvertrag im Einsatz, aber eure Unterstützung ist mit Abstand die Beste.“