Программа для расчёта конструкций RFEM 6 является основой нашей модульной системы программного обеспечения. Основная программа RFEM 6 используется для задания конструкций, материалов и нагрузок плоских и пространственных конструктивных систем, состоящих из плит, стен, оболочек и стержней. Программа также позволяет создавать комбинированные конструкции, а также моделировать тела и контактные элементы.
RSTAB 9 - это мощная программа для расчёта и проектирования 3D конструкций балок, каркасов или ферм, которая которая помогает инженерам-строителям соответствовать современным требованиям и отражает последние тенденции в области строительного проектирования.
Вы часто тратите слишком много времени на расчёт сечений? Программное обеспечение Dlubal и автономная программа RSECTION облегчают вашу работу, определяя характеристики и выполняя расчёт напряжений для различных сечений.
Вы всегда знаете, откуда дует ветер? Конечно, со стороны инноваций! RWIND 2 - это программа, которая использует цифровую аэродинамическую трубу для численного моделирования потоков ветра. Программа моделирует эти потоки вокруг зданий любой геометрической формы и определяет ветровые нагрузки на поверхности.
Вам нужен обзор зон снеговой, ветровой и сейсмической нагрузок? Тогда вы находитесь по адресу. Используйте инструмент Geo-Zone Tool для быстрого и лёгкого определения снеговых нагрузок, скоростей ветра и данных по сейсмике в соответствии с ASCE 7‑16 и другими нормативами различных стран.
Хотите попробовать в работе функции программ Dlubal Software? У вас есть такая возможность! Бесплатная полная версия на 90 дней позволяет вам в полной мере попробовать в работе все наши программы.
Для удаления элементов используется в интерфейсе данных модели функция «DeleteObjects()». Удаление всех стержней затем выполняется следующим образом:
Обратите внимание на то, что функция «DeleteObjects» работает только с номером объекта, а не с его индексом. Эти номера затем передаются в виде строки, разделенной запятыми.
Поэтому нужно сначала выбрать все стержни, после чего поле стержня пропускается по циклу и в строку уже вводятся все номера стержней были.
Параметры модели можно легко изменить посредством интерфейса IModel (начиная с версии IModel3):
Sub test_parameter()Dim iApp As RFEM5.ApplicationSet iApp = GetObject(, "RFEM5.Application")iApp.LockLicenseDim j As Integerj = iApp.GetModelCountDim iMod As RFEM5.IModel3Set iMod = iApp.GetActiveModelOn Error GoTo eDim formParams() As RFEM5.FormulaParameter' get all formula parametersformParams = iMod.GetFormulaParameters' delete all formula parametersiMod.CleanFormulaParameters' set list of formula parametersReDim Preserve formParams(0 To UBound(formParams, 1) + 1)formParams(UBound(formParams, 1)).Name = "p"formParams(UBound(formParams, 1)).Unit = "m"formParams(UBound(formParams, 1)).UnitType = LengthUnitTypeformParams(UBound(formParams, 1)).Value = 0formParams(UBound(formParams, 1)).ValueType = DoubleTypeformParams(UBound(formParams, 1)).Comment = "new parameter"formParams(UBound(formParams, 1)).Formula = "b/3"formParams(UBound(formParams, 1)).RangeOfValues = "(3;5.5>"iMod.SetFormulaParameters formParamse:If Err.Number <> 0 Then MsgBox Err.description, vbCritical, Err.SourceiMod.GetApplication.UnlockLicenseSet iMod = NothingEnd Sub
Однако прочитать все параметры можно только с помощью функции GetFormulaParameters(). Благодаря функции SetFormulaParameters(), затем можно повторно передавать как измененные, так и новые параметры, но только в виде списка. Это значит, что изменение и считывание отдельных параметров невозможно.
Следует также отметить, что «Значение», связанное с определенным типом (ValueTyp) и единицей измерения (Unit), должно быть всегда в заданных пределах (RangeOfValues), иначе появится сообщение об ошибке. Но если значение рассчитывается так, как показано в примере, тогда оно не имеет значения. В таком случае потом важно, чтобы в пределах, если они заданы, находилось значение, рассчитанное по заданной формуле (Formula).
Интерфейс COM позволяет создавать и считывать пользовательские спектра реакций в программе RFEM и RSTAB.
Однако, для этого нужно сначала посредством интерфейса модели RFEM (IModel)получить доступ к интерфейсу модуля (IDynamModule). Данный интерфейс затем используется для создания случая модуля (IModuleCase), потому что именно он включает в себя функцию GetRSParams, которую можно использовать для считывания параметров спектра реакций. Однако с помощью функции SetRSParams можно записывать и новые данные. Способ применения данных функций затем объясняется в следующем коде:
Dim iApp As RFEM5.ApplicationDim iMod As RFEM5.modelSet iApp = GetObject(, "RFEM5.Application")Dim rs_no As Integerrs_no = 1On Error GoTo e' Checks RS-COM license and locks the application for using by COM. iApp.LockLicenseSet iMod = iApp.GetActiveModel' get module interfaceDim iDyn As IDynamModuleSet iDyn = iMod.GetModule("DynamPro")' get module case interfaceDim iDynCase As IModuleCaseSet iDynCase = iDyn.GetData ' set response spectra parametersDim rspara As RSParamsrspara = iDynCase.GetRSParams(rs_no) Dim rs_spec(0 To 10) As RSTableRow Dim index As Integerindex = 0rs_spec(index).s = 0.6rs_spec(index).T = 0 index = 1rs_spec(index).s = 1.33rs_spec(index).T = 0.153 index = 2rs_spec(index).s = 1.33rs_spec(index).T = 0.4 index = 3rs_spec(index).s = 1.204rs_spec(index).T = 0.443 index = 4rs_spec(index).s = 1.07rs_spec(index).T = 0.5 index = 5rs_spec(index).s = 0.7rs_spec(index).T = 0.761 index = 6rs_spec(index).s = 0.508rs_spec(index).T = 1.051 index = 7rs_spec(index).s = 0.367rs_spec(index).T = 1.453 index = 8rs_spec(index).s = 0.267rs_spec(index).T = 1.995 index = 9rs_spec(index).s = 0.16rs_spec(index).T = 2.584 index = 10rs_spec(index).s = 0.16rs_spec(index).T = 5 rspara.UserDefinedTable = rs_specrspara.Comment = "test rs"rspara.DefinitionType = ResponseSpectraType.UserDefinedRSrspara.description = "test rs via COM"rspara.Number = rs_no iDynCase.SetRSParams rs_no, rspara e: If Err.Number <> 0 Then MsgBox Err.description, , Err.Source iMod.GetApplication.UnlockLicense Set iMod = Nothing Set iApp = Nothing
Данный спектр реакции был создан по норме EN 1998‑1:2010 и состоит из 11 точек, причем сначала было создано поле типа RSTableRow, состоящее из 11 элементов, которое затем заполнилось данными и было сохранено в записи UserDefinedTable. Обмен данными затем осуществлялся с помощью команды SetRSParams.