Главная » Delphi, OLE, САПР » Осевая линия – КОМПАС в DELPHI

0

Параметры математической точки (ksMathPointParam)

Интерфейс ksMathPointParam используется для задания параметров некоей математической точки. От обычной точки она отличается тем, что не показывается на чертежах.

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

Рассмотрим интерфейс ksMathPointParam более подробно.

Свойств у данного интерфейса всего два: x и y. Как не трудно догадаться, они задают координаты точки, которую описывает данный интерфейс.

Метод у интерфейса ksMathPointParam всего один Init(). Он обнуляет свойства данного интерфейса и в случае успеха возвращает значение true.

Пожалуй, это один из самых простых интерфейсов из всех, что мы рассматривали.

Параметры осевой линии (ksAxisLineParam)

Интерфейс ksAxisLineParam служит для задания параметров осевой линии. Получить данный интерфейс можно с помощью метода GetParamStruct интерфейса KompasObject, для этого в качестве единственного параметра ему нужно передать константу ko_AxisLineParam. Свойств у интерфейса ksAxisLineParam нет. Поэтому сразу переходим к рассмотрению его методов. Их всего три.

Init() – инициализирует интерфейс ksAxisLineParam. В случае успеха возвращает значение true, а в случае ошибки – false.

GetBegPoint() – возвращает интерфейс  ksMathPointParam, описывающий первую точку осевой линии.

GetEndPoint() – возвращает интерфейс ksMathPointParam, описывающий вторую точку осевой линии.

Построение осевой линии

Для построения осевой линии используется метод ksAxisLineParam интерфейса ksDocumen2D. В качестве единственного параметра данный метод принимает интерфейс ksAxisLineParam, описывающий параметры осевой линии, которую нужно построить.

В случае успеха данный метод возвращает числовой идентификатор

построенной осевой линии. А в случае ошибки – нуль.


Пример

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

var

kompas: KompasObject; Document2D: ksDocument2D;

RectangleParam: ksRectangleParam; AxisLineParam: ksAxisLineParam; BegPoint, EndPoint: ksMathPointParam;

………………………

Begin

………………………

//Строим прямоугольник

RectangleParam:=ksRectangleParam(kompas.GetParamStruct(ko_RectangleParam));

RectangleParam.x:=100; RectangleParam.y:=70; RectangleParam.ang:=0; RectangleParam.height:=60; RectangleParam.width:=100; RectangleParam.style:=1; Document2D.ksRectangle(RectangleParam, 0);

//Получаем интерфейс параметров осевой линии

AxisLineParam := ksAxisLineParam(kompas.GetParamStruct(ko_AxisLineParam));

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

BegPoint:=ksMathPointParam(AxisLineParam.GetBegPoint());

//Координаты первой точки осевой линии

BegPoint.x:=100; BegPoint.y:=100;

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

EndPoint:=ksMathPointParam(AxisLineParam.GetEndPoint());

//Координаты второй точки осевой линии

EndPoint.x:=200; EndPoint.y:=100;

//Строим осевую линию

Document2D.ksAxisLine(AxisLineParam); kompas.Visible:=true;

end;

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

1 Построение прямоугольника подробно описывается в главе 10.

Обратите внимание, что в качестве концевых точек осевой линии мы указываем точки, принадлежащие прямоугольнику. Величину «выступов», то есть то, насколько осевая линия длиннее прямоугольника система КОМПАС определяет сама.

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

По теме:

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