Инструменты пользователя

Инструменты сайта


Боковая панель

developers:tutorial:createmodel

Это старая версия документа.


Создание и сохранение модели

Каждая модель данных в комплексе Топоматик Робур располагается в рамках отдельного файла, включенного в состав проекта. Для подключения собственной модели к комплексу, необходимо выполнить следующие действия:

  • Создать класс редактора модели, наследник от ModelEditor, предназначенный для реализации загрузки, сохранения и открытия модели
  • Написать метод, который возвращает экземпляр наследника от ModelEditor и декорировать его атрибутом «cmd»
  • В классе, наследнике от PluginInitializator необходимо перекрыть метод Initialize и зарегестрировать модель, используя метод RegisterModelEditor класса PluginFactory
  • В файле *.plugin в секции cores описать вид модели в структуре проекта, а в секции coreitems включить модель в состав стандартного проекта.

Обычно поведение модели может быть реализовано одним из следующих способов:

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

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

  • DocumentModelEditor - предназначен для создания видового экрана модели в отдельном окне
  • PlanModelEditor - предназначен для моделей, отображающихся непосредственно на видовом экране окна плана

Для реализации сохранения и загрузки в программном комплексе Топоматик Робур используется сборка Topomatic.Stg.dll. За сохранение отвечает интерфейс IStgSerializable, который состоит из двух методов - LoadFromStg для загрузки и SaveToStg для сохранения.

developers/tutorial/createmodel.1550339475.txt.gz · Последние изменения: 2021/07/22 14:28 (внешнее изменение)