Часто задаваемые вопросы (FAQ)

Найти вопрос




Круглосуточная поддержка

База знаний

В дополнение к нашей технической поддержке (например, через чат) на нашем веб-сайте вы найдете ресурсы, которые могут помочь вам при разработке вашего проекта с использованием программного обеспечения Dlubal.

Новостная рассылка

Получайте информацию, включая новости, полезные советы, запланированные мероприятия, специальные предложения и ваучеры на регулярной основе.

  • Ответ

    Для того, чтобы рассчитать только конкретные загружения, сочетания нагрузок или расчетные сочетания таким же образом, как команда «Для расчета ...» (см. Рисунок 01), можно использовать метод CalculateBatch интерфейса ICalculation. Для переноса, метод ожидает поле с типом нагрузки Загрузка. Эта нагрузка включает в себя номер нагрузки и тип (например, сочетание нагрузок):

    Sub batch_test ()
        
    'получить интерфейс от открытой модели и заблокировать лицензию/программу
    Dim iModel As RFEM5.IModel3
    Установите iModel = GetObject (, "RFEM5.Model")
    iModel.GetApplication.LockLicense
        

    При ошибке Перейти к e
        
    'получить интерфейс для расчета
    Dim iCalc As ICalculation2
    Установите iCalc = iModel.GetCalculation
        
    'создать массив с типами загрузки
    Слабые нагрузки (3) As Loading
    нагрузки (0) .no = 1
    нагрузки (0) .Type = LoadCaseType
        
    нагрузки (1) .no = 4
    loadings (1) .Type = LoadCaseType
        
    нагрузки (2) .no = 4
    loadings (2) .Type = LoadCombinationType
        
    'рассчитать все нагрузки из массива одновременно
    Загрузки iCalc.CalculateBatch

    e: Если Err.Number <> 0, то MsgBox Err.description,, Err.Source
        
    Установите iModelData = Nothing
    iModel.GetApplication.UnlockLicense
    Установить iModel = Nothing

    End Sub
  • Ответ

    Несовершенство рассматривается как нагрузка и передается через интерфейс загружения. При условии, что интерфейс к модели уже был импортирован, интерфейс к нагрузкам (ILoads), за которым следует интерфейс для загрузки 1-й (ILoadCase), впоследствии будет импортирован, если он уже был создан ранее:

    set loadcases
    Dim iLoads Как iLoads
    Установка iLoads = model.GetLoads
            
    получить загружение
    Dim iLc1 As ILoadCase
    Установка iLc1 = iLoads.GetLoadCase (1, AtNo)
            
    определить несовершенство
    Dim imperf As Imperecection
    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
            
    Неправильное несовершенство
    iLc1.PrepareModification
    iLc1.SetImperfection imperf
    iLc1.FinishModification

    Данные несовершенства затем заполняются в первую очередь здесь для стержня 1, а затем передаются в блок Prepare-/FinishModification интерфейса нагрузок Interfaces.

  • Ответ

    Чтобы изменить существующий элемент, вам необходимо получить интерфейс к соответствующему элементу, показанному здесь с помощью стержня в качестве примера:

    Dim iModel As RSTAB8.model
    Установка iModel = GetObject (, "RSTAB8.Model")
    iModel.GetApplication.LockLicense
        
    Dim iModData As IModelData
    Установка iModData = iModel.GetModelData
        
    Dim iMem As RSTAB8.IMember
    Установка iMem = iModData.GetMember (1, AtNo)

    Используйте этот код для получения интерфейса к 1-м стержню, который уже должен быть создан. Затем, для получения данных стержня, можно использовать для данного интерфейса метод .GetData ().

    Если требуется изменить данные (например, вращение стержня здесь), впоследствии можно перенести их в программу в блоке Подготовка/Завершение модификации с помощью метода .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
  • Ответ

    Следующий код показывает, как получить различные параметры расчета через интерфейс COM. Также показано, как задать настройку для деактивизации жесткости сдвига:

    'получить интерфейс модели
    Установка iApp = iModel.GetApplication ()
    iApp.LockLicense
        
    'получить расчетный интерфейс
    Dim iCalc As RFEM 5. Вычисление2
    Установка iCalc = iModel.GetCalculation
        
    'получить теорию изгиба поверхности
    Dim calc_bend Как RFEM5.BendingTheoryType
    calc_bend = iCalc.GetBendingTheory
        
    'получить настройки для нелинейностей
    Dim calc_nl Как RFEM 5. Вычисление нелинейностей
    calc_nl = iCalc.GetНовости
        
    'получить характеристики точности и допуска
    Dim calc_prec Как RFEM5.PrecisionAndTolerance
    calc_prec = iCalc.GetPrecisionAndTolerance
        
    'получить настройки расчета
    Dim calc_sets Как RFEM5.Сочеты
    Значение в calc_sets = iCalc.GetSettings
        
    'получить расчетные опции
    Dim calc_opts Как RFEM5.CalculationOptions
    Значение calc_opts = iCalc.GetOptions
        
    & amp; установить значение ShearStiffness в false
    Значение calc_optsShearStiffness = False
    iCalc.SetOptions calc_opts

    Для загрузки требуется макрос EXCEL.
  • Ответ

    Во-первых, результирующая балка создается точно так же, как нормальный стержень:

    Модель Dim Как RFEM5.model
    Установить модель = GetObject (, "RFEM5.Model")
    model.GetApplication.LockLicense

    Ошибка при сбое

    Данные Dim в качестве IModelData
    Установка данных = model.GetModelData

    Диммеры (0) Как RFEM5.Member
        
    стержни (0) .Нет = 3
    стержни (0) .LineNo = 12
    Стержни (0) .Type = ResultBeamType
        
    Стержни (0) .StartCrossSectionNo = 1
    Стержни (0) .EndCrossSectionNo = 1
        
    стержня (0) .Comment = 'результирующая балка 1'

    data.PrepareModification
    Данные.НайденоМодели стержней
    data.FinishModification

    Затем, интерфейс IMember должен быть взят из соответствующего стержня, и метод GetExtraData используется для получения интерфейса к IResultMember. Теперь этот интерфейс можно использовать для чтения или записи данных ResultMember. Пожалуйста, обратите внимание, что при записи требуется блок Prepare-/Finishmodification.

    Dim iMem As IMember
    Установка iMem = data.GetMember (3, AtNo)
        
    Dim iRMem As IResultBeam
    Установка iRMem = iMem.GetExtraData
        
    Dim RMem As ResultBeam
    RMem = iRMem.GetData
        
    RMem.IncludeSurfaces = "1"
    RMem.IncludeSolids = "all"
        
    RMem.Integrate = WithinCuboid General
        
    Тусклые параметры (от 0 до 3) как двойные
        
    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

    Завершенные макрос EXCEL и соответствующий файл испытаний прилагаются.
  • Ответ

    Трение представляет собой нелинейность и поэтому может быть изменено только через интерфейс с шарниром торца стержня.

    Для этого сначала необходимо создать концевой стержень стержня, если он еще не доступен. Затем интерфейс IMemberHinge выводится на конечный шарнир стержня, а затем на нелинейность (здесь IFriction ). Затем, можно использовать методы GetData и SetData для изменения данных (здесь Трение ):

    Sub SetMemberHingeFriction ()

    Модель Dim Как RFEM5.model
    Установить модель = GetObject (, 'RFEM5.Model')
    model.GetApplication.LockLicense

    Ошибка при сбое

    Данные Dim в качестве IModelData
    Установка данных = model.GetModelData

    Тусклый шарнир (0 К 0) Как RFEM5.MemberHinge

    шарнир (0) .Но = 1
    шарнир (0) .RotationalConstantX = 1
    шарнир (0) .RotationalConstantY = 2
    шарнир (0) .RotationalConstantZ = 3
    шарнир (0). ТрансляцияConstantX = 4
    шарнир (0). ТрансляционныйконсистентY = 5
    шарнир (0). ТрансляцияConstantZ = 6
    шарнир (0). Comment = "шарнир стержня 1"
        
    шарнир (0). ТрансляционнаяНолинейностьX = FrictionAType

    data.PrepareModification
    data.SetMemberHinges шарнир
    data.FinishModification
        
    'получить интерфейс для шарнира стержня
    Как ememhing As IMemberHinge
    Установка imemhing = data.GetMemberHinge (1, AtNo)
        
    'получить интерференцию для нелинейности' трение '
    Dim iFric As IFriction
    Установка iFric = imemhing.GetNonlinearality (AlongAxisX)
        
    получить данные о трении
    Dim fric As Трение
    fric = iFric.GetData
        
    fric.Coefficient1 = 0.3
        
    & lt; установить данные трения
    data.PrepareModification
    iFric.SetData fric
    data.FinishModification
        
        
    e: Если Err.Number <> 0, то MsgBox Err.Description,, Err.Source

    Установка данных = Nothing
    model.GetApplication.UnlockLicense
    Установить модель = ничего

    End Sub


    В случае трения Vy + Vz, Коэффициент 2 используется для установки второго коэффициента. Постоянная пружины в диалоговом окне «Трение» управляется поступательной пружиной шарнира торца стержня. В конкретном случае это преобразование TranslationalConstantX для X-направления (см. Рисунок 01).

  • Ответ

    Асинхронный расчет используется, если самообразовательная программа должна открывать или продолжать RFEM или RSTAB. Событие передается через делегат. Пример C # в проекте Visual Studio можно найти в области загружения ниже.
  • Ответ

    Данная проверка может быть выполнена автоматически программой

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


  • Ответ

    Да, можно создать высвобождение узлов через интерфейс COM. Вот пример:

    Sub nodal_release ()

    Dim iApp Как RFEM5.Приложение
    Dim iModel Как RFEM5.model
        
    Ошибка при сбое
        
    Установка iApp = GetObject (, "RFEM5.Application")
    iApp.LockLicense
            
    test = iApp.GetModelCount
    Установка iModel = iApp.GetModel (0)
            
    Dim iModeldata Как RFEM5.iModeldata
    Установка iModeldata = iModel.GetModelData
            
            
    'необходим узловой высвобождающий стергоны'
    Объект для осевой системы не может быть таким же, как и высвобожденный
    Dim nodRel As NodalRelease
    nodRel.Location = ОригиналLocationType
    nodRel.AxisSystem = LocalFromLine
    nodRel.AxisSystemFromObjectNo = 2
    nodRel.Comment = "расчетное высвобождение узла"
    nodRel.MemberHingeNo = 1
    nodRel.NodeNo = 1
    nodRel.ReleasedMembers = 1
            
    iModeldata.PrepareModification
    iModeldata.SetNodalПроект nodRel
    iModeldata.FinishModification
            
            
    e: Если Err.Number <> 0, то MsgBox Err.description ,, Err.Source
        
    iApp.UnlockLicense


    End Sub


    Пожалуйста, обратите внимание, что система с локальной осью может не ссылаться на те же элементы, что и выпущенные.

  • Ответ

    Чтобы перенести несколько элементов, сначала необходимо создать поле (массив) в VBA:

    Тусклые узлы (0 ... 2) как RFEM5.Node

    Затем, можно перенести все узлы одновременно в поле (здесь три элемента 0,1,2) с помощью метода IModelData.SetNodes ().

    Эти методы доступны также для следующих элементов конструкции, например:

    IModelData.SetLines ()
    IModelData.SetMembers ()
    IModelData.SetSurfaces ()

1 - 10 из 24

Контакты

Свяжитесь с Dlubal

Вы нашли ответ на свой вопрос? Если нет, свяжитесь с нами через бесплатную поддержку по электронной почте, в чате или на форуме или отправьте нам свой вопрос с помощью онлайн-формы.

+49 9673 9203 0

info@dlubal.com

Первые шаги

Первые шаги

Представляем советы и подсказки, которые помогут вам начать работу с основными программами RFEM и RSTAB.


Mоделированиe воздействий ветра и созданиe ветровых нагрузок

В автономной программе RWIND Simulation можно с помощью цифровой аэродинамической трубы осуществлять моделирование воздушных потоков вокруг простых и сложных конструкций.

Все созданные ветровые нагрузки, действующие на данных объектах, затем можно легко импортировать в программу для расчета конструкций RFEM или RSTAB.

Ваша служба поддержки просто превосходная

«Большое спасибо за полезную информацию!

А еще я хочу отметить блестящую работу вашей команды поддержки. Я всегда поражен тем, насколько быстро и профессионально они отвечают на все мои вопросы. Я пользовался множеством различных программ для расчета конструкций, которые также предлагали сервисный контракт, но ваша служба поддержка просто несравнима.»