Главная » Delphi, OLE, САПР » Стрелка направления взгляда – КОМПАС в DELPHI

0

Параметры стрелки направления взгляда (ksViewPointerParam)

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

str – строка с текстовым обозначением направления взгляда.

style – номер системного стиля текста. Допустимые номера системных стилей текстов приводились в главе 22. Здесь лишь напомню, что для обозначения стрелки направления взгляда предусмотрен системный стиль текста с номером 12.

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

x1 и y1 – координаты вершины стрелки направления взгляда.

x2 и y2 – координаты конечной точки стрелки направления взгляда.

xt и yt – координаты точки привязки текстового обозначения стрелки направления взгляда.

Все эти три точки продемонстрированы на рисунке ниже.

Точки (x1;y1) и (x2;y2) определяют ориентацию стрелки направления взгляда, но ее точный размер определяет сама система КОМПАС.

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

GetpTextline() – возвращает интерфейс массива ksDynamicArray, в котором должно быть определено текстовое обозначение стрелки направления взгляда. Это массив используется в том случае, если значение свойства type_ равно единице. Массив имеет тип TEXT_ITEM_ARR. Это

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

означает, что строки в массиве задаются в виде интерфейса ksTextItemParam. Мы не будем рассматривать работу с этим массивом.

SetpTextline - устанавливает новый массив ksDynamicArray. Этот массив принимается в качестве единственного параметра метода. В случае

успеха метод возвращает значение TRUE.

Init() – инициализирует значения свойств интерфейса. При этом значения всех свойств устанавливаются равными нулю. Значение свойства type_ устанавливается равным единице, и создается массив ksDynamicArray.

Построение стрелки направления взгляда

Для построения стрелки направления взгляда используется метод ksViewPointer интерфейса ksDocument2D. В качестве единственного параметра данный метод принимает интерфейс ksViewPointerParam.

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

Пример

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

Var

kompas: KompasObject; Document2D: ksDocument2D;

ViewPointerParam: ksViewPointerParam;

………………………………

Begin

………………………………

//Получаем интерфейс параметров стрелки направления взгляда

ViewPointerParam:=ksViewPointerParam(kompas.GetParamStruct(ko_ViewPointerParam)); ViewPointerParam.str:= ‘А';

ViewPointerParam.style := 12;

ViewPointerParam.type_ := 0;

//Точка вершины стрелки направления взгляда

ViewPointerParam.x1 := 100;

ViewPointerParam.y1 := 100;

//Конечная точка стрелки направления взгляда

ViewPointerParam.x2 := 120;

ViewPointerParam.y2 := 100;

//Точка привязки текстового обозначения

ViewPointerParam.xt := 110;

ViewPointerParam.yt := 105;

//Строим саму стрелку направления взгляда

Document2D.ksViewPointer(ViewPointerParam);

kompas.Visible:=true;

end;

На рисунке показана стрелка направления взгляда, построенная этой программой.

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

По теме:

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