|
||
ПАРАМЕТРИЧЕСКИЕ БЛОКИ
Для пользователя параметрические блоки по сравнению с обычными блоками просто имеют дополнительные свойства (на рисунке обведены красным цветом). Разработчик же параметрического блока должен обеспечить кодовую поддержку этих свойств. Дополнительные свойства и код задаются в диалоге "Определение параметрического блока".

Код пишется на языке C#. Код может находиться в существующей сборке, находящейся в одном каталоге с редактором, либо во временной сборке, создаваемой каждый раз во время открытия чертежа. Необходимость компиляции временного кода замедляет время открытия файла.
Свойства могут быть следующих типов:

Код поддержки должен реализовывать интерфейс IParameterizator,
состоящий из метода
void
Execute(ParameterizedBlock block,
Draft draft), где
block - ссылка на экземпляр блока,
draft - чертеж, в котором размещен этот экземпляр.
Таким образом, параметрический блок имеет всю необходимую информацию для своего функционирования.
Чтобы получить значения установленных пользователем свойств, нужно обратиться к свойству блока Properties, в котором перечисляются свойства в порядке их объявления:
bool
(
PropertyBool
)block.Properties[XX].Value;
string
(
PropertyString
)block.Properties[XX].Value;
float
(
PropertySingle
)block.Properties[XX].Value;
int
(
PropertyInt32
)block.Properties[XX].Value;
PointF
(
PropertyPoint
)block.Properties[XX].Value;
Color
(
PropertyColor
)block.Properties[XX].Value;
Font
(
PropertyFont
)block.Properties[XX].Value;
string
(
PropertyFormat
)block.Properties[XX].Value;
ContentAlignment
(
PropertyAlignment
)block.Properties[XX].Value;
string
(
PropertyEnum
)block.Properties[XX].Value;
DateTime
(
PropertyDateTime
)block.Properties[XX].Value;
XX - индекс свойства в перечне дополнительных свойств
Каждый экземпляр обычного блока рисуется по одному шаблону. Каждый экземпляр параметрического блока может иметь уникальный внешний вид. В момент вставки в чертеж параметрический блок принимает вид в соответствии с установками по умолчанию, в дальнейшем его вид определяется установками пользователя.
Для программирования логики параметрических блоков желательно знать объектную модель библиотеки ksCAD.
| Строка форматирования. Предположим, что форматируемое число равно 1234.5678. |
|