Пользовательские расширения (плагины)

Плагин (пользовательское расширение) в SCAD++ это разработанное пользователем приложение, запускаемое через созданную пользователем кнопку с привязанным к ней программным кодом.

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

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

Даты проведения специального курса по плагинам в 2023 г:

  • 3-6 апреля;
  • 23-26 октября.

Возможности пользовательских плагинов в SCAD++.

В качестве механизма взаимодействия между SCAD++ и пользовательским расширением (плагином) используется реализация JScript в рамках сервера сценариев Windows Script.

Разработку плагинов можно вести при помощи тех средств, которые лучше известны разработчику плагина и/или лучше подходят для решения конкретной задачи.

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

Для разработки на C# опубликованы библиотека и шаблон проекта VS. Видеозапись вебинара «Разработка плагинов в SCAD++ на языке программирования C#» доступна по ссылке.

Для разработки на IronPython опубликована библиотека «SCAD++ IronPython Plugins». Видеозапись вебинара «Разработка плагинов в SCAD++ на языке программирования IronPyton» доступна по ссылке.

Возможности плагинов:

  • создание объектов модели (узлы, элементы, жесткости и т.д);
  • получение и обработка результатов расчета;
  • модификация модели;
  • создание отчетов;
  • передача свойств расчетной модели и результатов расчета в другие программы;
  • получение информации из моделей других программ и передачу их в расчетную модель SCAD++.

Благодаря возможностям взаимодействия JScript c компонентами ActiveX, разработчик непосредственно из кода плагина может (в т.ч. и на JScript) использовать некоторые возможности Microsoft Office (например вывод данных в Word и Excel) и взаимодействовать с файловой системой (например создавать и запускать файлы, выполнять чтение текстового файла и запись в текстовый файл).

Перечень свободно распространяемых готовых плагинов, примеров, заготовок и библиотек, доступных через страницу внутреннего сайта по ссылке (требуется регистрация):

  • C55 – моделирование упругого основания при расчетах на сейсмику или прогрессирующее обрушение прямым динамическим методом;
  • CrComb – задание или редактирования комбинаций в табличном виде, в т.ч. вставка комбинаций через буфер обмена из других таблиц;
  • CriticalEvents – предназначен для создания групп элементов, обозначающих критические события из протокола нелинейного расчета с целью возможности их графического отображения на расчетной модели;
  • EditorExampleNet – пример плагина, поставляемого со SCAD, переписанного на C# (для разработки на C# опубликованы библиотека и шаблон проекта VS);
  • Exampl1_Editor – простой пример по использованию объекта Editor;
  • Exampl2_View – простой пример по использованию объекта View;
  • ExtN – вывод в текстовый файл максимальных и минимальных значений N по РСУ и отдельно по комбинациям для стержневых элементов, входящих в группы конструктивных стальных элементов (в основном для башен);
  • FrameVH – создание, редактирование и расчет элементов из сварных двутавров с переменной высотой стенки;
  • GrasshopperScad – плагины для Grasshopper и SCAD++ позволяющие передавать модель из Grasshopper в SCAD;
  • Nmin – создание комбинаций из РСУ для расчета на устойчивость стержневых систем;
  • OpenPluginsFolder – открывает папки с расположением плагинов;
  • PrCollapse – создание особых комбинаций из РСУ для расчета на устойчивость против прогрессирующего обрушения статическим методом;
  • SteelGroup – создание стальных групп конструктивных элементов из жесткостей;
  • Заготовки – содержит заготовки в виде функций с необходимыми комментариями, которые могут быть использованы в разрабатываемых плагинах. Описание по ссылке;
  • Примеры на JScript – примеры простых программ на JScript (не в виде плагинов);
  • SCAD++ IronPython Plugins – библиотека для разработки на IronPython.