Často kladené dotazy (FAQ)

Vyhledávání FAQ




Nepřetržitá podpora zákazníkům

Databáze znalostí

Kromě technické podpory (například prostřednictvím chatu) Vám naše webové stránky nepřetržitě nabízejí pomoc a informace, které Vám mohou usnadnit práci s programy společnosti Dlubal Software.

Newsletter

Získejte pravidelné informace o novinkách, užitečných tipech, plánovaných akcích, speciálních nabídkách a poukázkách.

  • Odpověď

    Imperfekce se považuje za zatížení a předává se přes rozhraní zatěžovacího stavu. Za předpokladu, že rozhraní k modelu již bylo načteno, načte se nyní rozhraní k zatížením (ILoads) a následně rozhraní k zatěžovacímu stavu 1 (ILoadCase), pokud již tento vytvořen:

            '   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

    Údaje imperfekce (Imperfection) se potom nejdříve vyplní, zde pro prut 1, a potom předají v rámci bloku Prepare-/FinishModification rozhraní zatěžovacího stavu.

  • Odpověď

    Pokud chceme upravit již existující prvek, musíme rozhraní dostat na příslušný prvek, zde například na prut:

        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)

    Pomocí tohoto kódu dostaneme rozhraní k prutu 1, který musí již být vytvořený. Následně můžeme použít funkci rozhraní .GetData() dostat data o prutu.

    Pokud bychom chtěli data upravovat (jako zde natočení prutu), můžeme je následně předat do programu v bloku Prepare-/FinishModification pomocí funkce .SetData():


        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
  • Odpověď

    Následující příklad kódu ukazuje, jak lze prostřednictvím rozhraní COM získat různé výpočetní parametry. Rovněž ukazuje nastavení pro deaktivaci smykové tuhosti:

        '   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

    V příloze najdete ke stažení makro v programu EXCEL.
  • Odpověď

    Nejdříve vytvoříme výsledkový prut přesně jako normální prut:

        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 members(0) As RFEM5.Member
        
        members(0).No = 3
        members(0).LineNo = 12
        members(0).Type = ResultBeamType
        
        members(0).StartCrossSectionNo = 1
        members(0).EndCrossSectionNo = 1
        
        members(0).Comment = "result beam 1"

        data.PrepareModification
        data.SetMembers members
        data.FinishModification

    Poté musí být rozhraní IMember načteno od příslušného prutu a pomocí metody GetExtraData se dostane rozhraní k IResultMember. Pomocí tohoto rozhraní lze nyní přečíst nebo zapsat údaje pro ResultMember. Je nutné mít na zřeteli, že pro psaní je vyžadován blok Prepare-/Finishmodification:

        Dim iMem As IMember
        Set iMem = data.GetMember(3, AtNo)
        
        Dim iRMem As IResultBeam
        Set iRMem = iMem.GetExtraData
        
        Dim RMem As ResultBeam
        RMem = iRMem.GetData
        
        RMem.IncludeSurfaces = "1"
        RMem.IncludeSolids = "all"
        
        RMem.Integrate = WithinCuboidGeneral
        
        Dim params(0 To 3) As Double
        
        RMem.Parameters = params
        RMem.Parameters(0) = 0.5
        RMem.Parameters(1) = 0.5
        RMem.Parameters(2) = 0.1
        RMem.Parameters(3) = 0.1
        
        data.PrepareModification
        iRMem.SetData RMem
        data.FinishModification

    V příloze najdete hotové makro v Excelu a příslušný zkušební soubor.
  • Odpověď

    Tření představuje nelinearitu a lze ji proto změnit pouze na kloubový konec prutu.

    K tomuto účelu se nejdříve musí vytvořit krajní uvolnění prutu, pokud již není k dispozici. Pak se rozhraní IMemberHinge přenese na konečné uvolnění prutu a pak na nelinearitu (zde IFriction ). Poté můžeme použít metody GetDataSetData k úpravě dat (zde Tření ):

    Podmínka zadání prutu ()

    Dim model jako RFEM5.model
    Nastavit model = GetObject (, 'RFEM5.Model')
    model.GetApplication.LockLicense

    Chyba GoTo e

    Dim data jako IModelData
    Nastavit data = model.GetModelData

    Dim kloub (0 na 0) Jako RFEM5.MemberHinge

    kloub (0) .Ne = 1
    kloub (0) .Rotační konstantX = 1
    kloub (0) .Rotační konstant Y = 2
    kloub (0) .Rotační konstantaZ = 3
    kloub (0) .TranslationalConstantX = 4
    kloub (0) .Translační konstantY = 5
    kloub (0) .Překladová konstantaZ = 6
    kloub (0) .Comment = "Kloub 0 na prutu"
        
    kloub (0) .Překladová nelinearitaX = třeníTyp

    Přednastavte modifikaci
    Data.SetMemberHinges kloub
    data.OstatníModifikace
        
    'Získat rozhraní pro kloub na prutech
    Dim imeming jako IMemberHinge
    Nastavíme imemhing = data.GetMemberHinge (1, AtNo)
        
    'dostat rozhraní pro nelinearitu' tření '
    Dimenze jako účet
    Nastavit iFric = imemhing.GetNonlinearity (AlongAxisX)
        
    "získává údaje o tření
    Dimenze jako tření
    fric = iFric.GetData
        
    fric.Coefficient1 = 0.3
        
    'nastavit tření
    Přednastavte modifikaci
    iFric.SetData fric
    data.OstatníModifikace
        
        
    e: Pokud Číslo_složky <> 0 Pak MsgBox Err.Description,, Err.Source

    Zadat data = nic
    model.GetApplication.UnlockLicense
    Nastavit model = Nic

    Konec podřízené


    V případě tření Vy + Vz se pro stanovení druhého součinitele používá Součinitel2. Konstanta tuhosti v dialogu Tření je řízena pružinou pro klopení krajního kloubu. V konkrétním případě se jedná o TranslationalConstantX pro směr X (viz obrázek 01).

  • Odpověď

    Asynchronní výpočet se používá tehdy, pokud se má program automaticky spouštět nebo pokračovat v programu RFEM nebo RSTAB. Po dokončení výpočtu se událost předává prostřednictvím delegáta. Příklad modelu C # lze najít v programu Visual Studio ve spodní části okna pro stahování.
  • Odpověď

    Tuto kontrolu můžeme provést automaticky z programu

    • "IApplication.LockLicense ()"
    • "bool je Licensed = IApplication.IsComLicensed ()"
    • "IApplication.UnlockLicense ()"


  • Odpověď

    Ano, uzlové klouby lze vytvořit pomocí rozhraní COM. Zde je příklad:

    Sub subdatal_release ()

    Dim iApp Jako RFEM5.Aplikace
    Dim iModel jako RFEM5.model
        
    Chyba GoTo e
        
    Nastavit iApp = GetObject (, "RFEM5.Aplikace")
    iApp.LockLicense
            
    test = iApp.GetModelCount
    Nastavit iModel = iApp.GetModel (0)
            
    Dim iModeldata Jako RFEM5.iModeldata
    Nastavíme iModeldata = iModel.GetModelData
            
            
    'pro uzlový uvolňovací prut'
    Objekt osového systému nemůže být stejný jako uvolněný objekt
    Dim nodRel As NodalRelease
    nodRel.Location = PůvodníTyp lokality
    nodRel.AxisSystem = LocalFromLine
    nodRel.AxisSystemFromObjectNo = 2
    nodRel.Comment = "Testovací uzlové uvolnění"
    nodRel.MemberHingeNo = 1
    nodRel.NodeNo = 1
    nodRel.ReleasedMembers = 1
            
    iModeldata.PrepareModification
    iModeldata.SetNodalRelease nodRel
    iModeldata.FinishModification
            
            
    e: Pokud číslo chyby <> 0 MsgBox Err.description ,, Err.Source
        
    iApp.UnlockLicense


    Konec podřízené


    Mějte na paměti, že lokální osový systém nesmí odkazovat na stejné prvky jako uvolněné.

  • Odpověď

    Pokud chceme přenést několik prvků, nejdříve je třeba vytvořit pole (pole) ve VBA:

    Dim uzly (0 až 2) jako RFEM5.Node

    Pak můžeme všechny uzly převést najednou do pole (zde tři prvky 0,1,2) metodou IModelData.SetNodes ().

    Tyto metody jsou k dispozici také pro následující konstrukční prvky:

    IModelData.SetLines ()
    IModelData.SetMembers ()
    IModelData.SetSurfaces ()
  • Odpověď

    Hlavním objektem není objekt linie, ale objekt typu NurbSpline.
    Zde je krátký příklad pro vytvoření křivky Nurbs:

    '------------------------------------------------- -------------------------------------------------
    Sub nurbs_test ()
    '------------------------------------------------- -------------------------------------------------

    Dim model jako RFEM5.model
    Nastavit model = GetObject (, "RFEM5.Model")
    model.GetApplication.LockLicense

    Chyba GoTo e

    Dim data jako IModelData
    Nastavit data = model.GetModelData

    'definuje pole uzlů
    Dim uzly (0 až 2) Jako RFEM5.Node
        
    uzly (0) .No = 1
    uzly (0). Typ = Výchozí
    uzly (0) .CS = Kartézsky
    uzly (0) .X = 1
    uzly (0) .Y = 1
    uzly (0) .Z = 0

    uzly (1) .No = 2
    uzly (1). Typ = Výchozí
    uzly (1) .CS = kartézské
    uzly (1) .X = 2
    uzly (1). Y = 1
    uzly (1) .Z = -1
        
    uzly (2) .No = 3
    uzly (2). Typ = Výchozí
    uzly (2) .CS = kartézský
    uzly (2) .RefObjectNo = 2
    uzly (2) .X = 0
    uzly (2). Y = 1
    uzly (2) .Z = 0
        
    Dim darr1 (0 až 5) jako dvojitý
    darr1 (0) = 1
    darr1 (1) = 2
    darr1 (2) = 3
    darr1 (3) = 4
    darr1 (4) = 5
    darr1 (5) = 6
        
    Dim darr2 (0 až 2) jako dvojitý
    darr2 (0) = 1
    darr2 (1) = 1
    darr2 (2) = 1
        
    Dim ns jako NurbSpline
    ns.General.No = 2
    ns.General.Type = NurbSplineType
    ns.General.NodeList = "1,2,3"
    ns.General.Comment = "řádek 2"
    ns.Knots = darr1
    ns.Order = 3
    ns.Weights = darr2
        
    Přednastavte modifikaci
    data
    data.SetNurbSpline ns
    e: data.Při dokončení modifikace
    Pokud Err.Number <> 0, pak MsgBox Err.Description ,, Err.Source

    Zadat data = nic
    model.GetApplication.UnlockLicense
    Nastavit model = Nic

    Konec podřízené

1 - 10 z 23

Kontakt

Kontakt

Nenalezli jste odpověď na Vaši otázku?
Kontaktujte prosím naši bezplatnou podporu e-mailem, na chatu nebo na fóru, případně nám zašlete Váš dotaz prostřednictvím online formuláře.

+420 227 203 203

info@dlubal.cz

První kroky

První kroky

Nabízíme užitečné rady a tipy pro usnadnění Vašich začátků s hlavními programy RFEM a RSTAB.

Simulace větru a generování zatížení větrem

Samostatný program RWIND Simulation slouží k simulaci obtékání jednoduchých i složitých konstrukcí vzdušným proudem v digitálním větrném tunelu.

Vygenerovaná zatížení větrem, která na dané objekty působí, lze importovat do programu RFEM nebo RSTAB.

Zdaleka nejlepší technická podpora

„Děkuji mnohokrát za cenné informace.

Rád bych složil kompliment vašemu týmu technické podpory. Vždy jsem mile překvapen, s jakou rychlostí a profesionalitou zodpovídáte dotazy. V oboru statiky využívám řadu softwarů se servisní smlouvu, ale vaše technická podpora je zdaleka nejlepší.”