Редактор векторной графики "КАСКАД"



ПАРАМЕТРИЧЕСКИЕ БЛОКИ

Для пользователя параметрические блоки по сравнению с обычными блоками просто имеют дополнительные свойства (на рисунке обведены красным цветом). Разработчик же параметрического блока должен обеспечить кодовую поддержку этих свойств. Дополнительные свойства и код задаются в диалоге "Определение параметрического блока".

Код пишется на языке 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.
ФОРМАТ РЕЗУЛЬТАТ
Пустая строка 1234
".00" 1234.57
".0" 1234.6
"0" 1230
"00" 1200

Вернуться назад