Главная » Delphi, OLE, САПР » Обозначение базы – КОМПАС в DELPHI

0

Параметры обозначения базы (ksBaseParam)

Интерфейс ksBaseParam служит для задания параметров обозначения базы. Получить этот интерфейс можно с помощью метода GetParamStruct интерфейса KompasObject. Для этого в качестве единственного параметра данному методу нужно передать значение константы ko_BaseParam. Рассмотрим свойства интерфейса ksBaseParam.

str   –   строка   с   текстом   в   обозначении   базы.   Данное   свойство

используется, только если значение свойства type_ (о нем чуть ниже) интерфейса ksBaseParam равно FALSE, в противном случае оно игнорируется.

style – номер системного стиля текста. Допустимые номера системных стилей текста описывались в главе 22. К сожалению, среди них не предусмотрено отдельного системного стиля для текста в обозначении базы. Поэтому мы будем использовать номер системного стиля равный нулю. Это значение говорит системе КОМПАС о том, что для данного объекта нужно использовать системный стиль по умолчанию, предусмотренный для этого объекта.

type_1 - определяет способ задания текста в обозначении базы. Если значение этого свойства равно FALSE то текст задается в виде обычной строки,  указываемой  в  значении  свойства  str.  Если  же  значение  этого

свойства равно TRUE, то текст задается в виде динамического массива ksDynamicArray, а значение свойства str игнорируется.

x1и y1 – координаты базовой точки (начало «опоры»)

x2 и y2 - координаты конечной точки «опоры».

Точки, задаваемые координатами x1, y1, x2 и y2, показаны на рисунке

ниже.

Теперь рассмотрим методы интерфейса ksBaseParam.

GetPTextItem() – возвращает интерфейс динамического массива ksDynamicArray2. Данный массив используется только в том случае  если значение свойства type_ равно TRUE.

1      В докмуентации КОМПАС это свойство описывается как type (без знака подчеркивания), однако в заголовочных файлах оно задано как type_ (со знаком подчеркивания на конце).

2      Рассматривался в главе 22.

Массив имеет тип TEXT_ITEM_ARR. Это значит, что строки в нем задаются в виде интерфейса ksTextItemParam1.

Init()   –   инициализирует   нулями   значения   свойств   интерфейса ksBaseParam. В случае успеха возвращает значение TRUE.

SetPTextItem – устанавливает интерфейс динамического массива ksDynamicArray. В качестве единственного параметра принимает значение устанавливаемого интерфейса. В случае успеха возвращает значение TRUE.

Построение обозначения базы

Для построения обозначения базы используется метод ksBase интерфейса ksDocument2D. В качестве единственного параметра данный метод принимает интерфейс параметров обозначения базы ksBaseParam. В случае успеха он возвращает идентификатор построенного обозначения базы. А в случае ошибки – значение нуль.

Пример

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

var

kompas: KompasObject; Document2D: ksDocument2D; BaseParam : ksBaseParam;

………………………

Begin

………………………

//Получаем интерфейс параметров обозначения базы BaseParam:=ksBaseParam(kompas.GetParamStruct(ko_BaseParam)); BaseParam.str := ‘A'; //Текст в обозначении базы BaseParam.style := 0; //Стиль текста по умолчанию BaseParam.type_ := FALSE; //Динамический массив не используем BaseParam.x1 := 100; //Координаты базовой точки

BaseParam.y1 := 100;

BaseParam.x2 := 100; //Координаты конечной точки "опоры"

BaseParam.y2 := 110;

//Строим само обозначение базы

Document2D.ksBase(BaseParam); kompas.Visible:=true;

end;

На рисунке ниже показан результат работы этой программы.

1 В данной книге не рассматривается

Источник: Норсеев Сергей, «РАЗРАБОТКА ПРИЛОЖЕНИЙ ПОД КОМПАС В DELPHI»

По теме:

  • Комментарии