Program RFEM 6 pro statické výpočty tvoří základ modulárního softwarového systému. Hlavní program RFEM 6 slouží k zadávání konstrukcí, materiálů a zatížení u rovinných i prostorových konstrukčních systémů, které se skládají z desek, stěn, skořepin a prutů. Program umožňuje vytvářet smíšené konstrukce, stejně jako modelovat tělesa a kontaktní prvky.
RSTAB 9 je výkonný program pro analýzu 3D prutových konstrukcí, který statikům pomáhá vyhovět požadavkům moderního stavebního inženýrství a odráží nejnovější trendy v oboru.
Jste často příliš dlouho zaměstnáni výpočtem průřezů? Software Dlubal a samostatný program RSECTION vám usnadní práci stanovením a analýzou napětí pro různé průřezy.
Víte vždy, odkud vítr vane? Ve směru inovace, samozřejmě! S RWIND 2 máte k dispozici program, který využívá digitální větrný tunel pro numerickou simulaci proudění větru. Program toto proudění aplikuje na libovolné geometrie budov a stanoví zatížení větrem působící na jejich povrch.
Hledáte přehled oblastí zatížení sněhem, větrem a zemětřesením? Pak jste zde správně. Mapy oblastí zatížení umožňují rychle a snadno stanovit oblasti zatížení sněhem, větrem a zemětřesením podle Eurokódu a dalších mezinárodních norem.
Chcete si vyzkoušet sílu programů Dlubal? Je to vaše příležitost! S bezplatnou 90denní plnou verzí si můžete všechny naše programy plně otestovat.
Tření představuje nelinearitu, a proto ho lze změnit pouze přes rozhraní ke kloubu na konci prutu.
Nejdříve je nutné vytvořit kloub na konci prutu, pokud již není k dispozici. Poté se rozhraní IMemberHinge přenese ke kloubu na konci prutu a následně k nelinearitě (zde IFriction). Pomocí metod GetData a SetData je možné data (zde Friction) upravit:
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 = NothingEnd Sub
Pro případ tření Vy + Vz lze použít Coeffcient2 pro stanovení druhého součinitele. Lineární pružina v dialogu Tření se nastavuje pomocí lineární pružiny kloubu na konci prutu. V konkrétním případě je to pro směr x o TranslationalConstantX (viz Obrázek 01).
Následující makro VBA ukazuje vytvoření uzlové podpory s diagramem nelinearity. Zdrojový kód je možné si stáhnout v sekci Stahování a informace.
Při programování pomocí rozhraní COM má uzlová podpora vlastnost 'ReferenceSystem' a 'UserDefinedReferenceSystem'. Pomocí 'ReferenceSystem' je možné definovat typ (např. "Natočený" nebo "Souřadný systém") uživatelsky definovaného souřadného systému a v závislosti na tom, jaký typ byl vybrán, je tento typ poté definován pomocí 'UserDefinedReferenceSystem'.
V následujícím příkladu byl nastaven typ "Souřadný systém" a kromě toho se vytvořil uživatelsky definovaný souřadný systém:
// create user defined coordinate systemIGuideObjects iGuide = iModel.GetGuideObjects();// delete cosy No 2UserCoordinateSystem[] csList = iGuide.GetCoordinateSystems();if (csList.Length > 1){for (int i = 0; i < csList.Length; ++i) { if (csList[i].No == 2) { iGuide.PrepareModification(); iGuide.DeleteObjects(GuideObjectType.CoordinateSystemObject, "2"); iGuide.FinishModification(); } }}// define new cosy No 2UserCoordinateSystem uCs = new UserCoordinateSystem();uCs.Name = "test";uCs.Comment = "test";uCs.No = 2;uCs.IsValid = true;uCs.Origin.X = 1;uCs.Origin.Y = 0;uCs.Origin.Z = 1;uCs.Point1.X = 2;uCs.Point1.Y = 0;uCs.Point1.Z = 1;uCs.Point2.X = 1;uCs.Point2.Y = 1;uCs.Point2.Z = 2;// set cosy No 2iGuide.PrepareModification();iGuide.SetCoordinateSystem(uCs);iGuide.FinishModification();// create nodal support with user defined cosyNodalSupport ns = new NodalSupport();ns.SupportConstantX = -1;ns.SupportConstantY = -1;ns.SupportConstantZ = -1;ns.RestraintConstantX = -1;ns.RestraintConstantY = 0;ns.RestraintConstantZ = -1;ns.Comment = "user defined cosy";ns.NodeList = "1";ns.ReferenceSystem = ReferenceSystemType.UserDefinedSystemType;ns.UserDefinedReferenceSystem.ObjectNo = 2;ns.UserDefinedReferenceSystem.Type = UserDefinedAxisSystemType.DefinedCoordinateSystemType;iModData.PrepareModification();iModData.SetNodalSupport(ns);iModData.FinishModification();
Aby bylo možné vytvořit souřadný systém, je zapotřebí rozhraní pro pomocné objekty: 'IGuideObjects'. Pomocí funkce 'DeleteObjects()' se nejdříve smaže stávající souřadný systém s číslem 2 a vytvoří se nový pomocí 'SetCoordinateSystem()'. Do úvahy je nutné vzít opět blok 'Prepare/Finish-Modification'-Block, aby bylo možné předat nový prvek.
Uzlová podpora se předává pomocí rozhraní 'IModelData'. Také zde je zapotřebí blok 'Prepare/Finish-Modification'.