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

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


developers:tutorial:smdx:customimelements

Различия

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

Ссылка на это сравнение

Следующая версия
Предыдущая версия
developers:tutorial:smdx:customimelements [2022/12/06 10:21]
proxor создано
developers:tutorial:smdx:customimelements [2022/12/07 10:22] (текущий)
proxor
Строка 21: Строка 21:
   * **units** – единицы измерения для типов int или float   * **units** – единицы измерения для типов int или float
   * **values** – перечисление вариантов для типа enum. Варианты описываются парой идентификатор/​значение   * **values** – перечисление вариантов для типа enum. Варианты описываются парой идентификатор/​значение
-Пользовательская библиотека элементов информационной модели+ 
 +==== Пользовательская библиотека элементов информационной модели ​==== 
 Создадим библиотеку элементов ИМ, которая будет содержать в себе следующие элементы:​ Создадим библиотеку элементов ИМ, которая будет содержать в себе следующие элементы:​
   * **SmdxCustomElement** – пользовательский элемент,​ наследник от базового класса **SmdxElement**. В нём определено свойство **caption** и задано его значение.   * **SmdxCustomElement** – пользовательский элемент,​ наследник от базового класса **SmdxElement**. В нём определено свойство **caption** и задано его значение.
Строка 28: Строка 30:
   * **SmdxCustomCubeElement** – элемент кубической формы, наследник от **SmdxCustomVolumeElement**. В нём переопределено значение свойств **caption** и **shape**. Значения этих свойств установлены фиксированными,​ чтобы их нельзя было изменить через инспектор свойств. Также добавлено свойство **width** типа **double** и единицей изменения **m** (метр).   * **SmdxCustomCubeElement** – элемент кубической формы, наследник от **SmdxCustomVolumeElement**. В нём переопределено значение свойств **caption** и **shape**. Значения этих свойств установлены фиксированными,​ чтобы их нельзя было изменить через инспектор свойств. Также добавлено свойство **width** типа **double** и единицей изменения **m** (метр).
   * Элементы **SmdxCustomCylinder_0,​5**,​ **SmdxCustomCylinder_1,​0**,​ **SmdxCustomCube_0,​5**,​ **SmdxCustomCube_1,​0** – конкретные реализации цилиндрических и кубических элементов с соответствующими значениями свойств диаметра и ширины соответственно.   * Элементы **SmdxCustomCylinder_0,​5**,​ **SmdxCustomCylinder_1,​0**,​ **SmdxCustomCube_0,​5**,​ **SmdxCustomCube_1,​0** – конкретные реализации цилиндрических и кубических элементов с соответствующими значениями свойств диаметра и ширины соответственно.
 +
 +График наследования для **SmdxCustomCylinder_0,​5** будет выглядеть так:
 +
 +  * SmdxCustomCylinder_0,​5
 +    * SmdxCustomCylinderElement
 +      * SmdxCustomVolumeElement
 +        * SmdxCustomElement
 +          * SmdxElement
 +
  
 Создайте текстовый файл **customtypes.smdx** и поместите его в директорию\\ «**C:​\ProgramData\Topomatic\Robur <​TYPE>​\16.0\Support\Smdx\**». Заполните файл следующим образом:​ Создайте текстовый файл **customtypes.smdx** и поместите его в директорию\\ «**C:​\ProgramData\Topomatic\Robur <​TYPE>​\16.0\Support\Smdx\**». Заполните файл следующим образом:​
Строка 175: Строка 186:
 </​file>​ </​file>​
  
 +Откроем менеджер структуры Smdx и убедимся,​ что описанные выше типы появились в библиотеке.
 +{{ :​developers:​tutorial:​smdx:​tut_smdx_lib_1.png?​nolink |}}
 +{{ :​developers:​tutorial:​smdx:​tut_smdx_lib_2.png?​nolink |}}
developers/tutorial/smdx/customimelements.1670322068.txt.gz · Последние изменения: 2022/12/06 10:21 — proxor