Как с помощью интерфейса COM изменить список параметров?
Ответ
Параметры модели можно легко изменить посредством интерфейса IModel (начиная с версии IModel3):
Sub test_parameter()
Dim iApp As RFEM5.ApplicationSet iApp = GetObject(, "RFEM5.Application")
iApp.LockLicense
Dim j As Integerj = iApp.GetModelCount
Dim iMod As RFEM5.IModel3Set iMod = iApp.GetActiveModel
On Error GoTo e
Dim 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 formParams
e:
If Err.Number <> 0 Then MsgBox Err.description, vbCritical, Err.SourceiMod.GetApplication.UnlockLicenseSet iMod = Nothing
End Sub
Однако прочитать все параметры можно только с помощью функции GetFormulaParameters(). Благодаря функции SetFormulaParameters(), затем можно повторно передавать как измененные, так и новые параметры, но только в виде списка. Это значит, что изменение и считывание отдельных параметров невозможно.
Следует также отметить, что «Значение», связанное с определенным типом (ValueTyp) и единицей измерения (Unit), должно быть всегда в заданных пределах (RangeOfValues), иначе появится сообщение об ошибке. Но если значение рассчитывается так, как показано в примере, тогда оно не имеет значения. В таком случае потом важно, чтобы в пределах, если они заданы, находилось значение, рассчитанное по заданной формуле (Formula).
Ключевые слова
Параметры Параметризация Список параметров FormulaParameter
Загрузки
Ссылки
- Просмотры 130x
- Обновления 26. февраля 2021
Контакты
Вы нашли ответ на свой вопрос? Если нет, свяжитесь с нами через бесплатную поддержку по электронной почте, в чате или на форуме или отправьте нам свой вопрос с помощью онлайн-формы.
Рекомендуемые события
Расчет железобетонных конструкций по норме CSA S16:19 в программе RFEM
Webinar 10. марта 2021 14:00 - 15:00 EST
Еврокод 5 | Деревянные конструкции по норме EN 1995-1-1
Онлайн-обучение 17. марта 2021 8:30 - 12:30 CET
Еврокод 3 | Стальные конструкции по норме DIN EN 1993-1-1
Онлайн-обучение 18. марта 2021 8:30 - 12:30 CET
Потеря устойчивости пластин и оболочки с помощью программного обеспечения Dlubal
Webinar 30. марта 2021 14:00 - 14:45
Еврокод 2 | Железобетонные конструкции по норме DIN EN 1992-1-1
Онлайн-обучение 11. мая 2021 8:30 - 12:30
Еврокод 5 | Деревянные конструкции по норме DIN EN 1995-1-1
Онлайн-обучение 20. мая 2021 8:30 - 12:30
RFEM | Динамика конструкций и расчет воздействия землетрясений по норме EC 8
Онлайн-обучение 2. июня 2021 8:30 - 12:30
Самые частые ошибки пользователей при работе с программой RFEM и RSTAB
Webinar 4. февраля 2021 14:00 - 15:00 CET
Расчет стальных конструкций на устойчивость в программе RFEM и RSTAB
Webinar 1. декабря 2020 14:00 - 14:45 CET
Анализ спектра реакции в программе RFEM по норме NBC 2015
Webinar 30. сентября 2020 14:00 - 15:00 EST
Документирование результатов в протоколе результатов программы RFEM
Webinar 25. августа 2020 14:00 - 14:45
Расчет железобетонных конструкций по норме ACI 318-19 в программе RFEM
Webinar 20. августа 2020 14:00 - 15:00 EST
Видео
КБ 000614 | Использование модифицированных жесткостей для динамических расчетов
Длительность 1:21 мин
КБ 000628 | Моделирование балок перекрытия в конструкциях из кросс-ламинированной древесины с реб...
Длительность 0:41 мин
Модели для скачивания
Статьи из Базы знаний

Новое
Использование опций II в Справочном помощнике
В разделе «Опции II» вкладки «Помощник» параметров программы можно задать предельные значения для предупреждающих сообщений, которые появляются после успешного расчета.
Снимки экрана
Статьи в Функциях продукта
Новое
Повышение производительности расчета за счет уменьшения узловых степеней свободы
Количество степеней свободы в узле больше не входит в общие параметры расчета программы RFEM (6 степеней свободы у каждого узла сетки в 3D моделях, 7 степеней свободы для расчета кручения с депланацией). Каждый узел так будет теперь рассматриваться с разным количеством степеней свободы, что естественно приведет к переменному количеству уравнений в расчете.
Благодаря тому значительно ускорится и весь расчет, особенно у моделей, в которых можно существенно уменьшить размеры системы (например, у ферменных и мембранных конструкций).
Часто задаваемые вопросы (FAQ)
- Где можно найти дополнительный модуль RF‑COM/RS‑COM?
- Я пытаюсь запустить COM примеры C#, но программа все время отображает сообщения об ошибках. Что мне с этим делать?
- Можно ли посредством интерфейса COM определить также нелинейные условия опирания?
- Каким образом можно открыть и снова закрыть программу RFEM/RSTAB в фоновом режиме через интерфейс COM?
- Кажется, что файлы *.dll и *.tlb, специфичные для COM, были не правильно обновлены и теперь вызывают проблемы. Что я могу с этим сделать?
Проекты заказчиков
Все семейства